1 // Copyright 2015-2021 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_RAII_HPP 9 #define VULKAN_RAII_HPP 10 11 #include <vulkan/vulkan.hpp> 12 13 #if !defined( VULKAN_HPP_RAII_NAMESPACE ) 14 # define VULKAN_HPP_RAII_NAMESPACE raii 15 #endif 16 17 namespace VULKAN_HPP_NAMESPACE 18 { 19 namespace VULKAN_HPP_RAII_NAMESPACE 20 { 21 #if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) && !defined( VULKAN_HPP_NO_EXCEPTIONS ) 22 23 template <class T, class U = T> exchange(T & obj,U && newValue)24 VULKAN_HPP_CONSTEXPR_14 VULKAN_HPP_INLINE T exchange( T & obj, U && newValue ) 25 { 26 # if ( 14 <= VULKAN_HPP_CPP_VERSION ) 27 return std::exchange<T>( obj, std::forward<U>( newValue ) ); 28 # else 29 T oldValue = std::move( obj ); 30 obj = std::forward<U>( newValue ); 31 return oldValue; 32 # endif 33 } 34 35 class ContextDispatcher 36 { 37 public: ContextDispatcher(PFN_vkGetInstanceProcAddr getProcAddr)38 ContextDispatcher( PFN_vkGetInstanceProcAddr getProcAddr ) 39 : vkGetInstanceProcAddr( getProcAddr ) 40 , vkCreateInstance( PFN_vkCreateInstance( getProcAddr( NULL, "vkCreateInstance" ) ) ) 41 , vkEnumerateInstanceExtensionProperties( PFN_vkEnumerateInstanceExtensionProperties( 42 getProcAddr( NULL, "vkEnumerateInstanceExtensionProperties" ) ) ) 43 , vkEnumerateInstanceLayerProperties( 44 PFN_vkEnumerateInstanceLayerProperties( getProcAddr( NULL, "vkEnumerateInstanceLayerProperties" ) ) ) 45 , vkEnumerateInstanceVersion( 46 PFN_vkEnumerateInstanceVersion( getProcAddr( NULL, "vkEnumerateInstanceVersion" ) ) ) 47 {} 48 49 public: 50 PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr = 0; 51 PFN_vkCreateInstance vkCreateInstance = 0; 52 PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties = 0; 53 PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties = 0; 54 PFN_vkEnumerateInstanceVersion vkEnumerateInstanceVersion = 0; 55 }; 56 57 class InstanceDispatcher 58 { 59 public: InstanceDispatcher(PFN_vkGetInstanceProcAddr getProcAddr)60 InstanceDispatcher( PFN_vkGetInstanceProcAddr getProcAddr ) : vkGetInstanceProcAddr( getProcAddr ) {} 61 62 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 63 InstanceDispatcher() = default; 64 # endif 65 init(VkInstance instance)66 void init( VkInstance instance ) 67 { 68 vkAcquireDrmDisplayEXT = 69 PFN_vkAcquireDrmDisplayEXT( vkGetInstanceProcAddr( instance, "vkAcquireDrmDisplayEXT" ) ); 70 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 71 vkAcquireWinrtDisplayNV = 72 PFN_vkAcquireWinrtDisplayNV( vkGetInstanceProcAddr( instance, "vkAcquireWinrtDisplayNV" ) ); 73 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 74 # if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT ) 75 vkAcquireXlibDisplayEXT = 76 PFN_vkAcquireXlibDisplayEXT( vkGetInstanceProcAddr( instance, "vkAcquireXlibDisplayEXT" ) ); 77 # endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/ 78 # if defined( VK_USE_PLATFORM_ANDROID_KHR ) 79 vkCreateAndroidSurfaceKHR = 80 PFN_vkCreateAndroidSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateAndroidSurfaceKHR" ) ); 81 # endif /*VK_USE_PLATFORM_ANDROID_KHR*/ 82 vkCreateDebugReportCallbackEXT = 83 PFN_vkCreateDebugReportCallbackEXT( vkGetInstanceProcAddr( instance, "vkCreateDebugReportCallbackEXT" ) ); 84 vkCreateDebugUtilsMessengerEXT = 85 PFN_vkCreateDebugUtilsMessengerEXT( vkGetInstanceProcAddr( instance, "vkCreateDebugUtilsMessengerEXT" ) ); 86 vkCreateDevice = PFN_vkCreateDevice( vkGetInstanceProcAddr( instance, "vkCreateDevice" ) ); 87 # if defined( VK_USE_PLATFORM_DIRECTFB_EXT ) 88 vkCreateDirectFBSurfaceEXT = 89 PFN_vkCreateDirectFBSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateDirectFBSurfaceEXT" ) ); 90 # endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/ 91 vkCreateDisplayModeKHR = 92 PFN_vkCreateDisplayModeKHR( vkGetInstanceProcAddr( instance, "vkCreateDisplayModeKHR" ) ); 93 vkCreateDisplayPlaneSurfaceKHR = 94 PFN_vkCreateDisplayPlaneSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateDisplayPlaneSurfaceKHR" ) ); 95 vkCreateHeadlessSurfaceEXT = 96 PFN_vkCreateHeadlessSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateHeadlessSurfaceEXT" ) ); 97 # if defined( VK_USE_PLATFORM_IOS_MVK ) 98 vkCreateIOSSurfaceMVK = PFN_vkCreateIOSSurfaceMVK( vkGetInstanceProcAddr( instance, "vkCreateIOSSurfaceMVK" ) ); 99 # endif /*VK_USE_PLATFORM_IOS_MVK*/ 100 # if defined( VK_USE_PLATFORM_FUCHSIA ) 101 vkCreateImagePipeSurfaceFUCHSIA = 102 PFN_vkCreateImagePipeSurfaceFUCHSIA( vkGetInstanceProcAddr( instance, "vkCreateImagePipeSurfaceFUCHSIA" ) ); 103 # endif /*VK_USE_PLATFORM_FUCHSIA*/ 104 # if defined( VK_USE_PLATFORM_MACOS_MVK ) 105 vkCreateMacOSSurfaceMVK = 106 PFN_vkCreateMacOSSurfaceMVK( vkGetInstanceProcAddr( instance, "vkCreateMacOSSurfaceMVK" ) ); 107 # endif /*VK_USE_PLATFORM_MACOS_MVK*/ 108 # if defined( VK_USE_PLATFORM_METAL_EXT ) 109 vkCreateMetalSurfaceEXT = 110 PFN_vkCreateMetalSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateMetalSurfaceEXT" ) ); 111 # endif /*VK_USE_PLATFORM_METAL_EXT*/ 112 # if defined( VK_USE_PLATFORM_SCREEN_QNX ) 113 vkCreateScreenSurfaceQNX = 114 PFN_vkCreateScreenSurfaceQNX( vkGetInstanceProcAddr( instance, "vkCreateScreenSurfaceQNX" ) ); 115 # endif /*VK_USE_PLATFORM_SCREEN_QNX*/ 116 # if defined( VK_USE_PLATFORM_GGP ) 117 vkCreateStreamDescriptorSurfaceGGP = PFN_vkCreateStreamDescriptorSurfaceGGP( 118 vkGetInstanceProcAddr( instance, "vkCreateStreamDescriptorSurfaceGGP" ) ); 119 # endif /*VK_USE_PLATFORM_GGP*/ 120 # if defined( VK_USE_PLATFORM_VI_NN ) 121 vkCreateViSurfaceNN = PFN_vkCreateViSurfaceNN( vkGetInstanceProcAddr( instance, "vkCreateViSurfaceNN" ) ); 122 # endif /*VK_USE_PLATFORM_VI_NN*/ 123 # if defined( VK_USE_PLATFORM_WAYLAND_KHR ) 124 vkCreateWaylandSurfaceKHR = 125 PFN_vkCreateWaylandSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateWaylandSurfaceKHR" ) ); 126 # endif /*VK_USE_PLATFORM_WAYLAND_KHR*/ 127 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 128 vkCreateWin32SurfaceKHR = 129 PFN_vkCreateWin32SurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateWin32SurfaceKHR" ) ); 130 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 131 # if defined( VK_USE_PLATFORM_XCB_KHR ) 132 vkCreateXcbSurfaceKHR = PFN_vkCreateXcbSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateXcbSurfaceKHR" ) ); 133 # endif /*VK_USE_PLATFORM_XCB_KHR*/ 134 # if defined( VK_USE_PLATFORM_XLIB_KHR ) 135 vkCreateXlibSurfaceKHR = 136 PFN_vkCreateXlibSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateXlibSurfaceKHR" ) ); 137 # endif /*VK_USE_PLATFORM_XLIB_KHR*/ 138 vkDebugReportMessageEXT = 139 PFN_vkDebugReportMessageEXT( vkGetInstanceProcAddr( instance, "vkDebugReportMessageEXT" ) ); 140 vkDestroyDebugReportCallbackEXT = 141 PFN_vkDestroyDebugReportCallbackEXT( vkGetInstanceProcAddr( instance, "vkDestroyDebugReportCallbackEXT" ) ); 142 vkDestroyDebugUtilsMessengerEXT = 143 PFN_vkDestroyDebugUtilsMessengerEXT( vkGetInstanceProcAddr( instance, "vkDestroyDebugUtilsMessengerEXT" ) ); 144 vkDestroyInstance = PFN_vkDestroyInstance( vkGetInstanceProcAddr( instance, "vkDestroyInstance" ) ); 145 vkDestroySurfaceKHR = PFN_vkDestroySurfaceKHR( vkGetInstanceProcAddr( instance, "vkDestroySurfaceKHR" ) ); 146 vkEnumerateDeviceExtensionProperties = PFN_vkEnumerateDeviceExtensionProperties( 147 vkGetInstanceProcAddr( instance, "vkEnumerateDeviceExtensionProperties" ) ); 148 vkEnumerateDeviceLayerProperties = 149 PFN_vkEnumerateDeviceLayerProperties( vkGetInstanceProcAddr( instance, "vkEnumerateDeviceLayerProperties" ) ); 150 vkEnumeratePhysicalDeviceGroups = 151 PFN_vkEnumeratePhysicalDeviceGroups( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceGroups" ) ); 152 vkEnumeratePhysicalDeviceGroupsKHR = PFN_vkEnumeratePhysicalDeviceGroupsKHR( 153 vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceGroupsKHR" ) ); 154 if ( !vkEnumeratePhysicalDeviceGroups ) 155 vkEnumeratePhysicalDeviceGroups = vkEnumeratePhysicalDeviceGroupsKHR; 156 vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = 157 PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( 158 vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR" ) ); 159 vkEnumeratePhysicalDevices = 160 PFN_vkEnumeratePhysicalDevices( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDevices" ) ); 161 vkGetDisplayModeProperties2KHR = 162 PFN_vkGetDisplayModeProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetDisplayModeProperties2KHR" ) ); 163 vkGetDisplayModePropertiesKHR = 164 PFN_vkGetDisplayModePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayModePropertiesKHR" ) ); 165 vkGetDisplayPlaneCapabilities2KHR = PFN_vkGetDisplayPlaneCapabilities2KHR( 166 vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneCapabilities2KHR" ) ); 167 vkGetDisplayPlaneCapabilitiesKHR = 168 PFN_vkGetDisplayPlaneCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneCapabilitiesKHR" ) ); 169 vkGetDisplayPlaneSupportedDisplaysKHR = PFN_vkGetDisplayPlaneSupportedDisplaysKHR( 170 vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneSupportedDisplaysKHR" ) ); 171 vkGetDrmDisplayEXT = PFN_vkGetDrmDisplayEXT( vkGetInstanceProcAddr( instance, "vkGetDrmDisplayEXT" ) ); 172 vkGetInstanceProcAddr = PFN_vkGetInstanceProcAddr( vkGetInstanceProcAddr( instance, "vkGetInstanceProcAddr" ) ); 173 vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( 174 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT" ) ); 175 vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( 176 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV" ) ); 177 # if defined( VK_USE_PLATFORM_DIRECTFB_EXT ) 178 vkGetPhysicalDeviceDirectFBPresentationSupportEXT = PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT( 179 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDirectFBPresentationSupportEXT" ) ); 180 # endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/ 181 vkGetPhysicalDeviceDisplayPlaneProperties2KHR = PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR( 182 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR" ) ); 183 vkGetPhysicalDeviceDisplayPlanePropertiesKHR = PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR( 184 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR" ) ); 185 vkGetPhysicalDeviceDisplayProperties2KHR = PFN_vkGetPhysicalDeviceDisplayProperties2KHR( 186 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayProperties2KHR" ) ); 187 vkGetPhysicalDeviceDisplayPropertiesKHR = PFN_vkGetPhysicalDeviceDisplayPropertiesKHR( 188 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPropertiesKHR" ) ); 189 vkGetPhysicalDeviceExternalBufferProperties = PFN_vkGetPhysicalDeviceExternalBufferProperties( 190 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalBufferProperties" ) ); 191 vkGetPhysicalDeviceExternalBufferPropertiesKHR = PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR( 192 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalBufferPropertiesKHR" ) ); 193 if ( !vkGetPhysicalDeviceExternalBufferProperties ) 194 vkGetPhysicalDeviceExternalBufferProperties = vkGetPhysicalDeviceExternalBufferPropertiesKHR; 195 vkGetPhysicalDeviceExternalFenceProperties = PFN_vkGetPhysicalDeviceExternalFenceProperties( 196 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalFenceProperties" ) ); 197 vkGetPhysicalDeviceExternalFencePropertiesKHR = PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR( 198 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalFencePropertiesKHR" ) ); 199 if ( !vkGetPhysicalDeviceExternalFenceProperties ) 200 vkGetPhysicalDeviceExternalFenceProperties = vkGetPhysicalDeviceExternalFencePropertiesKHR; 201 vkGetPhysicalDeviceExternalImageFormatPropertiesNV = PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV( 202 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV" ) ); 203 vkGetPhysicalDeviceExternalSemaphoreProperties = PFN_vkGetPhysicalDeviceExternalSemaphoreProperties( 204 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalSemaphoreProperties" ) ); 205 vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( 206 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR" ) ); 207 if ( !vkGetPhysicalDeviceExternalSemaphoreProperties ) 208 vkGetPhysicalDeviceExternalSemaphoreProperties = vkGetPhysicalDeviceExternalSemaphorePropertiesKHR; 209 vkGetPhysicalDeviceFeatures = 210 PFN_vkGetPhysicalDeviceFeatures( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures" ) ); 211 vkGetPhysicalDeviceFeatures2 = 212 PFN_vkGetPhysicalDeviceFeatures2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures2" ) ); 213 vkGetPhysicalDeviceFeatures2KHR = 214 PFN_vkGetPhysicalDeviceFeatures2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures2KHR" ) ); 215 if ( !vkGetPhysicalDeviceFeatures2 ) 216 vkGetPhysicalDeviceFeatures2 = vkGetPhysicalDeviceFeatures2KHR; 217 vkGetPhysicalDeviceFormatProperties = PFN_vkGetPhysicalDeviceFormatProperties( 218 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties" ) ); 219 vkGetPhysicalDeviceFormatProperties2 = PFN_vkGetPhysicalDeviceFormatProperties2( 220 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties2" ) ); 221 vkGetPhysicalDeviceFormatProperties2KHR = PFN_vkGetPhysicalDeviceFormatProperties2KHR( 222 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties2KHR" ) ); 223 if ( !vkGetPhysicalDeviceFormatProperties2 ) 224 vkGetPhysicalDeviceFormatProperties2 = vkGetPhysicalDeviceFormatProperties2KHR; 225 vkGetPhysicalDeviceFragmentShadingRatesKHR = PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR( 226 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFragmentShadingRatesKHR" ) ); 227 vkGetPhysicalDeviceImageFormatProperties = PFN_vkGetPhysicalDeviceImageFormatProperties( 228 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties" ) ); 229 vkGetPhysicalDeviceImageFormatProperties2 = PFN_vkGetPhysicalDeviceImageFormatProperties2( 230 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties2" ) ); 231 vkGetPhysicalDeviceImageFormatProperties2KHR = PFN_vkGetPhysicalDeviceImageFormatProperties2KHR( 232 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties2KHR" ) ); 233 if ( !vkGetPhysicalDeviceImageFormatProperties2 ) 234 vkGetPhysicalDeviceImageFormatProperties2 = vkGetPhysicalDeviceImageFormatProperties2KHR; 235 vkGetPhysicalDeviceMemoryProperties = PFN_vkGetPhysicalDeviceMemoryProperties( 236 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties" ) ); 237 vkGetPhysicalDeviceMemoryProperties2 = PFN_vkGetPhysicalDeviceMemoryProperties2( 238 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties2" ) ); 239 vkGetPhysicalDeviceMemoryProperties2KHR = PFN_vkGetPhysicalDeviceMemoryProperties2KHR( 240 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties2KHR" ) ); 241 if ( !vkGetPhysicalDeviceMemoryProperties2 ) 242 vkGetPhysicalDeviceMemoryProperties2 = vkGetPhysicalDeviceMemoryProperties2KHR; 243 vkGetPhysicalDeviceMultisamplePropertiesEXT = PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT( 244 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMultisamplePropertiesEXT" ) ); 245 vkGetPhysicalDevicePresentRectanglesKHR = PFN_vkGetPhysicalDevicePresentRectanglesKHR( 246 vkGetInstanceProcAddr( instance, "vkGetPhysicalDevicePresentRectanglesKHR" ) ); 247 vkGetPhysicalDeviceProperties = 248 PFN_vkGetPhysicalDeviceProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties" ) ); 249 vkGetPhysicalDeviceProperties2 = 250 PFN_vkGetPhysicalDeviceProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties2" ) ); 251 vkGetPhysicalDeviceProperties2KHR = PFN_vkGetPhysicalDeviceProperties2KHR( 252 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties2KHR" ) ); 253 if ( !vkGetPhysicalDeviceProperties2 ) 254 vkGetPhysicalDeviceProperties2 = vkGetPhysicalDeviceProperties2KHR; 255 vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = 256 PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( 257 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR" ) ); 258 vkGetPhysicalDeviceQueueFamilyProperties = PFN_vkGetPhysicalDeviceQueueFamilyProperties( 259 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties" ) ); 260 vkGetPhysicalDeviceQueueFamilyProperties2 = PFN_vkGetPhysicalDeviceQueueFamilyProperties2( 261 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties2" ) ); 262 vkGetPhysicalDeviceQueueFamilyProperties2KHR = PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR( 263 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties2KHR" ) ); 264 if ( !vkGetPhysicalDeviceQueueFamilyProperties2 ) 265 vkGetPhysicalDeviceQueueFamilyProperties2 = vkGetPhysicalDeviceQueueFamilyProperties2KHR; 266 # if defined( VK_USE_PLATFORM_SCREEN_QNX ) 267 vkGetPhysicalDeviceScreenPresentationSupportQNX = PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX( 268 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceScreenPresentationSupportQNX" ) ); 269 # endif /*VK_USE_PLATFORM_SCREEN_QNX*/ 270 vkGetPhysicalDeviceSparseImageFormatProperties = PFN_vkGetPhysicalDeviceSparseImageFormatProperties( 271 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties" ) ); 272 vkGetPhysicalDeviceSparseImageFormatProperties2 = PFN_vkGetPhysicalDeviceSparseImageFormatProperties2( 273 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties2" ) ); 274 vkGetPhysicalDeviceSparseImageFormatProperties2KHR = PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR( 275 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR" ) ); 276 if ( !vkGetPhysicalDeviceSparseImageFormatProperties2 ) 277 vkGetPhysicalDeviceSparseImageFormatProperties2 = vkGetPhysicalDeviceSparseImageFormatProperties2KHR; 278 vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = 279 PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( 280 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV" ) ); 281 vkGetPhysicalDeviceSurfaceCapabilities2EXT = PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT( 282 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilities2EXT" ) ); 283 vkGetPhysicalDeviceSurfaceCapabilities2KHR = PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR( 284 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilities2KHR" ) ); 285 vkGetPhysicalDeviceSurfaceCapabilitiesKHR = PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR( 286 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR" ) ); 287 vkGetPhysicalDeviceSurfaceFormats2KHR = PFN_vkGetPhysicalDeviceSurfaceFormats2KHR( 288 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceFormats2KHR" ) ); 289 vkGetPhysicalDeviceSurfaceFormatsKHR = PFN_vkGetPhysicalDeviceSurfaceFormatsKHR( 290 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceFormatsKHR" ) ); 291 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 292 vkGetPhysicalDeviceSurfacePresentModes2EXT = PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT( 293 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfacePresentModes2EXT" ) ); 294 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 295 vkGetPhysicalDeviceSurfacePresentModesKHR = PFN_vkGetPhysicalDeviceSurfacePresentModesKHR( 296 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfacePresentModesKHR" ) ); 297 vkGetPhysicalDeviceSurfaceSupportKHR = PFN_vkGetPhysicalDeviceSurfaceSupportKHR( 298 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceSupportKHR" ) ); 299 vkGetPhysicalDeviceToolPropertiesEXT = PFN_vkGetPhysicalDeviceToolPropertiesEXT( 300 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceToolPropertiesEXT" ) ); 301 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 302 vkGetPhysicalDeviceVideoCapabilitiesKHR = PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR( 303 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoCapabilitiesKHR" ) ); 304 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 305 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 306 vkGetPhysicalDeviceVideoFormatPropertiesKHR = PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR( 307 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoFormatPropertiesKHR" ) ); 308 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 309 # if defined( VK_USE_PLATFORM_WAYLAND_KHR ) 310 vkGetPhysicalDeviceWaylandPresentationSupportKHR = PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR( 311 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceWaylandPresentationSupportKHR" ) ); 312 # endif /*VK_USE_PLATFORM_WAYLAND_KHR*/ 313 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 314 vkGetPhysicalDeviceWin32PresentationSupportKHR = PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR( 315 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR" ) ); 316 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 317 # if defined( VK_USE_PLATFORM_XCB_KHR ) 318 vkGetPhysicalDeviceXcbPresentationSupportKHR = PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR( 319 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceXcbPresentationSupportKHR" ) ); 320 # endif /*VK_USE_PLATFORM_XCB_KHR*/ 321 # if defined( VK_USE_PLATFORM_XLIB_KHR ) 322 vkGetPhysicalDeviceXlibPresentationSupportKHR = PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR( 323 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceXlibPresentationSupportKHR" ) ); 324 # endif /*VK_USE_PLATFORM_XLIB_KHR*/ 325 # if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT ) 326 vkGetRandROutputDisplayEXT = 327 PFN_vkGetRandROutputDisplayEXT( vkGetInstanceProcAddr( instance, "vkGetRandROutputDisplayEXT" ) ); 328 # endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/ 329 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 330 vkGetWinrtDisplayNV = PFN_vkGetWinrtDisplayNV( vkGetInstanceProcAddr( instance, "vkGetWinrtDisplayNV" ) ); 331 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 332 vkReleaseDisplayEXT = PFN_vkReleaseDisplayEXT( vkGetInstanceProcAddr( instance, "vkReleaseDisplayEXT" ) ); 333 vkSubmitDebugUtilsMessageEXT = 334 PFN_vkSubmitDebugUtilsMessageEXT( vkGetInstanceProcAddr( instance, "vkSubmitDebugUtilsMessageEXT" ) ); 335 336 vkGetDeviceProcAddr = PFN_vkGetDeviceProcAddr( vkGetInstanceProcAddr( instance, "vkGetDeviceProcAddr" ) ); 337 } 338 339 public: 340 PFN_vkAcquireDrmDisplayEXT vkAcquireDrmDisplayEXT = 0; 341 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 342 PFN_vkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNV = 0; 343 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 344 # if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT ) 345 PFN_vkAcquireXlibDisplayEXT vkAcquireXlibDisplayEXT = 0; 346 # endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/ 347 # if defined( VK_USE_PLATFORM_ANDROID_KHR ) 348 PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR = 0; 349 # endif /*VK_USE_PLATFORM_ANDROID_KHR*/ 350 PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT = 0; 351 PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT = 0; 352 PFN_vkCreateDevice vkCreateDevice = 0; 353 # if defined( VK_USE_PLATFORM_DIRECTFB_EXT ) 354 PFN_vkCreateDirectFBSurfaceEXT vkCreateDirectFBSurfaceEXT = 0; 355 # endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/ 356 PFN_vkCreateDisplayModeKHR vkCreateDisplayModeKHR = 0; 357 PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR = 0; 358 PFN_vkCreateHeadlessSurfaceEXT vkCreateHeadlessSurfaceEXT = 0; 359 # if defined( VK_USE_PLATFORM_IOS_MVK ) 360 PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK = 0; 361 # endif /*VK_USE_PLATFORM_IOS_MVK*/ 362 # if defined( VK_USE_PLATFORM_FUCHSIA ) 363 PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA = 0; 364 # endif /*VK_USE_PLATFORM_FUCHSIA*/ 365 # if defined( VK_USE_PLATFORM_MACOS_MVK ) 366 PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK = 0; 367 # endif /*VK_USE_PLATFORM_MACOS_MVK*/ 368 # if defined( VK_USE_PLATFORM_METAL_EXT ) 369 PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT = 0; 370 # endif /*VK_USE_PLATFORM_METAL_EXT*/ 371 # if defined( VK_USE_PLATFORM_SCREEN_QNX ) 372 PFN_vkCreateScreenSurfaceQNX vkCreateScreenSurfaceQNX = 0; 373 # endif /*VK_USE_PLATFORM_SCREEN_QNX*/ 374 # if defined( VK_USE_PLATFORM_GGP ) 375 PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP = 0; 376 # endif /*VK_USE_PLATFORM_GGP*/ 377 # if defined( VK_USE_PLATFORM_VI_NN ) 378 PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN = 0; 379 # endif /*VK_USE_PLATFORM_VI_NN*/ 380 # if defined( VK_USE_PLATFORM_WAYLAND_KHR ) 381 PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR = 0; 382 # endif /*VK_USE_PLATFORM_WAYLAND_KHR*/ 383 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 384 PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR = 0; 385 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 386 # if defined( VK_USE_PLATFORM_XCB_KHR ) 387 PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR = 0; 388 # endif /*VK_USE_PLATFORM_XCB_KHR*/ 389 # if defined( VK_USE_PLATFORM_XLIB_KHR ) 390 PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR = 0; 391 # endif /*VK_USE_PLATFORM_XLIB_KHR*/ 392 PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT = 0; 393 PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT = 0; 394 PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT = 0; 395 PFN_vkDestroyInstance vkDestroyInstance = 0; 396 PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR = 0; 397 PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties = 0; 398 PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties = 0; 399 PFN_vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups = 0; 400 PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR = 0; 401 PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR 402 vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = 0; 403 PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices = 0; 404 PFN_vkGetDisplayModeProperties2KHR vkGetDisplayModeProperties2KHR = 0; 405 PFN_vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR = 0; 406 PFN_vkGetDisplayPlaneCapabilities2KHR vkGetDisplayPlaneCapabilities2KHR = 0; 407 PFN_vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR = 0; 408 PFN_vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR = 0; 409 PFN_vkGetDrmDisplayEXT vkGetDrmDisplayEXT = 0; 410 PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr = 0; 411 PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = 0; 412 PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = 0; 413 # if defined( VK_USE_PLATFORM_DIRECTFB_EXT ) 414 PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT vkGetPhysicalDeviceDirectFBPresentationSupportEXT = 0; 415 # endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/ 416 PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR = 0; 417 PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR = 0; 418 PFN_vkGetPhysicalDeviceDisplayProperties2KHR vkGetPhysicalDeviceDisplayProperties2KHR = 0; 419 PFN_vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR = 0; 420 PFN_vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties = 0; 421 PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR = 0; 422 PFN_vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties = 0; 423 PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR = 0; 424 PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV = 0; 425 PFN_vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties = 0; 426 PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = 0; 427 PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures = 0; 428 PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2 = 0; 429 PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR = 0; 430 PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties = 0; 431 PFN_vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2 = 0; 432 PFN_vkGetPhysicalDeviceFormatProperties2KHR vkGetPhysicalDeviceFormatProperties2KHR = 0; 433 PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR = 0; 434 PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties = 0; 435 PFN_vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2 = 0; 436 PFN_vkGetPhysicalDeviceImageFormatProperties2KHR vkGetPhysicalDeviceImageFormatProperties2KHR = 0; 437 PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties = 0; 438 PFN_vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2 = 0; 439 PFN_vkGetPhysicalDeviceMemoryProperties2KHR vkGetPhysicalDeviceMemoryProperties2KHR = 0; 440 PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXT = 0; 441 PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR = 0; 442 PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties = 0; 443 PFN_vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2 = 0; 444 PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR = 0; 445 PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR 446 vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = 0; 447 PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties = 0; 448 PFN_vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2 = 0; 449 PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR vkGetPhysicalDeviceQueueFamilyProperties2KHR = 0; 450 # if defined( VK_USE_PLATFORM_SCREEN_QNX ) 451 PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX vkGetPhysicalDeviceScreenPresentationSupportQNX = 0; 452 # endif /*VK_USE_PLATFORM_SCREEN_QNX*/ 453 PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties = 0; 454 PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2 = 0; 455 PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR = 0; 456 PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV 457 vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = 0; 458 PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT = 0; 459 PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR = 0; 460 PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR = 0; 461 PFN_vkGetPhysicalDeviceSurfaceFormats2KHR vkGetPhysicalDeviceSurfaceFormats2KHR = 0; 462 PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR = 0; 463 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 464 PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT vkGetPhysicalDeviceSurfacePresentModes2EXT = 0; 465 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 466 PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR = 0; 467 PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR = 0; 468 PFN_vkGetPhysicalDeviceToolPropertiesEXT vkGetPhysicalDeviceToolPropertiesEXT = 0; 469 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 470 PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR vkGetPhysicalDeviceVideoCapabilitiesKHR = 0; 471 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 472 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 473 PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR = 0; 474 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 475 # if defined( VK_USE_PLATFORM_WAYLAND_KHR ) 476 PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR = 0; 477 # endif /*VK_USE_PLATFORM_WAYLAND_KHR*/ 478 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 479 PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR = 0; 480 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 481 # if defined( VK_USE_PLATFORM_XCB_KHR ) 482 PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR = 0; 483 # endif /*VK_USE_PLATFORM_XCB_KHR*/ 484 # if defined( VK_USE_PLATFORM_XLIB_KHR ) 485 PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR = 0; 486 # endif /*VK_USE_PLATFORM_XLIB_KHR*/ 487 # if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT ) 488 PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT = 0; 489 # endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/ 490 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 491 PFN_vkGetWinrtDisplayNV vkGetWinrtDisplayNV = 0; 492 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 493 PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT = 0; 494 PFN_vkSubmitDebugUtilsMessageEXT vkSubmitDebugUtilsMessageEXT = 0; 495 496 PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr = 0; 497 }; 498 499 class DeviceDispatcher 500 { 501 public: DeviceDispatcher(PFN_vkGetDeviceProcAddr getProcAddr)502 DeviceDispatcher( PFN_vkGetDeviceProcAddr getProcAddr ) : vkGetDeviceProcAddr( getProcAddr ) {} 503 504 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 505 DeviceDispatcher() = default; 506 # endif 507 init(VkDevice device)508 void init( VkDevice device ) 509 { 510 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 511 vkAcquireFullScreenExclusiveModeEXT = PFN_vkAcquireFullScreenExclusiveModeEXT( 512 vkGetDeviceProcAddr( device, "vkAcquireFullScreenExclusiveModeEXT" ) ); 513 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 514 vkAcquireNextImage2KHR = PFN_vkAcquireNextImage2KHR( vkGetDeviceProcAddr( device, "vkAcquireNextImage2KHR" ) ); 515 vkAcquireNextImageKHR = PFN_vkAcquireNextImageKHR( vkGetDeviceProcAddr( device, "vkAcquireNextImageKHR" ) ); 516 vkAcquirePerformanceConfigurationINTEL = PFN_vkAcquirePerformanceConfigurationINTEL( 517 vkGetDeviceProcAddr( device, "vkAcquirePerformanceConfigurationINTEL" ) ); 518 vkAcquireProfilingLockKHR = 519 PFN_vkAcquireProfilingLockKHR( vkGetDeviceProcAddr( device, "vkAcquireProfilingLockKHR" ) ); 520 vkAllocateCommandBuffers = 521 PFN_vkAllocateCommandBuffers( vkGetDeviceProcAddr( device, "vkAllocateCommandBuffers" ) ); 522 vkAllocateDescriptorSets = 523 PFN_vkAllocateDescriptorSets( vkGetDeviceProcAddr( device, "vkAllocateDescriptorSets" ) ); 524 vkAllocateMemory = PFN_vkAllocateMemory( vkGetDeviceProcAddr( device, "vkAllocateMemory" ) ); 525 vkBeginCommandBuffer = PFN_vkBeginCommandBuffer( vkGetDeviceProcAddr( device, "vkBeginCommandBuffer" ) ); 526 vkBindAccelerationStructureMemoryNV = PFN_vkBindAccelerationStructureMemoryNV( 527 vkGetDeviceProcAddr( device, "vkBindAccelerationStructureMemoryNV" ) ); 528 vkBindBufferMemory = PFN_vkBindBufferMemory( vkGetDeviceProcAddr( device, "vkBindBufferMemory" ) ); 529 vkBindBufferMemory2 = PFN_vkBindBufferMemory2( vkGetDeviceProcAddr( device, "vkBindBufferMemory2" ) ); 530 vkBindBufferMemory2KHR = PFN_vkBindBufferMemory2KHR( vkGetDeviceProcAddr( device, "vkBindBufferMemory2KHR" ) ); 531 if ( !vkBindBufferMemory2 ) 532 vkBindBufferMemory2 = vkBindBufferMemory2KHR; 533 vkBindImageMemory = PFN_vkBindImageMemory( vkGetDeviceProcAddr( device, "vkBindImageMemory" ) ); 534 vkBindImageMemory2 = PFN_vkBindImageMemory2( vkGetDeviceProcAddr( device, "vkBindImageMemory2" ) ); 535 vkBindImageMemory2KHR = PFN_vkBindImageMemory2KHR( vkGetDeviceProcAddr( device, "vkBindImageMemory2KHR" ) ); 536 if ( !vkBindImageMemory2 ) 537 vkBindImageMemory2 = vkBindImageMemory2KHR; 538 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 539 vkBindVideoSessionMemoryKHR = 540 PFN_vkBindVideoSessionMemoryKHR( vkGetDeviceProcAddr( device, "vkBindVideoSessionMemoryKHR" ) ); 541 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 542 vkBuildAccelerationStructuresKHR = 543 PFN_vkBuildAccelerationStructuresKHR( vkGetDeviceProcAddr( device, "vkBuildAccelerationStructuresKHR" ) ); 544 vkCmdBeginConditionalRenderingEXT = 545 PFN_vkCmdBeginConditionalRenderingEXT( vkGetDeviceProcAddr( device, "vkCmdBeginConditionalRenderingEXT" ) ); 546 vkCmdBeginDebugUtilsLabelEXT = 547 PFN_vkCmdBeginDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdBeginDebugUtilsLabelEXT" ) ); 548 vkCmdBeginQuery = PFN_vkCmdBeginQuery( vkGetDeviceProcAddr( device, "vkCmdBeginQuery" ) ); 549 vkCmdBeginQueryIndexedEXT = 550 PFN_vkCmdBeginQueryIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdBeginQueryIndexedEXT" ) ); 551 vkCmdBeginRenderPass = PFN_vkCmdBeginRenderPass( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass" ) ); 552 vkCmdBeginRenderPass2 = PFN_vkCmdBeginRenderPass2( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass2" ) ); 553 vkCmdBeginRenderPass2KHR = 554 PFN_vkCmdBeginRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass2KHR" ) ); 555 if ( !vkCmdBeginRenderPass2 ) 556 vkCmdBeginRenderPass2 = vkCmdBeginRenderPass2KHR; 557 vkCmdBeginTransformFeedbackEXT = 558 PFN_vkCmdBeginTransformFeedbackEXT( vkGetDeviceProcAddr( device, "vkCmdBeginTransformFeedbackEXT" ) ); 559 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 560 vkCmdBeginVideoCodingKHR = 561 PFN_vkCmdBeginVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdBeginVideoCodingKHR" ) ); 562 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 563 vkCmdBindDescriptorSets = 564 PFN_vkCmdBindDescriptorSets( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorSets" ) ); 565 vkCmdBindIndexBuffer = PFN_vkCmdBindIndexBuffer( vkGetDeviceProcAddr( device, "vkCmdBindIndexBuffer" ) ); 566 vkCmdBindPipeline = PFN_vkCmdBindPipeline( vkGetDeviceProcAddr( device, "vkCmdBindPipeline" ) ); 567 vkCmdBindPipelineShaderGroupNV = 568 PFN_vkCmdBindPipelineShaderGroupNV( vkGetDeviceProcAddr( device, "vkCmdBindPipelineShaderGroupNV" ) ); 569 vkCmdBindShadingRateImageNV = 570 PFN_vkCmdBindShadingRateImageNV( vkGetDeviceProcAddr( device, "vkCmdBindShadingRateImageNV" ) ); 571 vkCmdBindTransformFeedbackBuffersEXT = PFN_vkCmdBindTransformFeedbackBuffersEXT( 572 vkGetDeviceProcAddr( device, "vkCmdBindTransformFeedbackBuffersEXT" ) ); 573 vkCmdBindVertexBuffers = PFN_vkCmdBindVertexBuffers( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers" ) ); 574 vkCmdBindVertexBuffers2EXT = 575 PFN_vkCmdBindVertexBuffers2EXT( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers2EXT" ) ); 576 vkCmdBlitImage = PFN_vkCmdBlitImage( vkGetDeviceProcAddr( device, "vkCmdBlitImage" ) ); 577 vkCmdBlitImage2KHR = PFN_vkCmdBlitImage2KHR( vkGetDeviceProcAddr( device, "vkCmdBlitImage2KHR" ) ); 578 vkCmdBuildAccelerationStructureNV = 579 PFN_vkCmdBuildAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructureNV" ) ); 580 vkCmdBuildAccelerationStructuresIndirectKHR = PFN_vkCmdBuildAccelerationStructuresIndirectKHR( 581 vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructuresIndirectKHR" ) ); 582 vkCmdBuildAccelerationStructuresKHR = PFN_vkCmdBuildAccelerationStructuresKHR( 583 vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructuresKHR" ) ); 584 vkCmdClearAttachments = PFN_vkCmdClearAttachments( vkGetDeviceProcAddr( device, "vkCmdClearAttachments" ) ); 585 vkCmdClearColorImage = PFN_vkCmdClearColorImage( vkGetDeviceProcAddr( device, "vkCmdClearColorImage" ) ); 586 vkCmdClearDepthStencilImage = 587 PFN_vkCmdClearDepthStencilImage( vkGetDeviceProcAddr( device, "vkCmdClearDepthStencilImage" ) ); 588 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 589 vkCmdControlVideoCodingKHR = 590 PFN_vkCmdControlVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdControlVideoCodingKHR" ) ); 591 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 592 vkCmdCopyAccelerationStructureKHR = 593 PFN_vkCmdCopyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureKHR" ) ); 594 vkCmdCopyAccelerationStructureNV = 595 PFN_vkCmdCopyAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureNV" ) ); 596 vkCmdCopyAccelerationStructureToMemoryKHR = PFN_vkCmdCopyAccelerationStructureToMemoryKHR( 597 vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureToMemoryKHR" ) ); 598 vkCmdCopyBuffer = PFN_vkCmdCopyBuffer( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer" ) ); 599 vkCmdCopyBuffer2KHR = PFN_vkCmdCopyBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer2KHR" ) ); 600 vkCmdCopyBufferToImage = PFN_vkCmdCopyBufferToImage( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage" ) ); 601 vkCmdCopyBufferToImage2KHR = 602 PFN_vkCmdCopyBufferToImage2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage2KHR" ) ); 603 vkCmdCopyImage = PFN_vkCmdCopyImage( vkGetDeviceProcAddr( device, "vkCmdCopyImage" ) ); 604 vkCmdCopyImage2KHR = PFN_vkCmdCopyImage2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyImage2KHR" ) ); 605 vkCmdCopyImageToBuffer = PFN_vkCmdCopyImageToBuffer( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer" ) ); 606 vkCmdCopyImageToBuffer2KHR = 607 PFN_vkCmdCopyImageToBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer2KHR" ) ); 608 vkCmdCopyMemoryToAccelerationStructureKHR = PFN_vkCmdCopyMemoryToAccelerationStructureKHR( 609 vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToAccelerationStructureKHR" ) ); 610 vkCmdCopyQueryPoolResults = 611 PFN_vkCmdCopyQueryPoolResults( vkGetDeviceProcAddr( device, "vkCmdCopyQueryPoolResults" ) ); 612 vkCmdCuLaunchKernelNVX = PFN_vkCmdCuLaunchKernelNVX( vkGetDeviceProcAddr( device, "vkCmdCuLaunchKernelNVX" ) ); 613 vkCmdDebugMarkerBeginEXT = 614 PFN_vkCmdDebugMarkerBeginEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerBeginEXT" ) ); 615 vkCmdDebugMarkerEndEXT = PFN_vkCmdDebugMarkerEndEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerEndEXT" ) ); 616 vkCmdDebugMarkerInsertEXT = 617 PFN_vkCmdDebugMarkerInsertEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerInsertEXT" ) ); 618 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 619 vkCmdDecodeVideoKHR = PFN_vkCmdDecodeVideoKHR( vkGetDeviceProcAddr( device, "vkCmdDecodeVideoKHR" ) ); 620 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 621 vkCmdDispatch = PFN_vkCmdDispatch( vkGetDeviceProcAddr( device, "vkCmdDispatch" ) ); 622 vkCmdDispatchBase = PFN_vkCmdDispatchBase( vkGetDeviceProcAddr( device, "vkCmdDispatchBase" ) ); 623 vkCmdDispatchBaseKHR = PFN_vkCmdDispatchBaseKHR( vkGetDeviceProcAddr( device, "vkCmdDispatchBaseKHR" ) ); 624 if ( !vkCmdDispatchBase ) 625 vkCmdDispatchBase = vkCmdDispatchBaseKHR; 626 vkCmdDispatchIndirect = PFN_vkCmdDispatchIndirect( vkGetDeviceProcAddr( device, "vkCmdDispatchIndirect" ) ); 627 vkCmdDraw = PFN_vkCmdDraw( vkGetDeviceProcAddr( device, "vkCmdDraw" ) ); 628 vkCmdDrawIndexed = PFN_vkCmdDrawIndexed( vkGetDeviceProcAddr( device, "vkCmdDrawIndexed" ) ); 629 vkCmdDrawIndexedIndirect = 630 PFN_vkCmdDrawIndexedIndirect( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirect" ) ); 631 vkCmdDrawIndexedIndirectCount = 632 PFN_vkCmdDrawIndexedIndirectCount( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCount" ) ); 633 vkCmdDrawIndexedIndirectCountAMD = 634 PFN_vkCmdDrawIndexedIndirectCountAMD( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCountAMD" ) ); 635 if ( !vkCmdDrawIndexedIndirectCount ) 636 vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountAMD; 637 vkCmdDrawIndexedIndirectCountKHR = 638 PFN_vkCmdDrawIndexedIndirectCountKHR( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCountKHR" ) ); 639 if ( !vkCmdDrawIndexedIndirectCount ) 640 vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountKHR; 641 vkCmdDrawIndirect = PFN_vkCmdDrawIndirect( vkGetDeviceProcAddr( device, "vkCmdDrawIndirect" ) ); 642 vkCmdDrawIndirectByteCountEXT = 643 PFN_vkCmdDrawIndirectByteCountEXT( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectByteCountEXT" ) ); 644 vkCmdDrawIndirectCount = PFN_vkCmdDrawIndirectCount( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCount" ) ); 645 vkCmdDrawIndirectCountAMD = 646 PFN_vkCmdDrawIndirectCountAMD( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCountAMD" ) ); 647 if ( !vkCmdDrawIndirectCount ) 648 vkCmdDrawIndirectCount = vkCmdDrawIndirectCountAMD; 649 vkCmdDrawIndirectCountKHR = 650 PFN_vkCmdDrawIndirectCountKHR( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCountKHR" ) ); 651 if ( !vkCmdDrawIndirectCount ) 652 vkCmdDrawIndirectCount = vkCmdDrawIndirectCountKHR; 653 vkCmdDrawMeshTasksIndirectCountNV = 654 PFN_vkCmdDrawMeshTasksIndirectCountNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectCountNV" ) ); 655 vkCmdDrawMeshTasksIndirectNV = 656 PFN_vkCmdDrawMeshTasksIndirectNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectNV" ) ); 657 vkCmdDrawMeshTasksNV = PFN_vkCmdDrawMeshTasksNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksNV" ) ); 658 vkCmdDrawMultiEXT = PFN_vkCmdDrawMultiEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMultiEXT" ) ); 659 vkCmdDrawMultiIndexedEXT = 660 PFN_vkCmdDrawMultiIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMultiIndexedEXT" ) ); 661 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 662 vkCmdEncodeVideoKHR = PFN_vkCmdEncodeVideoKHR( vkGetDeviceProcAddr( device, "vkCmdEncodeVideoKHR" ) ); 663 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 664 vkCmdEndConditionalRenderingEXT = 665 PFN_vkCmdEndConditionalRenderingEXT( vkGetDeviceProcAddr( device, "vkCmdEndConditionalRenderingEXT" ) ); 666 vkCmdEndDebugUtilsLabelEXT = 667 PFN_vkCmdEndDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdEndDebugUtilsLabelEXT" ) ); 668 vkCmdEndQuery = PFN_vkCmdEndQuery( vkGetDeviceProcAddr( device, "vkCmdEndQuery" ) ); 669 vkCmdEndQueryIndexedEXT = 670 PFN_vkCmdEndQueryIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdEndQueryIndexedEXT" ) ); 671 vkCmdEndRenderPass = PFN_vkCmdEndRenderPass( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass" ) ); 672 vkCmdEndRenderPass2 = PFN_vkCmdEndRenderPass2( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass2" ) ); 673 vkCmdEndRenderPass2KHR = PFN_vkCmdEndRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass2KHR" ) ); 674 if ( !vkCmdEndRenderPass2 ) 675 vkCmdEndRenderPass2 = vkCmdEndRenderPass2KHR; 676 vkCmdEndTransformFeedbackEXT = 677 PFN_vkCmdEndTransformFeedbackEXT( vkGetDeviceProcAddr( device, "vkCmdEndTransformFeedbackEXT" ) ); 678 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 679 vkCmdEndVideoCodingKHR = PFN_vkCmdEndVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdEndVideoCodingKHR" ) ); 680 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 681 vkCmdExecuteCommands = PFN_vkCmdExecuteCommands( vkGetDeviceProcAddr( device, "vkCmdExecuteCommands" ) ); 682 vkCmdExecuteGeneratedCommandsNV = 683 PFN_vkCmdExecuteGeneratedCommandsNV( vkGetDeviceProcAddr( device, "vkCmdExecuteGeneratedCommandsNV" ) ); 684 vkCmdFillBuffer = PFN_vkCmdFillBuffer( vkGetDeviceProcAddr( device, "vkCmdFillBuffer" ) ); 685 vkCmdInsertDebugUtilsLabelEXT = 686 PFN_vkCmdInsertDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdInsertDebugUtilsLabelEXT" ) ); 687 vkCmdNextSubpass = PFN_vkCmdNextSubpass( vkGetDeviceProcAddr( device, "vkCmdNextSubpass" ) ); 688 vkCmdNextSubpass2 = PFN_vkCmdNextSubpass2( vkGetDeviceProcAddr( device, "vkCmdNextSubpass2" ) ); 689 vkCmdNextSubpass2KHR = PFN_vkCmdNextSubpass2KHR( vkGetDeviceProcAddr( device, "vkCmdNextSubpass2KHR" ) ); 690 if ( !vkCmdNextSubpass2 ) 691 vkCmdNextSubpass2 = vkCmdNextSubpass2KHR; 692 vkCmdPipelineBarrier = PFN_vkCmdPipelineBarrier( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier" ) ); 693 vkCmdPipelineBarrier2KHR = 694 PFN_vkCmdPipelineBarrier2KHR( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier2KHR" ) ); 695 vkCmdPreprocessGeneratedCommandsNV = 696 PFN_vkCmdPreprocessGeneratedCommandsNV( vkGetDeviceProcAddr( device, "vkCmdPreprocessGeneratedCommandsNV" ) ); 697 vkCmdPushConstants = PFN_vkCmdPushConstants( vkGetDeviceProcAddr( device, "vkCmdPushConstants" ) ); 698 vkCmdPushDescriptorSetKHR = 699 PFN_vkCmdPushDescriptorSetKHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetKHR" ) ); 700 vkCmdPushDescriptorSetWithTemplateKHR = PFN_vkCmdPushDescriptorSetWithTemplateKHR( 701 vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplateKHR" ) ); 702 vkCmdResetEvent = PFN_vkCmdResetEvent( vkGetDeviceProcAddr( device, "vkCmdResetEvent" ) ); 703 vkCmdResetEvent2KHR = PFN_vkCmdResetEvent2KHR( vkGetDeviceProcAddr( device, "vkCmdResetEvent2KHR" ) ); 704 vkCmdResetQueryPool = PFN_vkCmdResetQueryPool( vkGetDeviceProcAddr( device, "vkCmdResetQueryPool" ) ); 705 vkCmdResolveImage = PFN_vkCmdResolveImage( vkGetDeviceProcAddr( device, "vkCmdResolveImage" ) ); 706 vkCmdResolveImage2KHR = PFN_vkCmdResolveImage2KHR( vkGetDeviceProcAddr( device, "vkCmdResolveImage2KHR" ) ); 707 vkCmdSetBlendConstants = PFN_vkCmdSetBlendConstants( vkGetDeviceProcAddr( device, "vkCmdSetBlendConstants" ) ); 708 vkCmdSetCheckpointNV = PFN_vkCmdSetCheckpointNV( vkGetDeviceProcAddr( device, "vkCmdSetCheckpointNV" ) ); 709 vkCmdSetCoarseSampleOrderNV = 710 PFN_vkCmdSetCoarseSampleOrderNV( vkGetDeviceProcAddr( device, "vkCmdSetCoarseSampleOrderNV" ) ); 711 vkCmdSetColorWriteEnableEXT = 712 PFN_vkCmdSetColorWriteEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorWriteEnableEXT" ) ); 713 vkCmdSetCullModeEXT = PFN_vkCmdSetCullModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetCullModeEXT" ) ); 714 vkCmdSetDepthBias = PFN_vkCmdSetDepthBias( vkGetDeviceProcAddr( device, "vkCmdSetDepthBias" ) ); 715 vkCmdSetDepthBiasEnableEXT = 716 PFN_vkCmdSetDepthBiasEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBiasEnableEXT" ) ); 717 vkCmdSetDepthBounds = PFN_vkCmdSetDepthBounds( vkGetDeviceProcAddr( device, "vkCmdSetDepthBounds" ) ); 718 vkCmdSetDepthBoundsTestEnableEXT = 719 PFN_vkCmdSetDepthBoundsTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBoundsTestEnableEXT" ) ); 720 vkCmdSetDepthCompareOpEXT = 721 PFN_vkCmdSetDepthCompareOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthCompareOpEXT" ) ); 722 vkCmdSetDepthTestEnableEXT = 723 PFN_vkCmdSetDepthTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthTestEnableEXT" ) ); 724 vkCmdSetDepthWriteEnableEXT = 725 PFN_vkCmdSetDepthWriteEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthWriteEnableEXT" ) ); 726 vkCmdSetDeviceMask = PFN_vkCmdSetDeviceMask( vkGetDeviceProcAddr( device, "vkCmdSetDeviceMask" ) ); 727 vkCmdSetDeviceMaskKHR = PFN_vkCmdSetDeviceMaskKHR( vkGetDeviceProcAddr( device, "vkCmdSetDeviceMaskKHR" ) ); 728 if ( !vkCmdSetDeviceMask ) 729 vkCmdSetDeviceMask = vkCmdSetDeviceMaskKHR; 730 vkCmdSetDiscardRectangleEXT = 731 PFN_vkCmdSetDiscardRectangleEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEXT" ) ); 732 vkCmdSetEvent = PFN_vkCmdSetEvent( vkGetDeviceProcAddr( device, "vkCmdSetEvent" ) ); 733 vkCmdSetEvent2KHR = PFN_vkCmdSetEvent2KHR( vkGetDeviceProcAddr( device, "vkCmdSetEvent2KHR" ) ); 734 vkCmdSetExclusiveScissorNV = 735 PFN_vkCmdSetExclusiveScissorNV( vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorNV" ) ); 736 vkCmdSetFragmentShadingRateEnumNV = 737 PFN_vkCmdSetFragmentShadingRateEnumNV( vkGetDeviceProcAddr( device, "vkCmdSetFragmentShadingRateEnumNV" ) ); 738 vkCmdSetFragmentShadingRateKHR = 739 PFN_vkCmdSetFragmentShadingRateKHR( vkGetDeviceProcAddr( device, "vkCmdSetFragmentShadingRateKHR" ) ); 740 vkCmdSetFrontFaceEXT = PFN_vkCmdSetFrontFaceEXT( vkGetDeviceProcAddr( device, "vkCmdSetFrontFaceEXT" ) ); 741 vkCmdSetLineStippleEXT = PFN_vkCmdSetLineStippleEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineStippleEXT" ) ); 742 vkCmdSetLineWidth = PFN_vkCmdSetLineWidth( vkGetDeviceProcAddr( device, "vkCmdSetLineWidth" ) ); 743 vkCmdSetLogicOpEXT = PFN_vkCmdSetLogicOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetLogicOpEXT" ) ); 744 vkCmdSetPatchControlPointsEXT = 745 PFN_vkCmdSetPatchControlPointsEXT( vkGetDeviceProcAddr( device, "vkCmdSetPatchControlPointsEXT" ) ); 746 vkCmdSetPerformanceMarkerINTEL = 747 PFN_vkCmdSetPerformanceMarkerINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceMarkerINTEL" ) ); 748 vkCmdSetPerformanceOverrideINTEL = 749 PFN_vkCmdSetPerformanceOverrideINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceOverrideINTEL" ) ); 750 vkCmdSetPerformanceStreamMarkerINTEL = PFN_vkCmdSetPerformanceStreamMarkerINTEL( 751 vkGetDeviceProcAddr( device, "vkCmdSetPerformanceStreamMarkerINTEL" ) ); 752 vkCmdSetPrimitiveRestartEnableEXT = 753 PFN_vkCmdSetPrimitiveRestartEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveRestartEnableEXT" ) ); 754 vkCmdSetPrimitiveTopologyEXT = 755 PFN_vkCmdSetPrimitiveTopologyEXT( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveTopologyEXT" ) ); 756 vkCmdSetRasterizerDiscardEnableEXT = 757 PFN_vkCmdSetRasterizerDiscardEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizerDiscardEnableEXT" ) ); 758 vkCmdSetRayTracingPipelineStackSizeKHR = PFN_vkCmdSetRayTracingPipelineStackSizeKHR( 759 vkGetDeviceProcAddr( device, "vkCmdSetRayTracingPipelineStackSizeKHR" ) ); 760 vkCmdSetSampleLocationsEXT = 761 PFN_vkCmdSetSampleLocationsEXT( vkGetDeviceProcAddr( device, "vkCmdSetSampleLocationsEXT" ) ); 762 vkCmdSetScissor = PFN_vkCmdSetScissor( vkGetDeviceProcAddr( device, "vkCmdSetScissor" ) ); 763 vkCmdSetScissorWithCountEXT = 764 PFN_vkCmdSetScissorWithCountEXT( vkGetDeviceProcAddr( device, "vkCmdSetScissorWithCountEXT" ) ); 765 vkCmdSetStencilCompareMask = 766 PFN_vkCmdSetStencilCompareMask( vkGetDeviceProcAddr( device, "vkCmdSetStencilCompareMask" ) ); 767 vkCmdSetStencilOpEXT = PFN_vkCmdSetStencilOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetStencilOpEXT" ) ); 768 vkCmdSetStencilReference = 769 PFN_vkCmdSetStencilReference( vkGetDeviceProcAddr( device, "vkCmdSetStencilReference" ) ); 770 vkCmdSetStencilTestEnableEXT = 771 PFN_vkCmdSetStencilTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetStencilTestEnableEXT" ) ); 772 vkCmdSetStencilWriteMask = 773 PFN_vkCmdSetStencilWriteMask( vkGetDeviceProcAddr( device, "vkCmdSetStencilWriteMask" ) ); 774 vkCmdSetVertexInputEXT = PFN_vkCmdSetVertexInputEXT( vkGetDeviceProcAddr( device, "vkCmdSetVertexInputEXT" ) ); 775 vkCmdSetViewport = PFN_vkCmdSetViewport( vkGetDeviceProcAddr( device, "vkCmdSetViewport" ) ); 776 vkCmdSetViewportShadingRatePaletteNV = PFN_vkCmdSetViewportShadingRatePaletteNV( 777 vkGetDeviceProcAddr( device, "vkCmdSetViewportShadingRatePaletteNV" ) ); 778 vkCmdSetViewportWScalingNV = 779 PFN_vkCmdSetViewportWScalingNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportWScalingNV" ) ); 780 vkCmdSetViewportWithCountEXT = 781 PFN_vkCmdSetViewportWithCountEXT( vkGetDeviceProcAddr( device, "vkCmdSetViewportWithCountEXT" ) ); 782 vkCmdSubpassShadingHUAWEI = 783 PFN_vkCmdSubpassShadingHUAWEI( vkGetDeviceProcAddr( device, "vkCmdSubpassShadingHUAWEI" ) ); 784 vkCmdTraceRaysIndirectKHR = 785 PFN_vkCmdTraceRaysIndirectKHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysIndirectKHR" ) ); 786 vkCmdTraceRaysKHR = PFN_vkCmdTraceRaysKHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysKHR" ) ); 787 vkCmdTraceRaysNV = PFN_vkCmdTraceRaysNV( vkGetDeviceProcAddr( device, "vkCmdTraceRaysNV" ) ); 788 vkCmdUpdateBuffer = PFN_vkCmdUpdateBuffer( vkGetDeviceProcAddr( device, "vkCmdUpdateBuffer" ) ); 789 vkCmdWaitEvents = PFN_vkCmdWaitEvents( vkGetDeviceProcAddr( device, "vkCmdWaitEvents" ) ); 790 vkCmdWaitEvents2KHR = PFN_vkCmdWaitEvents2KHR( vkGetDeviceProcAddr( device, "vkCmdWaitEvents2KHR" ) ); 791 vkCmdWriteAccelerationStructuresPropertiesKHR = PFN_vkCmdWriteAccelerationStructuresPropertiesKHR( 792 vkGetDeviceProcAddr( device, "vkCmdWriteAccelerationStructuresPropertiesKHR" ) ); 793 vkCmdWriteAccelerationStructuresPropertiesNV = PFN_vkCmdWriteAccelerationStructuresPropertiesNV( 794 vkGetDeviceProcAddr( device, "vkCmdWriteAccelerationStructuresPropertiesNV" ) ); 795 vkCmdWriteBufferMarker2AMD = 796 PFN_vkCmdWriteBufferMarker2AMD( vkGetDeviceProcAddr( device, "vkCmdWriteBufferMarker2AMD" ) ); 797 vkCmdWriteBufferMarkerAMD = 798 PFN_vkCmdWriteBufferMarkerAMD( vkGetDeviceProcAddr( device, "vkCmdWriteBufferMarkerAMD" ) ); 799 vkCmdWriteTimestamp = PFN_vkCmdWriteTimestamp( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp" ) ); 800 vkCmdWriteTimestamp2KHR = 801 PFN_vkCmdWriteTimestamp2KHR( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp2KHR" ) ); 802 vkCompileDeferredNV = PFN_vkCompileDeferredNV( vkGetDeviceProcAddr( device, "vkCompileDeferredNV" ) ); 803 vkCopyAccelerationStructureKHR = 804 PFN_vkCopyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCopyAccelerationStructureKHR" ) ); 805 vkCopyAccelerationStructureToMemoryKHR = PFN_vkCopyAccelerationStructureToMemoryKHR( 806 vkGetDeviceProcAddr( device, "vkCopyAccelerationStructureToMemoryKHR" ) ); 807 vkCopyMemoryToAccelerationStructureKHR = PFN_vkCopyMemoryToAccelerationStructureKHR( 808 vkGetDeviceProcAddr( device, "vkCopyMemoryToAccelerationStructureKHR" ) ); 809 vkCreateAccelerationStructureKHR = 810 PFN_vkCreateAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCreateAccelerationStructureKHR" ) ); 811 vkCreateAccelerationStructureNV = 812 PFN_vkCreateAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCreateAccelerationStructureNV" ) ); 813 vkCreateBuffer = PFN_vkCreateBuffer( vkGetDeviceProcAddr( device, "vkCreateBuffer" ) ); 814 vkCreateBufferView = PFN_vkCreateBufferView( vkGetDeviceProcAddr( device, "vkCreateBufferView" ) ); 815 vkCreateCommandPool = PFN_vkCreateCommandPool( vkGetDeviceProcAddr( device, "vkCreateCommandPool" ) ); 816 vkCreateComputePipelines = 817 PFN_vkCreateComputePipelines( vkGetDeviceProcAddr( device, "vkCreateComputePipelines" ) ); 818 vkCreateCuFunctionNVX = PFN_vkCreateCuFunctionNVX( vkGetDeviceProcAddr( device, "vkCreateCuFunctionNVX" ) ); 819 vkCreateCuModuleNVX = PFN_vkCreateCuModuleNVX( vkGetDeviceProcAddr( device, "vkCreateCuModuleNVX" ) ); 820 vkCreateDeferredOperationKHR = 821 PFN_vkCreateDeferredOperationKHR( vkGetDeviceProcAddr( device, "vkCreateDeferredOperationKHR" ) ); 822 vkCreateDescriptorPool = PFN_vkCreateDescriptorPool( vkGetDeviceProcAddr( device, "vkCreateDescriptorPool" ) ); 823 vkCreateDescriptorSetLayout = 824 PFN_vkCreateDescriptorSetLayout( vkGetDeviceProcAddr( device, "vkCreateDescriptorSetLayout" ) ); 825 vkCreateDescriptorUpdateTemplate = 826 PFN_vkCreateDescriptorUpdateTemplate( vkGetDeviceProcAddr( device, "vkCreateDescriptorUpdateTemplate" ) ); 827 vkCreateDescriptorUpdateTemplateKHR = PFN_vkCreateDescriptorUpdateTemplateKHR( 828 vkGetDeviceProcAddr( device, "vkCreateDescriptorUpdateTemplateKHR" ) ); 829 if ( !vkCreateDescriptorUpdateTemplate ) 830 vkCreateDescriptorUpdateTemplate = vkCreateDescriptorUpdateTemplateKHR; 831 vkCreateEvent = PFN_vkCreateEvent( vkGetDeviceProcAddr( device, "vkCreateEvent" ) ); 832 vkCreateFence = PFN_vkCreateFence( vkGetDeviceProcAddr( device, "vkCreateFence" ) ); 833 vkCreateFramebuffer = PFN_vkCreateFramebuffer( vkGetDeviceProcAddr( device, "vkCreateFramebuffer" ) ); 834 vkCreateGraphicsPipelines = 835 PFN_vkCreateGraphicsPipelines( vkGetDeviceProcAddr( device, "vkCreateGraphicsPipelines" ) ); 836 vkCreateImage = PFN_vkCreateImage( vkGetDeviceProcAddr( device, "vkCreateImage" ) ); 837 vkCreateImageView = PFN_vkCreateImageView( vkGetDeviceProcAddr( device, "vkCreateImageView" ) ); 838 vkCreateIndirectCommandsLayoutNV = 839 PFN_vkCreateIndirectCommandsLayoutNV( vkGetDeviceProcAddr( device, "vkCreateIndirectCommandsLayoutNV" ) ); 840 vkCreatePipelineCache = PFN_vkCreatePipelineCache( vkGetDeviceProcAddr( device, "vkCreatePipelineCache" ) ); 841 vkCreatePipelineLayout = PFN_vkCreatePipelineLayout( vkGetDeviceProcAddr( device, "vkCreatePipelineLayout" ) ); 842 vkCreatePrivateDataSlotEXT = 843 PFN_vkCreatePrivateDataSlotEXT( vkGetDeviceProcAddr( device, "vkCreatePrivateDataSlotEXT" ) ); 844 vkCreateQueryPool = PFN_vkCreateQueryPool( vkGetDeviceProcAddr( device, "vkCreateQueryPool" ) ); 845 vkCreateRayTracingPipelinesKHR = 846 PFN_vkCreateRayTracingPipelinesKHR( vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesKHR" ) ); 847 vkCreateRayTracingPipelinesNV = 848 PFN_vkCreateRayTracingPipelinesNV( vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesNV" ) ); 849 vkCreateRenderPass = PFN_vkCreateRenderPass( vkGetDeviceProcAddr( device, "vkCreateRenderPass" ) ); 850 vkCreateRenderPass2 = PFN_vkCreateRenderPass2( vkGetDeviceProcAddr( device, "vkCreateRenderPass2" ) ); 851 vkCreateRenderPass2KHR = PFN_vkCreateRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCreateRenderPass2KHR" ) ); 852 if ( !vkCreateRenderPass2 ) 853 vkCreateRenderPass2 = vkCreateRenderPass2KHR; 854 vkCreateSampler = PFN_vkCreateSampler( vkGetDeviceProcAddr( device, "vkCreateSampler" ) ); 855 vkCreateSamplerYcbcrConversion = 856 PFN_vkCreateSamplerYcbcrConversion( vkGetDeviceProcAddr( device, "vkCreateSamplerYcbcrConversion" ) ); 857 vkCreateSamplerYcbcrConversionKHR = 858 PFN_vkCreateSamplerYcbcrConversionKHR( vkGetDeviceProcAddr( device, "vkCreateSamplerYcbcrConversionKHR" ) ); 859 if ( !vkCreateSamplerYcbcrConversion ) 860 vkCreateSamplerYcbcrConversion = vkCreateSamplerYcbcrConversionKHR; 861 vkCreateSemaphore = PFN_vkCreateSemaphore( vkGetDeviceProcAddr( device, "vkCreateSemaphore" ) ); 862 vkCreateShaderModule = PFN_vkCreateShaderModule( vkGetDeviceProcAddr( device, "vkCreateShaderModule" ) ); 863 vkCreateSharedSwapchainsKHR = 864 PFN_vkCreateSharedSwapchainsKHR( vkGetDeviceProcAddr( device, "vkCreateSharedSwapchainsKHR" ) ); 865 vkCreateSwapchainKHR = PFN_vkCreateSwapchainKHR( vkGetDeviceProcAddr( device, "vkCreateSwapchainKHR" ) ); 866 vkCreateValidationCacheEXT = 867 PFN_vkCreateValidationCacheEXT( vkGetDeviceProcAddr( device, "vkCreateValidationCacheEXT" ) ); 868 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 869 vkCreateVideoSessionKHR = 870 PFN_vkCreateVideoSessionKHR( vkGetDeviceProcAddr( device, "vkCreateVideoSessionKHR" ) ); 871 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 872 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 873 vkCreateVideoSessionParametersKHR = 874 PFN_vkCreateVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkCreateVideoSessionParametersKHR" ) ); 875 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 876 vkDebugMarkerSetObjectNameEXT = 877 PFN_vkDebugMarkerSetObjectNameEXT( vkGetDeviceProcAddr( device, "vkDebugMarkerSetObjectNameEXT" ) ); 878 vkDebugMarkerSetObjectTagEXT = 879 PFN_vkDebugMarkerSetObjectTagEXT( vkGetDeviceProcAddr( device, "vkDebugMarkerSetObjectTagEXT" ) ); 880 vkDeferredOperationJoinKHR = 881 PFN_vkDeferredOperationJoinKHR( vkGetDeviceProcAddr( device, "vkDeferredOperationJoinKHR" ) ); 882 vkDestroyAccelerationStructureKHR = 883 PFN_vkDestroyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkDestroyAccelerationStructureKHR" ) ); 884 vkDestroyAccelerationStructureNV = 885 PFN_vkDestroyAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkDestroyAccelerationStructureNV" ) ); 886 vkDestroyBuffer = PFN_vkDestroyBuffer( vkGetDeviceProcAddr( device, "vkDestroyBuffer" ) ); 887 vkDestroyBufferView = PFN_vkDestroyBufferView( vkGetDeviceProcAddr( device, "vkDestroyBufferView" ) ); 888 vkDestroyCommandPool = PFN_vkDestroyCommandPool( vkGetDeviceProcAddr( device, "vkDestroyCommandPool" ) ); 889 vkDestroyCuFunctionNVX = PFN_vkDestroyCuFunctionNVX( vkGetDeviceProcAddr( device, "vkDestroyCuFunctionNVX" ) ); 890 vkDestroyCuModuleNVX = PFN_vkDestroyCuModuleNVX( vkGetDeviceProcAddr( device, "vkDestroyCuModuleNVX" ) ); 891 vkDestroyDeferredOperationKHR = 892 PFN_vkDestroyDeferredOperationKHR( vkGetDeviceProcAddr( device, "vkDestroyDeferredOperationKHR" ) ); 893 vkDestroyDescriptorPool = 894 PFN_vkDestroyDescriptorPool( vkGetDeviceProcAddr( device, "vkDestroyDescriptorPool" ) ); 895 vkDestroyDescriptorSetLayout = 896 PFN_vkDestroyDescriptorSetLayout( vkGetDeviceProcAddr( device, "vkDestroyDescriptorSetLayout" ) ); 897 vkDestroyDescriptorUpdateTemplate = 898 PFN_vkDestroyDescriptorUpdateTemplate( vkGetDeviceProcAddr( device, "vkDestroyDescriptorUpdateTemplate" ) ); 899 vkDestroyDescriptorUpdateTemplateKHR = PFN_vkDestroyDescriptorUpdateTemplateKHR( 900 vkGetDeviceProcAddr( device, "vkDestroyDescriptorUpdateTemplateKHR" ) ); 901 if ( !vkDestroyDescriptorUpdateTemplate ) 902 vkDestroyDescriptorUpdateTemplate = vkDestroyDescriptorUpdateTemplateKHR; 903 vkDestroyDevice = PFN_vkDestroyDevice( vkGetDeviceProcAddr( device, "vkDestroyDevice" ) ); 904 vkDestroyEvent = PFN_vkDestroyEvent( vkGetDeviceProcAddr( device, "vkDestroyEvent" ) ); 905 vkDestroyFence = PFN_vkDestroyFence( vkGetDeviceProcAddr( device, "vkDestroyFence" ) ); 906 vkDestroyFramebuffer = PFN_vkDestroyFramebuffer( vkGetDeviceProcAddr( device, "vkDestroyFramebuffer" ) ); 907 vkDestroyImage = PFN_vkDestroyImage( vkGetDeviceProcAddr( device, "vkDestroyImage" ) ); 908 vkDestroyImageView = PFN_vkDestroyImageView( vkGetDeviceProcAddr( device, "vkDestroyImageView" ) ); 909 vkDestroyIndirectCommandsLayoutNV = 910 PFN_vkDestroyIndirectCommandsLayoutNV( vkGetDeviceProcAddr( device, "vkDestroyIndirectCommandsLayoutNV" ) ); 911 vkDestroyPipeline = PFN_vkDestroyPipeline( vkGetDeviceProcAddr( device, "vkDestroyPipeline" ) ); 912 vkDestroyPipelineCache = PFN_vkDestroyPipelineCache( vkGetDeviceProcAddr( device, "vkDestroyPipelineCache" ) ); 913 vkDestroyPipelineLayout = 914 PFN_vkDestroyPipelineLayout( vkGetDeviceProcAddr( device, "vkDestroyPipelineLayout" ) ); 915 vkDestroyPrivateDataSlotEXT = 916 PFN_vkDestroyPrivateDataSlotEXT( vkGetDeviceProcAddr( device, "vkDestroyPrivateDataSlotEXT" ) ); 917 vkDestroyQueryPool = PFN_vkDestroyQueryPool( vkGetDeviceProcAddr( device, "vkDestroyQueryPool" ) ); 918 vkDestroyRenderPass = PFN_vkDestroyRenderPass( vkGetDeviceProcAddr( device, "vkDestroyRenderPass" ) ); 919 vkDestroySampler = PFN_vkDestroySampler( vkGetDeviceProcAddr( device, "vkDestroySampler" ) ); 920 vkDestroySamplerYcbcrConversion = 921 PFN_vkDestroySamplerYcbcrConversion( vkGetDeviceProcAddr( device, "vkDestroySamplerYcbcrConversion" ) ); 922 vkDestroySamplerYcbcrConversionKHR = 923 PFN_vkDestroySamplerYcbcrConversionKHR( vkGetDeviceProcAddr( device, "vkDestroySamplerYcbcrConversionKHR" ) ); 924 if ( !vkDestroySamplerYcbcrConversion ) 925 vkDestroySamplerYcbcrConversion = vkDestroySamplerYcbcrConversionKHR; 926 vkDestroySemaphore = PFN_vkDestroySemaphore( vkGetDeviceProcAddr( device, "vkDestroySemaphore" ) ); 927 vkDestroyShaderModule = PFN_vkDestroyShaderModule( vkGetDeviceProcAddr( device, "vkDestroyShaderModule" ) ); 928 vkDestroySwapchainKHR = PFN_vkDestroySwapchainKHR( vkGetDeviceProcAddr( device, "vkDestroySwapchainKHR" ) ); 929 vkDestroyValidationCacheEXT = 930 PFN_vkDestroyValidationCacheEXT( vkGetDeviceProcAddr( device, "vkDestroyValidationCacheEXT" ) ); 931 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 932 vkDestroyVideoSessionKHR = 933 PFN_vkDestroyVideoSessionKHR( vkGetDeviceProcAddr( device, "vkDestroyVideoSessionKHR" ) ); 934 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 935 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 936 vkDestroyVideoSessionParametersKHR = 937 PFN_vkDestroyVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkDestroyVideoSessionParametersKHR" ) ); 938 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 939 vkDeviceWaitIdle = PFN_vkDeviceWaitIdle( vkGetDeviceProcAddr( device, "vkDeviceWaitIdle" ) ); 940 vkDisplayPowerControlEXT = 941 PFN_vkDisplayPowerControlEXT( vkGetDeviceProcAddr( device, "vkDisplayPowerControlEXT" ) ); 942 vkEndCommandBuffer = PFN_vkEndCommandBuffer( vkGetDeviceProcAddr( device, "vkEndCommandBuffer" ) ); 943 vkFlushMappedMemoryRanges = 944 PFN_vkFlushMappedMemoryRanges( vkGetDeviceProcAddr( device, "vkFlushMappedMemoryRanges" ) ); 945 vkFreeCommandBuffers = PFN_vkFreeCommandBuffers( vkGetDeviceProcAddr( device, "vkFreeCommandBuffers" ) ); 946 vkFreeDescriptorSets = PFN_vkFreeDescriptorSets( vkGetDeviceProcAddr( device, "vkFreeDescriptorSets" ) ); 947 vkFreeMemory = PFN_vkFreeMemory( vkGetDeviceProcAddr( device, "vkFreeMemory" ) ); 948 vkGetAccelerationStructureBuildSizesKHR = PFN_vkGetAccelerationStructureBuildSizesKHR( 949 vkGetDeviceProcAddr( device, "vkGetAccelerationStructureBuildSizesKHR" ) ); 950 vkGetAccelerationStructureDeviceAddressKHR = PFN_vkGetAccelerationStructureDeviceAddressKHR( 951 vkGetDeviceProcAddr( device, "vkGetAccelerationStructureDeviceAddressKHR" ) ); 952 vkGetAccelerationStructureHandleNV = 953 PFN_vkGetAccelerationStructureHandleNV( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureHandleNV" ) ); 954 vkGetAccelerationStructureMemoryRequirementsNV = PFN_vkGetAccelerationStructureMemoryRequirementsNV( 955 vkGetDeviceProcAddr( device, "vkGetAccelerationStructureMemoryRequirementsNV" ) ); 956 # if defined( VK_USE_PLATFORM_ANDROID_KHR ) 957 vkGetAndroidHardwareBufferPropertiesANDROID = PFN_vkGetAndroidHardwareBufferPropertiesANDROID( 958 vkGetDeviceProcAddr( device, "vkGetAndroidHardwareBufferPropertiesANDROID" ) ); 959 # endif /*VK_USE_PLATFORM_ANDROID_KHR*/ 960 vkGetBufferDeviceAddress = 961 PFN_vkGetBufferDeviceAddress( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddress" ) ); 962 vkGetBufferDeviceAddressEXT = 963 PFN_vkGetBufferDeviceAddressEXT( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddressEXT" ) ); 964 if ( !vkGetBufferDeviceAddress ) 965 vkGetBufferDeviceAddress = vkGetBufferDeviceAddressEXT; 966 vkGetBufferDeviceAddressKHR = 967 PFN_vkGetBufferDeviceAddressKHR( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddressKHR" ) ); 968 if ( !vkGetBufferDeviceAddress ) 969 vkGetBufferDeviceAddress = vkGetBufferDeviceAddressKHR; 970 vkGetBufferMemoryRequirements = 971 PFN_vkGetBufferMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements" ) ); 972 vkGetBufferMemoryRequirements2 = 973 PFN_vkGetBufferMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements2" ) ); 974 vkGetBufferMemoryRequirements2KHR = 975 PFN_vkGetBufferMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements2KHR" ) ); 976 if ( !vkGetBufferMemoryRequirements2 ) 977 vkGetBufferMemoryRequirements2 = vkGetBufferMemoryRequirements2KHR; 978 vkGetBufferOpaqueCaptureAddress = 979 PFN_vkGetBufferOpaqueCaptureAddress( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureAddress" ) ); 980 vkGetBufferOpaqueCaptureAddressKHR = 981 PFN_vkGetBufferOpaqueCaptureAddressKHR( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureAddressKHR" ) ); 982 if ( !vkGetBufferOpaqueCaptureAddress ) 983 vkGetBufferOpaqueCaptureAddress = vkGetBufferOpaqueCaptureAddressKHR; 984 vkGetCalibratedTimestampsEXT = 985 PFN_vkGetCalibratedTimestampsEXT( vkGetDeviceProcAddr( device, "vkGetCalibratedTimestampsEXT" ) ); 986 vkGetDeferredOperationMaxConcurrencyKHR = PFN_vkGetDeferredOperationMaxConcurrencyKHR( 987 vkGetDeviceProcAddr( device, "vkGetDeferredOperationMaxConcurrencyKHR" ) ); 988 vkGetDeferredOperationResultKHR = 989 PFN_vkGetDeferredOperationResultKHR( vkGetDeviceProcAddr( device, "vkGetDeferredOperationResultKHR" ) ); 990 vkGetDescriptorSetLayoutSupport = 991 PFN_vkGetDescriptorSetLayoutSupport( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSupport" ) ); 992 vkGetDescriptorSetLayoutSupportKHR = 993 PFN_vkGetDescriptorSetLayoutSupportKHR( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSupportKHR" ) ); 994 if ( !vkGetDescriptorSetLayoutSupport ) 995 vkGetDescriptorSetLayoutSupport = vkGetDescriptorSetLayoutSupportKHR; 996 vkGetDeviceAccelerationStructureCompatibilityKHR = PFN_vkGetDeviceAccelerationStructureCompatibilityKHR( 997 vkGetDeviceProcAddr( device, "vkGetDeviceAccelerationStructureCompatibilityKHR" ) ); 998 vkGetDeviceGroupPeerMemoryFeatures = 999 PFN_vkGetDeviceGroupPeerMemoryFeatures( vkGetDeviceProcAddr( device, "vkGetDeviceGroupPeerMemoryFeatures" ) ); 1000 vkGetDeviceGroupPeerMemoryFeaturesKHR = PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR( 1001 vkGetDeviceProcAddr( device, "vkGetDeviceGroupPeerMemoryFeaturesKHR" ) ); 1002 if ( !vkGetDeviceGroupPeerMemoryFeatures ) 1003 vkGetDeviceGroupPeerMemoryFeatures = vkGetDeviceGroupPeerMemoryFeaturesKHR; 1004 vkGetDeviceGroupPresentCapabilitiesKHR = PFN_vkGetDeviceGroupPresentCapabilitiesKHR( 1005 vkGetDeviceProcAddr( device, "vkGetDeviceGroupPresentCapabilitiesKHR" ) ); 1006 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 1007 vkGetDeviceGroupSurfacePresentModes2EXT = PFN_vkGetDeviceGroupSurfacePresentModes2EXT( 1008 vkGetDeviceProcAddr( device, "vkGetDeviceGroupSurfacePresentModes2EXT" ) ); 1009 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 1010 vkGetDeviceGroupSurfacePresentModesKHR = PFN_vkGetDeviceGroupSurfacePresentModesKHR( 1011 vkGetDeviceProcAddr( device, "vkGetDeviceGroupSurfacePresentModesKHR" ) ); 1012 vkGetDeviceMemoryCommitment = 1013 PFN_vkGetDeviceMemoryCommitment( vkGetDeviceProcAddr( device, "vkGetDeviceMemoryCommitment" ) ); 1014 vkGetDeviceMemoryOpaqueCaptureAddress = PFN_vkGetDeviceMemoryOpaqueCaptureAddress( 1015 vkGetDeviceProcAddr( device, "vkGetDeviceMemoryOpaqueCaptureAddress" ) ); 1016 vkGetDeviceMemoryOpaqueCaptureAddressKHR = PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR( 1017 vkGetDeviceProcAddr( device, "vkGetDeviceMemoryOpaqueCaptureAddressKHR" ) ); 1018 if ( !vkGetDeviceMemoryOpaqueCaptureAddress ) 1019 vkGetDeviceMemoryOpaqueCaptureAddress = vkGetDeviceMemoryOpaqueCaptureAddressKHR; 1020 vkGetDeviceProcAddr = PFN_vkGetDeviceProcAddr( vkGetDeviceProcAddr( device, "vkGetDeviceProcAddr" ) ); 1021 vkGetDeviceQueue = PFN_vkGetDeviceQueue( vkGetDeviceProcAddr( device, "vkGetDeviceQueue" ) ); 1022 vkGetDeviceQueue2 = PFN_vkGetDeviceQueue2( vkGetDeviceProcAddr( device, "vkGetDeviceQueue2" ) ); 1023 vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( 1024 vkGetDeviceProcAddr( device, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" ) ); 1025 vkGetEventStatus = PFN_vkGetEventStatus( vkGetDeviceProcAddr( device, "vkGetEventStatus" ) ); 1026 vkGetFenceFdKHR = PFN_vkGetFenceFdKHR( vkGetDeviceProcAddr( device, "vkGetFenceFdKHR" ) ); 1027 vkGetFenceStatus = PFN_vkGetFenceStatus( vkGetDeviceProcAddr( device, "vkGetFenceStatus" ) ); 1028 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 1029 vkGetFenceWin32HandleKHR = 1030 PFN_vkGetFenceWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetFenceWin32HandleKHR" ) ); 1031 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 1032 vkGetGeneratedCommandsMemoryRequirementsNV = PFN_vkGetGeneratedCommandsMemoryRequirementsNV( 1033 vkGetDeviceProcAddr( device, "vkGetGeneratedCommandsMemoryRequirementsNV" ) ); 1034 vkGetImageDrmFormatModifierPropertiesEXT = PFN_vkGetImageDrmFormatModifierPropertiesEXT( 1035 vkGetDeviceProcAddr( device, "vkGetImageDrmFormatModifierPropertiesEXT" ) ); 1036 vkGetImageMemoryRequirements = 1037 PFN_vkGetImageMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements" ) ); 1038 vkGetImageMemoryRequirements2 = 1039 PFN_vkGetImageMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements2" ) ); 1040 vkGetImageMemoryRequirements2KHR = 1041 PFN_vkGetImageMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements2KHR" ) ); 1042 if ( !vkGetImageMemoryRequirements2 ) 1043 vkGetImageMemoryRequirements2 = vkGetImageMemoryRequirements2KHR; 1044 vkGetImageSparseMemoryRequirements = 1045 PFN_vkGetImageSparseMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements" ) ); 1046 vkGetImageSparseMemoryRequirements2 = PFN_vkGetImageSparseMemoryRequirements2( 1047 vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements2" ) ); 1048 vkGetImageSparseMemoryRequirements2KHR = PFN_vkGetImageSparseMemoryRequirements2KHR( 1049 vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements2KHR" ) ); 1050 if ( !vkGetImageSparseMemoryRequirements2 ) 1051 vkGetImageSparseMemoryRequirements2 = vkGetImageSparseMemoryRequirements2KHR; 1052 vkGetImageSubresourceLayout = 1053 PFN_vkGetImageSubresourceLayout( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout" ) ); 1054 vkGetImageViewAddressNVX = 1055 PFN_vkGetImageViewAddressNVX( vkGetDeviceProcAddr( device, "vkGetImageViewAddressNVX" ) ); 1056 vkGetImageViewHandleNVX = 1057 PFN_vkGetImageViewHandleNVX( vkGetDeviceProcAddr( device, "vkGetImageViewHandleNVX" ) ); 1058 # if defined( VK_USE_PLATFORM_ANDROID_KHR ) 1059 vkGetMemoryAndroidHardwareBufferANDROID = PFN_vkGetMemoryAndroidHardwareBufferANDROID( 1060 vkGetDeviceProcAddr( device, "vkGetMemoryAndroidHardwareBufferANDROID" ) ); 1061 # endif /*VK_USE_PLATFORM_ANDROID_KHR*/ 1062 vkGetMemoryFdKHR = PFN_vkGetMemoryFdKHR( vkGetDeviceProcAddr( device, "vkGetMemoryFdKHR" ) ); 1063 vkGetMemoryFdPropertiesKHR = 1064 PFN_vkGetMemoryFdPropertiesKHR( vkGetDeviceProcAddr( device, "vkGetMemoryFdPropertiesKHR" ) ); 1065 vkGetMemoryHostPointerPropertiesEXT = PFN_vkGetMemoryHostPointerPropertiesEXT( 1066 vkGetDeviceProcAddr( device, "vkGetMemoryHostPointerPropertiesEXT" ) ); 1067 vkGetMemoryRemoteAddressNV = 1068 PFN_vkGetMemoryRemoteAddressNV( vkGetDeviceProcAddr( device, "vkGetMemoryRemoteAddressNV" ) ); 1069 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 1070 vkGetMemoryWin32HandleKHR = 1071 PFN_vkGetMemoryWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandleKHR" ) ); 1072 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 1073 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 1074 vkGetMemoryWin32HandleNV = 1075 PFN_vkGetMemoryWin32HandleNV( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandleNV" ) ); 1076 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 1077 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 1078 vkGetMemoryWin32HandlePropertiesKHR = PFN_vkGetMemoryWin32HandlePropertiesKHR( 1079 vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandlePropertiesKHR" ) ); 1080 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 1081 # if defined( VK_USE_PLATFORM_FUCHSIA ) 1082 vkGetMemoryZirconHandleFUCHSIA = 1083 PFN_vkGetMemoryZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkGetMemoryZirconHandleFUCHSIA" ) ); 1084 # endif /*VK_USE_PLATFORM_FUCHSIA*/ 1085 # if defined( VK_USE_PLATFORM_FUCHSIA ) 1086 vkGetMemoryZirconHandlePropertiesFUCHSIA = PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA( 1087 vkGetDeviceProcAddr( device, "vkGetMemoryZirconHandlePropertiesFUCHSIA" ) ); 1088 # endif /*VK_USE_PLATFORM_FUCHSIA*/ 1089 vkGetPastPresentationTimingGOOGLE = 1090 PFN_vkGetPastPresentationTimingGOOGLE( vkGetDeviceProcAddr( device, "vkGetPastPresentationTimingGOOGLE" ) ); 1091 vkGetPerformanceParameterINTEL = 1092 PFN_vkGetPerformanceParameterINTEL( vkGetDeviceProcAddr( device, "vkGetPerformanceParameterINTEL" ) ); 1093 vkGetPipelineCacheData = PFN_vkGetPipelineCacheData( vkGetDeviceProcAddr( device, "vkGetPipelineCacheData" ) ); 1094 vkGetPipelineExecutableInternalRepresentationsKHR = PFN_vkGetPipelineExecutableInternalRepresentationsKHR( 1095 vkGetDeviceProcAddr( device, "vkGetPipelineExecutableInternalRepresentationsKHR" ) ); 1096 vkGetPipelineExecutablePropertiesKHR = PFN_vkGetPipelineExecutablePropertiesKHR( 1097 vkGetDeviceProcAddr( device, "vkGetPipelineExecutablePropertiesKHR" ) ); 1098 vkGetPipelineExecutableStatisticsKHR = PFN_vkGetPipelineExecutableStatisticsKHR( 1099 vkGetDeviceProcAddr( device, "vkGetPipelineExecutableStatisticsKHR" ) ); 1100 vkGetPrivateDataEXT = PFN_vkGetPrivateDataEXT( vkGetDeviceProcAddr( device, "vkGetPrivateDataEXT" ) ); 1101 vkGetQueryPoolResults = PFN_vkGetQueryPoolResults( vkGetDeviceProcAddr( device, "vkGetQueryPoolResults" ) ); 1102 vkGetQueueCheckpointData2NV = 1103 PFN_vkGetQueueCheckpointData2NV( vkGetDeviceProcAddr( device, "vkGetQueueCheckpointData2NV" ) ); 1104 vkGetQueueCheckpointDataNV = 1105 PFN_vkGetQueueCheckpointDataNV( vkGetDeviceProcAddr( device, "vkGetQueueCheckpointDataNV" ) ); 1106 vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( 1107 vkGetDeviceProcAddr( device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" ) ); 1108 vkGetRayTracingShaderGroupHandlesKHR = PFN_vkGetRayTracingShaderGroupHandlesKHR( 1109 vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupHandlesKHR" ) ); 1110 vkGetRayTracingShaderGroupHandlesNV = PFN_vkGetRayTracingShaderGroupHandlesNV( 1111 vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupHandlesNV" ) ); 1112 if ( !vkGetRayTracingShaderGroupHandlesKHR ) 1113 vkGetRayTracingShaderGroupHandlesKHR = vkGetRayTracingShaderGroupHandlesNV; 1114 vkGetRayTracingShaderGroupStackSizeKHR = PFN_vkGetRayTracingShaderGroupStackSizeKHR( 1115 vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupStackSizeKHR" ) ); 1116 vkGetRefreshCycleDurationGOOGLE = 1117 PFN_vkGetRefreshCycleDurationGOOGLE( vkGetDeviceProcAddr( device, "vkGetRefreshCycleDurationGOOGLE" ) ); 1118 vkGetRenderAreaGranularity = 1119 PFN_vkGetRenderAreaGranularity( vkGetDeviceProcAddr( device, "vkGetRenderAreaGranularity" ) ); 1120 vkGetSemaphoreCounterValue = 1121 PFN_vkGetSemaphoreCounterValue( vkGetDeviceProcAddr( device, "vkGetSemaphoreCounterValue" ) ); 1122 vkGetSemaphoreCounterValueKHR = 1123 PFN_vkGetSemaphoreCounterValueKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreCounterValueKHR" ) ); 1124 if ( !vkGetSemaphoreCounterValue ) 1125 vkGetSemaphoreCounterValue = vkGetSemaphoreCounterValueKHR; 1126 vkGetSemaphoreFdKHR = PFN_vkGetSemaphoreFdKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreFdKHR" ) ); 1127 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 1128 vkGetSemaphoreWin32HandleKHR = 1129 PFN_vkGetSemaphoreWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreWin32HandleKHR" ) ); 1130 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 1131 # if defined( VK_USE_PLATFORM_FUCHSIA ) 1132 vkGetSemaphoreZirconHandleFUCHSIA = 1133 PFN_vkGetSemaphoreZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkGetSemaphoreZirconHandleFUCHSIA" ) ); 1134 # endif /*VK_USE_PLATFORM_FUCHSIA*/ 1135 vkGetShaderInfoAMD = PFN_vkGetShaderInfoAMD( vkGetDeviceProcAddr( device, "vkGetShaderInfoAMD" ) ); 1136 vkGetSwapchainCounterEXT = 1137 PFN_vkGetSwapchainCounterEXT( vkGetDeviceProcAddr( device, "vkGetSwapchainCounterEXT" ) ); 1138 vkGetSwapchainImagesKHR = 1139 PFN_vkGetSwapchainImagesKHR( vkGetDeviceProcAddr( device, "vkGetSwapchainImagesKHR" ) ); 1140 vkGetSwapchainStatusKHR = 1141 PFN_vkGetSwapchainStatusKHR( vkGetDeviceProcAddr( device, "vkGetSwapchainStatusKHR" ) ); 1142 vkGetValidationCacheDataEXT = 1143 PFN_vkGetValidationCacheDataEXT( vkGetDeviceProcAddr( device, "vkGetValidationCacheDataEXT" ) ); 1144 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 1145 vkGetVideoSessionMemoryRequirementsKHR = PFN_vkGetVideoSessionMemoryRequirementsKHR( 1146 vkGetDeviceProcAddr( device, "vkGetVideoSessionMemoryRequirementsKHR" ) ); 1147 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 1148 vkImportFenceFdKHR = PFN_vkImportFenceFdKHR( vkGetDeviceProcAddr( device, "vkImportFenceFdKHR" ) ); 1149 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 1150 vkImportFenceWin32HandleKHR = 1151 PFN_vkImportFenceWin32HandleKHR( vkGetDeviceProcAddr( device, "vkImportFenceWin32HandleKHR" ) ); 1152 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 1153 vkImportSemaphoreFdKHR = PFN_vkImportSemaphoreFdKHR( vkGetDeviceProcAddr( device, "vkImportSemaphoreFdKHR" ) ); 1154 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 1155 vkImportSemaphoreWin32HandleKHR = 1156 PFN_vkImportSemaphoreWin32HandleKHR( vkGetDeviceProcAddr( device, "vkImportSemaphoreWin32HandleKHR" ) ); 1157 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 1158 # if defined( VK_USE_PLATFORM_FUCHSIA ) 1159 vkImportSemaphoreZirconHandleFUCHSIA = PFN_vkImportSemaphoreZirconHandleFUCHSIA( 1160 vkGetDeviceProcAddr( device, "vkImportSemaphoreZirconHandleFUCHSIA" ) ); 1161 # endif /*VK_USE_PLATFORM_FUCHSIA*/ 1162 vkInitializePerformanceApiINTEL = 1163 PFN_vkInitializePerformanceApiINTEL( vkGetDeviceProcAddr( device, "vkInitializePerformanceApiINTEL" ) ); 1164 vkInvalidateMappedMemoryRanges = 1165 PFN_vkInvalidateMappedMemoryRanges( vkGetDeviceProcAddr( device, "vkInvalidateMappedMemoryRanges" ) ); 1166 vkMapMemory = PFN_vkMapMemory( vkGetDeviceProcAddr( device, "vkMapMemory" ) ); 1167 vkMergePipelineCaches = PFN_vkMergePipelineCaches( vkGetDeviceProcAddr( device, "vkMergePipelineCaches" ) ); 1168 vkMergeValidationCachesEXT = 1169 PFN_vkMergeValidationCachesEXT( vkGetDeviceProcAddr( device, "vkMergeValidationCachesEXT" ) ); 1170 vkQueueBeginDebugUtilsLabelEXT = 1171 PFN_vkQueueBeginDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueBeginDebugUtilsLabelEXT" ) ); 1172 vkQueueBindSparse = PFN_vkQueueBindSparse( vkGetDeviceProcAddr( device, "vkQueueBindSparse" ) ); 1173 vkQueueEndDebugUtilsLabelEXT = 1174 PFN_vkQueueEndDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueEndDebugUtilsLabelEXT" ) ); 1175 vkQueueInsertDebugUtilsLabelEXT = 1176 PFN_vkQueueInsertDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueInsertDebugUtilsLabelEXT" ) ); 1177 vkQueuePresentKHR = PFN_vkQueuePresentKHR( vkGetDeviceProcAddr( device, "vkQueuePresentKHR" ) ); 1178 vkQueueSetPerformanceConfigurationINTEL = PFN_vkQueueSetPerformanceConfigurationINTEL( 1179 vkGetDeviceProcAddr( device, "vkQueueSetPerformanceConfigurationINTEL" ) ); 1180 vkQueueSubmit = PFN_vkQueueSubmit( vkGetDeviceProcAddr( device, "vkQueueSubmit" ) ); 1181 vkQueueSubmit2KHR = PFN_vkQueueSubmit2KHR( vkGetDeviceProcAddr( device, "vkQueueSubmit2KHR" ) ); 1182 vkQueueWaitIdle = PFN_vkQueueWaitIdle( vkGetDeviceProcAddr( device, "vkQueueWaitIdle" ) ); 1183 vkRegisterDeviceEventEXT = 1184 PFN_vkRegisterDeviceEventEXT( vkGetDeviceProcAddr( device, "vkRegisterDeviceEventEXT" ) ); 1185 vkRegisterDisplayEventEXT = 1186 PFN_vkRegisterDisplayEventEXT( vkGetDeviceProcAddr( device, "vkRegisterDisplayEventEXT" ) ); 1187 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 1188 vkReleaseFullScreenExclusiveModeEXT = PFN_vkReleaseFullScreenExclusiveModeEXT( 1189 vkGetDeviceProcAddr( device, "vkReleaseFullScreenExclusiveModeEXT" ) ); 1190 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 1191 vkReleasePerformanceConfigurationINTEL = PFN_vkReleasePerformanceConfigurationINTEL( 1192 vkGetDeviceProcAddr( device, "vkReleasePerformanceConfigurationINTEL" ) ); 1193 vkReleaseProfilingLockKHR = 1194 PFN_vkReleaseProfilingLockKHR( vkGetDeviceProcAddr( device, "vkReleaseProfilingLockKHR" ) ); 1195 vkResetCommandBuffer = PFN_vkResetCommandBuffer( vkGetDeviceProcAddr( device, "vkResetCommandBuffer" ) ); 1196 vkResetCommandPool = PFN_vkResetCommandPool( vkGetDeviceProcAddr( device, "vkResetCommandPool" ) ); 1197 vkResetDescriptorPool = PFN_vkResetDescriptorPool( vkGetDeviceProcAddr( device, "vkResetDescriptorPool" ) ); 1198 vkResetEvent = PFN_vkResetEvent( vkGetDeviceProcAddr( device, "vkResetEvent" ) ); 1199 vkResetFences = PFN_vkResetFences( vkGetDeviceProcAddr( device, "vkResetFences" ) ); 1200 vkResetQueryPool = PFN_vkResetQueryPool( vkGetDeviceProcAddr( device, "vkResetQueryPool" ) ); 1201 vkResetQueryPoolEXT = PFN_vkResetQueryPoolEXT( vkGetDeviceProcAddr( device, "vkResetQueryPoolEXT" ) ); 1202 if ( !vkResetQueryPool ) 1203 vkResetQueryPool = vkResetQueryPoolEXT; 1204 vkSetDebugUtilsObjectNameEXT = 1205 PFN_vkSetDebugUtilsObjectNameEXT( vkGetDeviceProcAddr( device, "vkSetDebugUtilsObjectNameEXT" ) ); 1206 vkSetDebugUtilsObjectTagEXT = 1207 PFN_vkSetDebugUtilsObjectTagEXT( vkGetDeviceProcAddr( device, "vkSetDebugUtilsObjectTagEXT" ) ); 1208 vkSetEvent = PFN_vkSetEvent( vkGetDeviceProcAddr( device, "vkSetEvent" ) ); 1209 vkSetHdrMetadataEXT = PFN_vkSetHdrMetadataEXT( vkGetDeviceProcAddr( device, "vkSetHdrMetadataEXT" ) ); 1210 vkSetLocalDimmingAMD = PFN_vkSetLocalDimmingAMD( vkGetDeviceProcAddr( device, "vkSetLocalDimmingAMD" ) ); 1211 vkSetPrivateDataEXT = PFN_vkSetPrivateDataEXT( vkGetDeviceProcAddr( device, "vkSetPrivateDataEXT" ) ); 1212 vkSignalSemaphore = PFN_vkSignalSemaphore( vkGetDeviceProcAddr( device, "vkSignalSemaphore" ) ); 1213 vkSignalSemaphoreKHR = PFN_vkSignalSemaphoreKHR( vkGetDeviceProcAddr( device, "vkSignalSemaphoreKHR" ) ); 1214 if ( !vkSignalSemaphore ) 1215 vkSignalSemaphore = vkSignalSemaphoreKHR; 1216 vkTrimCommandPool = PFN_vkTrimCommandPool( vkGetDeviceProcAddr( device, "vkTrimCommandPool" ) ); 1217 vkTrimCommandPoolKHR = PFN_vkTrimCommandPoolKHR( vkGetDeviceProcAddr( device, "vkTrimCommandPoolKHR" ) ); 1218 if ( !vkTrimCommandPool ) 1219 vkTrimCommandPool = vkTrimCommandPoolKHR; 1220 vkUninitializePerformanceApiINTEL = 1221 PFN_vkUninitializePerformanceApiINTEL( vkGetDeviceProcAddr( device, "vkUninitializePerformanceApiINTEL" ) ); 1222 vkUnmapMemory = PFN_vkUnmapMemory( vkGetDeviceProcAddr( device, "vkUnmapMemory" ) ); 1223 vkUpdateDescriptorSetWithTemplate = 1224 PFN_vkUpdateDescriptorSetWithTemplate( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSetWithTemplate" ) ); 1225 vkUpdateDescriptorSetWithTemplateKHR = PFN_vkUpdateDescriptorSetWithTemplateKHR( 1226 vkGetDeviceProcAddr( device, "vkUpdateDescriptorSetWithTemplateKHR" ) ); 1227 if ( !vkUpdateDescriptorSetWithTemplate ) 1228 vkUpdateDescriptorSetWithTemplate = vkUpdateDescriptorSetWithTemplateKHR; 1229 vkUpdateDescriptorSets = PFN_vkUpdateDescriptorSets( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSets" ) ); 1230 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 1231 vkUpdateVideoSessionParametersKHR = 1232 PFN_vkUpdateVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkUpdateVideoSessionParametersKHR" ) ); 1233 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 1234 vkWaitForFences = PFN_vkWaitForFences( vkGetDeviceProcAddr( device, "vkWaitForFences" ) ); 1235 vkWaitSemaphores = PFN_vkWaitSemaphores( vkGetDeviceProcAddr( device, "vkWaitSemaphores" ) ); 1236 vkWaitSemaphoresKHR = PFN_vkWaitSemaphoresKHR( vkGetDeviceProcAddr( device, "vkWaitSemaphoresKHR" ) ); 1237 if ( !vkWaitSemaphores ) 1238 vkWaitSemaphores = vkWaitSemaphoresKHR; 1239 vkWriteAccelerationStructuresPropertiesKHR = PFN_vkWriteAccelerationStructuresPropertiesKHR( 1240 vkGetDeviceProcAddr( device, "vkWriteAccelerationStructuresPropertiesKHR" ) ); 1241 } 1242 1243 public: 1244 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 1245 PFN_vkAcquireFullScreenExclusiveModeEXT vkAcquireFullScreenExclusiveModeEXT = 0; 1246 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 1247 PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR = 0; 1248 PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR = 0; 1249 PFN_vkAcquirePerformanceConfigurationINTEL vkAcquirePerformanceConfigurationINTEL = 0; 1250 PFN_vkAcquireProfilingLockKHR vkAcquireProfilingLockKHR = 0; 1251 PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers = 0; 1252 PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets = 0; 1253 PFN_vkAllocateMemory vkAllocateMemory = 0; 1254 PFN_vkBeginCommandBuffer vkBeginCommandBuffer = 0; 1255 PFN_vkBindAccelerationStructureMemoryNV vkBindAccelerationStructureMemoryNV = 0; 1256 PFN_vkBindBufferMemory vkBindBufferMemory = 0; 1257 PFN_vkBindBufferMemory2 vkBindBufferMemory2 = 0; 1258 PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR = 0; 1259 PFN_vkBindImageMemory vkBindImageMemory = 0; 1260 PFN_vkBindImageMemory2 vkBindImageMemory2 = 0; 1261 PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR = 0; 1262 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 1263 PFN_vkBindVideoSessionMemoryKHR vkBindVideoSessionMemoryKHR = 0; 1264 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 1265 PFN_vkBuildAccelerationStructuresKHR vkBuildAccelerationStructuresKHR = 0; 1266 PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT = 0; 1267 PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT = 0; 1268 PFN_vkCmdBeginQuery vkCmdBeginQuery = 0; 1269 PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT = 0; 1270 PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass = 0; 1271 PFN_vkCmdBeginRenderPass2 vkCmdBeginRenderPass2 = 0; 1272 PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR = 0; 1273 PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT = 0; 1274 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 1275 PFN_vkCmdBeginVideoCodingKHR vkCmdBeginVideoCodingKHR = 0; 1276 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 1277 PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets = 0; 1278 PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer = 0; 1279 PFN_vkCmdBindPipeline vkCmdBindPipeline = 0; 1280 PFN_vkCmdBindPipelineShaderGroupNV vkCmdBindPipelineShaderGroupNV = 0; 1281 PFN_vkCmdBindShadingRateImageNV vkCmdBindShadingRateImageNV = 0; 1282 PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT = 0; 1283 PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers = 0; 1284 PFN_vkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXT = 0; 1285 PFN_vkCmdBlitImage vkCmdBlitImage = 0; 1286 PFN_vkCmdBlitImage2KHR vkCmdBlitImage2KHR = 0; 1287 PFN_vkCmdBuildAccelerationStructureNV vkCmdBuildAccelerationStructureNV = 0; 1288 PFN_vkCmdBuildAccelerationStructuresIndirectKHR vkCmdBuildAccelerationStructuresIndirectKHR = 0; 1289 PFN_vkCmdBuildAccelerationStructuresKHR vkCmdBuildAccelerationStructuresKHR = 0; 1290 PFN_vkCmdClearAttachments vkCmdClearAttachments = 0; 1291 PFN_vkCmdClearColorImage vkCmdClearColorImage = 0; 1292 PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage = 0; 1293 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 1294 PFN_vkCmdControlVideoCodingKHR vkCmdControlVideoCodingKHR = 0; 1295 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 1296 PFN_vkCmdCopyAccelerationStructureKHR vkCmdCopyAccelerationStructureKHR = 0; 1297 PFN_vkCmdCopyAccelerationStructureNV vkCmdCopyAccelerationStructureNV = 0; 1298 PFN_vkCmdCopyAccelerationStructureToMemoryKHR vkCmdCopyAccelerationStructureToMemoryKHR = 0; 1299 PFN_vkCmdCopyBuffer vkCmdCopyBuffer = 0; 1300 PFN_vkCmdCopyBuffer2KHR vkCmdCopyBuffer2KHR = 0; 1301 PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage = 0; 1302 PFN_vkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHR = 0; 1303 PFN_vkCmdCopyImage vkCmdCopyImage = 0; 1304 PFN_vkCmdCopyImage2KHR vkCmdCopyImage2KHR = 0; 1305 PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer = 0; 1306 PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR = 0; 1307 PFN_vkCmdCopyMemoryToAccelerationStructureKHR vkCmdCopyMemoryToAccelerationStructureKHR = 0; 1308 PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults = 0; 1309 PFN_vkCmdCuLaunchKernelNVX vkCmdCuLaunchKernelNVX = 0; 1310 PFN_vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT = 0; 1311 PFN_vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT = 0; 1312 PFN_vkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXT = 0; 1313 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 1314 PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR = 0; 1315 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 1316 PFN_vkCmdDispatch vkCmdDispatch = 0; 1317 PFN_vkCmdDispatchBase vkCmdDispatchBase = 0; 1318 PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR = 0; 1319 PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect = 0; 1320 PFN_vkCmdDraw vkCmdDraw = 0; 1321 PFN_vkCmdDrawIndexed vkCmdDrawIndexed = 0; 1322 PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect = 0; 1323 PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount = 0; 1324 PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD = 0; 1325 PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR = 0; 1326 PFN_vkCmdDrawIndirect vkCmdDrawIndirect = 0; 1327 PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT = 0; 1328 PFN_vkCmdDrawIndirectCount vkCmdDrawIndirectCount = 0; 1329 PFN_vkCmdDrawIndirectCountAMD vkCmdDrawIndirectCountAMD = 0; 1330 PFN_vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR = 0; 1331 PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV = 0; 1332 PFN_vkCmdDrawMeshTasksIndirectNV vkCmdDrawMeshTasksIndirectNV = 0; 1333 PFN_vkCmdDrawMeshTasksNV vkCmdDrawMeshTasksNV = 0; 1334 PFN_vkCmdDrawMultiEXT vkCmdDrawMultiEXT = 0; 1335 PFN_vkCmdDrawMultiIndexedEXT vkCmdDrawMultiIndexedEXT = 0; 1336 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 1337 PFN_vkCmdEncodeVideoKHR vkCmdEncodeVideoKHR = 0; 1338 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 1339 PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT = 0; 1340 PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT = 0; 1341 PFN_vkCmdEndQuery vkCmdEndQuery = 0; 1342 PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT = 0; 1343 PFN_vkCmdEndRenderPass vkCmdEndRenderPass = 0; 1344 PFN_vkCmdEndRenderPass2 vkCmdEndRenderPass2 = 0; 1345 PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR = 0; 1346 PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT = 0; 1347 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 1348 PFN_vkCmdEndVideoCodingKHR vkCmdEndVideoCodingKHR = 0; 1349 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 1350 PFN_vkCmdExecuteCommands vkCmdExecuteCommands = 0; 1351 PFN_vkCmdExecuteGeneratedCommandsNV vkCmdExecuteGeneratedCommandsNV = 0; 1352 PFN_vkCmdFillBuffer vkCmdFillBuffer = 0; 1353 PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT = 0; 1354 PFN_vkCmdNextSubpass vkCmdNextSubpass = 0; 1355 PFN_vkCmdNextSubpass2 vkCmdNextSubpass2 = 0; 1356 PFN_vkCmdNextSubpass2KHR vkCmdNextSubpass2KHR = 0; 1357 PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier = 0; 1358 PFN_vkCmdPipelineBarrier2KHR vkCmdPipelineBarrier2KHR = 0; 1359 PFN_vkCmdPreprocessGeneratedCommandsNV vkCmdPreprocessGeneratedCommandsNV = 0; 1360 PFN_vkCmdPushConstants vkCmdPushConstants = 0; 1361 PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR = 0; 1362 PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR = 0; 1363 PFN_vkCmdResetEvent vkCmdResetEvent = 0; 1364 PFN_vkCmdResetEvent2KHR vkCmdResetEvent2KHR = 0; 1365 PFN_vkCmdResetQueryPool vkCmdResetQueryPool = 0; 1366 PFN_vkCmdResolveImage vkCmdResolveImage = 0; 1367 PFN_vkCmdResolveImage2KHR vkCmdResolveImage2KHR = 0; 1368 PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants = 0; 1369 PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV = 0; 1370 PFN_vkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNV = 0; 1371 PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT = 0; 1372 PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT = 0; 1373 PFN_vkCmdSetDepthBias vkCmdSetDepthBias = 0; 1374 PFN_vkCmdSetDepthBiasEnableEXT vkCmdSetDepthBiasEnableEXT = 0; 1375 PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds = 0; 1376 PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT = 0; 1377 PFN_vkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXT = 0; 1378 PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT = 0; 1379 PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT = 0; 1380 PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask = 0; 1381 PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR = 0; 1382 PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT = 0; 1383 PFN_vkCmdSetEvent vkCmdSetEvent = 0; 1384 PFN_vkCmdSetEvent2KHR vkCmdSetEvent2KHR = 0; 1385 PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV = 0; 1386 PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV = 0; 1387 PFN_vkCmdSetFragmentShadingRateKHR vkCmdSetFragmentShadingRateKHR = 0; 1388 PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT = 0; 1389 PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT = 0; 1390 PFN_vkCmdSetLineWidth vkCmdSetLineWidth = 0; 1391 PFN_vkCmdSetLogicOpEXT vkCmdSetLogicOpEXT = 0; 1392 PFN_vkCmdSetPatchControlPointsEXT vkCmdSetPatchControlPointsEXT = 0; 1393 PFN_vkCmdSetPerformanceMarkerINTEL vkCmdSetPerformanceMarkerINTEL = 0; 1394 PFN_vkCmdSetPerformanceOverrideINTEL vkCmdSetPerformanceOverrideINTEL = 0; 1395 PFN_vkCmdSetPerformanceStreamMarkerINTEL vkCmdSetPerformanceStreamMarkerINTEL = 0; 1396 PFN_vkCmdSetPrimitiveRestartEnableEXT vkCmdSetPrimitiveRestartEnableEXT = 0; 1397 PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT = 0; 1398 PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT = 0; 1399 PFN_vkCmdSetRayTracingPipelineStackSizeKHR vkCmdSetRayTracingPipelineStackSizeKHR = 0; 1400 PFN_vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT = 0; 1401 PFN_vkCmdSetScissor vkCmdSetScissor = 0; 1402 PFN_vkCmdSetScissorWithCountEXT vkCmdSetScissorWithCountEXT = 0; 1403 PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask = 0; 1404 PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT = 0; 1405 PFN_vkCmdSetStencilReference vkCmdSetStencilReference = 0; 1406 PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT = 0; 1407 PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask = 0; 1408 PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT = 0; 1409 PFN_vkCmdSetViewport vkCmdSetViewport = 0; 1410 PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV = 0; 1411 PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV = 0; 1412 PFN_vkCmdSetViewportWithCountEXT vkCmdSetViewportWithCountEXT = 0; 1413 PFN_vkCmdSubpassShadingHUAWEI vkCmdSubpassShadingHUAWEI = 0; 1414 PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR = 0; 1415 PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR = 0; 1416 PFN_vkCmdTraceRaysNV vkCmdTraceRaysNV = 0; 1417 PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer = 0; 1418 PFN_vkCmdWaitEvents vkCmdWaitEvents = 0; 1419 PFN_vkCmdWaitEvents2KHR vkCmdWaitEvents2KHR = 0; 1420 PFN_vkCmdWriteAccelerationStructuresPropertiesKHR vkCmdWriteAccelerationStructuresPropertiesKHR = 0; 1421 PFN_vkCmdWriteAccelerationStructuresPropertiesNV vkCmdWriteAccelerationStructuresPropertiesNV = 0; 1422 PFN_vkCmdWriteBufferMarker2AMD vkCmdWriteBufferMarker2AMD = 0; 1423 PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD = 0; 1424 PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp = 0; 1425 PFN_vkCmdWriteTimestamp2KHR vkCmdWriteTimestamp2KHR = 0; 1426 PFN_vkCompileDeferredNV vkCompileDeferredNV = 0; 1427 PFN_vkCopyAccelerationStructureKHR vkCopyAccelerationStructureKHR = 0; 1428 PFN_vkCopyAccelerationStructureToMemoryKHR vkCopyAccelerationStructureToMemoryKHR = 0; 1429 PFN_vkCopyMemoryToAccelerationStructureKHR vkCopyMemoryToAccelerationStructureKHR = 0; 1430 PFN_vkCreateAccelerationStructureKHR vkCreateAccelerationStructureKHR = 0; 1431 PFN_vkCreateAccelerationStructureNV vkCreateAccelerationStructureNV = 0; 1432 PFN_vkCreateBuffer vkCreateBuffer = 0; 1433 PFN_vkCreateBufferView vkCreateBufferView = 0; 1434 PFN_vkCreateCommandPool vkCreateCommandPool = 0; 1435 PFN_vkCreateComputePipelines vkCreateComputePipelines = 0; 1436 PFN_vkCreateCuFunctionNVX vkCreateCuFunctionNVX = 0; 1437 PFN_vkCreateCuModuleNVX vkCreateCuModuleNVX = 0; 1438 PFN_vkCreateDeferredOperationKHR vkCreateDeferredOperationKHR = 0; 1439 PFN_vkCreateDescriptorPool vkCreateDescriptorPool = 0; 1440 PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout = 0; 1441 PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate = 0; 1442 PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR = 0; 1443 PFN_vkCreateEvent vkCreateEvent = 0; 1444 PFN_vkCreateFence vkCreateFence = 0; 1445 PFN_vkCreateFramebuffer vkCreateFramebuffer = 0; 1446 PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines = 0; 1447 PFN_vkCreateImage vkCreateImage = 0; 1448 PFN_vkCreateImageView vkCreateImageView = 0; 1449 PFN_vkCreateIndirectCommandsLayoutNV vkCreateIndirectCommandsLayoutNV = 0; 1450 PFN_vkCreatePipelineCache vkCreatePipelineCache = 0; 1451 PFN_vkCreatePipelineLayout vkCreatePipelineLayout = 0; 1452 PFN_vkCreatePrivateDataSlotEXT vkCreatePrivateDataSlotEXT = 0; 1453 PFN_vkCreateQueryPool vkCreateQueryPool = 0; 1454 PFN_vkCreateRayTracingPipelinesKHR vkCreateRayTracingPipelinesKHR = 0; 1455 PFN_vkCreateRayTracingPipelinesNV vkCreateRayTracingPipelinesNV = 0; 1456 PFN_vkCreateRenderPass vkCreateRenderPass = 0; 1457 PFN_vkCreateRenderPass2 vkCreateRenderPass2 = 0; 1458 PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR = 0; 1459 PFN_vkCreateSampler vkCreateSampler = 0; 1460 PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion = 0; 1461 PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR = 0; 1462 PFN_vkCreateSemaphore vkCreateSemaphore = 0; 1463 PFN_vkCreateShaderModule vkCreateShaderModule = 0; 1464 PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR = 0; 1465 PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR = 0; 1466 PFN_vkCreateValidationCacheEXT vkCreateValidationCacheEXT = 0; 1467 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 1468 PFN_vkCreateVideoSessionKHR vkCreateVideoSessionKHR = 0; 1469 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 1470 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 1471 PFN_vkCreateVideoSessionParametersKHR vkCreateVideoSessionParametersKHR = 0; 1472 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 1473 PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT = 0; 1474 PFN_vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT = 0; 1475 PFN_vkDeferredOperationJoinKHR vkDeferredOperationJoinKHR = 0; 1476 PFN_vkDestroyAccelerationStructureKHR vkDestroyAccelerationStructureKHR = 0; 1477 PFN_vkDestroyAccelerationStructureNV vkDestroyAccelerationStructureNV = 0; 1478 PFN_vkDestroyBuffer vkDestroyBuffer = 0; 1479 PFN_vkDestroyBufferView vkDestroyBufferView = 0; 1480 PFN_vkDestroyCommandPool vkDestroyCommandPool = 0; 1481 PFN_vkDestroyCuFunctionNVX vkDestroyCuFunctionNVX = 0; 1482 PFN_vkDestroyCuModuleNVX vkDestroyCuModuleNVX = 0; 1483 PFN_vkDestroyDeferredOperationKHR vkDestroyDeferredOperationKHR = 0; 1484 PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool = 0; 1485 PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout = 0; 1486 PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate = 0; 1487 PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR = 0; 1488 PFN_vkDestroyDevice vkDestroyDevice = 0; 1489 PFN_vkDestroyEvent vkDestroyEvent = 0; 1490 PFN_vkDestroyFence vkDestroyFence = 0; 1491 PFN_vkDestroyFramebuffer vkDestroyFramebuffer = 0; 1492 PFN_vkDestroyImage vkDestroyImage = 0; 1493 PFN_vkDestroyImageView vkDestroyImageView = 0; 1494 PFN_vkDestroyIndirectCommandsLayoutNV vkDestroyIndirectCommandsLayoutNV = 0; 1495 PFN_vkDestroyPipeline vkDestroyPipeline = 0; 1496 PFN_vkDestroyPipelineCache vkDestroyPipelineCache = 0; 1497 PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout = 0; 1498 PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT = 0; 1499 PFN_vkDestroyQueryPool vkDestroyQueryPool = 0; 1500 PFN_vkDestroyRenderPass vkDestroyRenderPass = 0; 1501 PFN_vkDestroySampler vkDestroySampler = 0; 1502 PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion = 0; 1503 PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR = 0; 1504 PFN_vkDestroySemaphore vkDestroySemaphore = 0; 1505 PFN_vkDestroyShaderModule vkDestroyShaderModule = 0; 1506 PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR = 0; 1507 PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT = 0; 1508 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 1509 PFN_vkDestroyVideoSessionKHR vkDestroyVideoSessionKHR = 0; 1510 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 1511 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 1512 PFN_vkDestroyVideoSessionParametersKHR vkDestroyVideoSessionParametersKHR = 0; 1513 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 1514 PFN_vkDeviceWaitIdle vkDeviceWaitIdle = 0; 1515 PFN_vkDisplayPowerControlEXT vkDisplayPowerControlEXT = 0; 1516 PFN_vkEndCommandBuffer vkEndCommandBuffer = 0; 1517 PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges = 0; 1518 PFN_vkFreeCommandBuffers vkFreeCommandBuffers = 0; 1519 PFN_vkFreeDescriptorSets vkFreeDescriptorSets = 0; 1520 PFN_vkFreeMemory vkFreeMemory = 0; 1521 PFN_vkGetAccelerationStructureBuildSizesKHR vkGetAccelerationStructureBuildSizesKHR = 0; 1522 PFN_vkGetAccelerationStructureDeviceAddressKHR vkGetAccelerationStructureDeviceAddressKHR = 0; 1523 PFN_vkGetAccelerationStructureHandleNV vkGetAccelerationStructureHandleNV = 0; 1524 PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV = 0; 1525 # if defined( VK_USE_PLATFORM_ANDROID_KHR ) 1526 PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID = 0; 1527 # endif /*VK_USE_PLATFORM_ANDROID_KHR*/ 1528 PFN_vkGetBufferDeviceAddress vkGetBufferDeviceAddress = 0; 1529 PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT = 0; 1530 PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR = 0; 1531 PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements = 0; 1532 PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2 = 0; 1533 PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR = 0; 1534 PFN_vkGetBufferOpaqueCaptureAddress vkGetBufferOpaqueCaptureAddress = 0; 1535 PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR = 0; 1536 PFN_vkGetCalibratedTimestampsEXT vkGetCalibratedTimestampsEXT = 0; 1537 PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR = 0; 1538 PFN_vkGetDeferredOperationResultKHR vkGetDeferredOperationResultKHR = 0; 1539 PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport = 0; 1540 PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR = 0; 1541 PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR = 0; 1542 PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures = 0; 1543 PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR = 0; 1544 PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR = 0; 1545 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 1546 PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT = 0; 1547 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 1548 PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR = 0; 1549 PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment = 0; 1550 PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress = 0; 1551 PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR = 0; 1552 PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr = 0; 1553 PFN_vkGetDeviceQueue vkGetDeviceQueue = 0; 1554 PFN_vkGetDeviceQueue2 vkGetDeviceQueue2 = 0; 1555 PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = 0; 1556 PFN_vkGetEventStatus vkGetEventStatus = 0; 1557 PFN_vkGetFenceFdKHR vkGetFenceFdKHR = 0; 1558 PFN_vkGetFenceStatus vkGetFenceStatus = 0; 1559 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 1560 PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR = 0; 1561 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 1562 PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV = 0; 1563 PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT = 0; 1564 PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements = 0; 1565 PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2 = 0; 1566 PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR = 0; 1567 PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements = 0; 1568 PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2 = 0; 1569 PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR = 0; 1570 PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout = 0; 1571 PFN_vkGetImageViewAddressNVX vkGetImageViewAddressNVX = 0; 1572 PFN_vkGetImageViewHandleNVX vkGetImageViewHandleNVX = 0; 1573 # if defined( VK_USE_PLATFORM_ANDROID_KHR ) 1574 PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID = 0; 1575 # endif /*VK_USE_PLATFORM_ANDROID_KHR*/ 1576 PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR = 0; 1577 PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR = 0; 1578 PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT = 0; 1579 PFN_vkGetMemoryRemoteAddressNV vkGetMemoryRemoteAddressNV = 0; 1580 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 1581 PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR = 0; 1582 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 1583 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 1584 PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV = 0; 1585 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 1586 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 1587 PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR = 0; 1588 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 1589 # if defined( VK_USE_PLATFORM_FUCHSIA ) 1590 PFN_vkGetMemoryZirconHandleFUCHSIA vkGetMemoryZirconHandleFUCHSIA = 0; 1591 # endif /*VK_USE_PLATFORM_FUCHSIA*/ 1592 # if defined( VK_USE_PLATFORM_FUCHSIA ) 1593 PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA vkGetMemoryZirconHandlePropertiesFUCHSIA = 0; 1594 # endif /*VK_USE_PLATFORM_FUCHSIA*/ 1595 PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE = 0; 1596 PFN_vkGetPerformanceParameterINTEL vkGetPerformanceParameterINTEL = 0; 1597 PFN_vkGetPipelineCacheData vkGetPipelineCacheData = 0; 1598 PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR = 0; 1599 PFN_vkGetPipelineExecutablePropertiesKHR vkGetPipelineExecutablePropertiesKHR = 0; 1600 PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR = 0; 1601 PFN_vkGetPrivateDataEXT vkGetPrivateDataEXT = 0; 1602 PFN_vkGetQueryPoolResults vkGetQueryPoolResults = 0; 1603 PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV = 0; 1604 PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV = 0; 1605 PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = 0; 1606 PFN_vkGetRayTracingShaderGroupHandlesKHR vkGetRayTracingShaderGroupHandlesKHR = 0; 1607 PFN_vkGetRayTracingShaderGroupHandlesNV vkGetRayTracingShaderGroupHandlesNV = 0; 1608 PFN_vkGetRayTracingShaderGroupStackSizeKHR vkGetRayTracingShaderGroupStackSizeKHR = 0; 1609 PFN_vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE = 0; 1610 PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity = 0; 1611 PFN_vkGetSemaphoreCounterValue vkGetSemaphoreCounterValue = 0; 1612 PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR = 0; 1613 PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR = 0; 1614 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 1615 PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR = 0; 1616 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 1617 # if defined( VK_USE_PLATFORM_FUCHSIA ) 1618 PFN_vkGetSemaphoreZirconHandleFUCHSIA vkGetSemaphoreZirconHandleFUCHSIA = 0; 1619 # endif /*VK_USE_PLATFORM_FUCHSIA*/ 1620 PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD = 0; 1621 PFN_vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT = 0; 1622 PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR = 0; 1623 PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR = 0; 1624 PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT = 0; 1625 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 1626 PFN_vkGetVideoSessionMemoryRequirementsKHR vkGetVideoSessionMemoryRequirementsKHR = 0; 1627 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 1628 PFN_vkImportFenceFdKHR vkImportFenceFdKHR = 0; 1629 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 1630 PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR = 0; 1631 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 1632 PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR = 0; 1633 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 1634 PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR = 0; 1635 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 1636 # if defined( VK_USE_PLATFORM_FUCHSIA ) 1637 PFN_vkImportSemaphoreZirconHandleFUCHSIA vkImportSemaphoreZirconHandleFUCHSIA = 0; 1638 # endif /*VK_USE_PLATFORM_FUCHSIA*/ 1639 PFN_vkInitializePerformanceApiINTEL vkInitializePerformanceApiINTEL = 0; 1640 PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges = 0; 1641 PFN_vkMapMemory vkMapMemory = 0; 1642 PFN_vkMergePipelineCaches vkMergePipelineCaches = 0; 1643 PFN_vkMergeValidationCachesEXT vkMergeValidationCachesEXT = 0; 1644 PFN_vkQueueBeginDebugUtilsLabelEXT vkQueueBeginDebugUtilsLabelEXT = 0; 1645 PFN_vkQueueBindSparse vkQueueBindSparse = 0; 1646 PFN_vkQueueEndDebugUtilsLabelEXT vkQueueEndDebugUtilsLabelEXT = 0; 1647 PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT = 0; 1648 PFN_vkQueuePresentKHR vkQueuePresentKHR = 0; 1649 PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL = 0; 1650 PFN_vkQueueSubmit vkQueueSubmit = 0; 1651 PFN_vkQueueSubmit2KHR vkQueueSubmit2KHR = 0; 1652 PFN_vkQueueWaitIdle vkQueueWaitIdle = 0; 1653 PFN_vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT = 0; 1654 PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT = 0; 1655 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 1656 PFN_vkReleaseFullScreenExclusiveModeEXT vkReleaseFullScreenExclusiveModeEXT = 0; 1657 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 1658 PFN_vkReleasePerformanceConfigurationINTEL vkReleasePerformanceConfigurationINTEL = 0; 1659 PFN_vkReleaseProfilingLockKHR vkReleaseProfilingLockKHR = 0; 1660 PFN_vkResetCommandBuffer vkResetCommandBuffer = 0; 1661 PFN_vkResetCommandPool vkResetCommandPool = 0; 1662 PFN_vkResetDescriptorPool vkResetDescriptorPool = 0; 1663 PFN_vkResetEvent vkResetEvent = 0; 1664 PFN_vkResetFences vkResetFences = 0; 1665 PFN_vkResetQueryPool vkResetQueryPool = 0; 1666 PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT = 0; 1667 PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT = 0; 1668 PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT = 0; 1669 PFN_vkSetEvent vkSetEvent = 0; 1670 PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT = 0; 1671 PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD = 0; 1672 PFN_vkSetPrivateDataEXT vkSetPrivateDataEXT = 0; 1673 PFN_vkSignalSemaphore vkSignalSemaphore = 0; 1674 PFN_vkSignalSemaphoreKHR vkSignalSemaphoreKHR = 0; 1675 PFN_vkTrimCommandPool vkTrimCommandPool = 0; 1676 PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR = 0; 1677 PFN_vkUninitializePerformanceApiINTEL vkUninitializePerformanceApiINTEL = 0; 1678 PFN_vkUnmapMemory vkUnmapMemory = 0; 1679 PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate = 0; 1680 PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR = 0; 1681 PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets = 0; 1682 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 1683 PFN_vkUpdateVideoSessionParametersKHR vkUpdateVideoSessionParametersKHR = 0; 1684 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 1685 PFN_vkWaitForFences vkWaitForFences = 0; 1686 PFN_vkWaitSemaphores vkWaitSemaphores = 0; 1687 PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR = 0; 1688 PFN_vkWriteAccelerationStructuresPropertiesKHR vkWriteAccelerationStructuresPropertiesKHR = 0; 1689 }; 1690 1691 class Context 1692 { 1693 public: Context()1694 Context() : m_dispatcher( m_dynamicLoader.getProcAddress<PFN_vkGetInstanceProcAddr>( "vkGetInstanceProcAddr" ) ) 1695 {} 1696 1697 ~Context() = default; 1698 1699 Context( Context const & ) = delete; Context(Context && rhs)1700 Context( Context && rhs ) VULKAN_HPP_NOEXCEPT 1701 : m_dynamicLoader( std::move( rhs.m_dynamicLoader ) ) 1702 , m_dispatcher( std::move( rhs.m_dispatcher ) ) 1703 {} 1704 Context & operator=( Context const & ) = delete; operator =(Context && rhs)1705 Context & operator =( Context && rhs ) VULKAN_HPP_NOEXCEPT 1706 { 1707 if ( this != &rhs ) 1708 { 1709 m_dynamicLoader = std::move( rhs.m_dynamicLoader ); 1710 m_dispatcher = std::move( rhs.m_dispatcher ); 1711 } 1712 return *this; 1713 } 1714 1715 //=== VK_VERSION_1_0 === 1716 1717 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties> enumerateInstanceExtensionProperties( 1718 Optional<const std::string> layerName VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT ) const; 1719 1720 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::LayerProperties> enumerateInstanceLayerProperties() const; 1721 1722 //=== VK_VERSION_1_1 === 1723 1724 VULKAN_HPP_NODISCARD uint32_t enumerateInstanceVersion() const; 1725 getDispatcher() const1726 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::ContextDispatcher const * getDispatcher() const 1727 { 1728 return &m_dispatcher; 1729 } 1730 1731 private: 1732 VULKAN_HPP_NAMESPACE::DynamicLoader m_dynamicLoader; 1733 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::ContextDispatcher m_dispatcher; 1734 }; 1735 1736 class Instance 1737 { 1738 public: 1739 using CType = VkInstance; 1740 1741 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 1742 VULKAN_HPP_NAMESPACE::ObjectType::eInstance; 1743 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 1744 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eInstance; 1745 1746 public: Instance(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Context const & context,VULKAN_HPP_NAMESPACE::InstanceCreateInfo const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)1747 Instance( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Context const & context, 1748 VULKAN_HPP_NAMESPACE::InstanceCreateInfo const & createInfo, 1749 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 1750 : m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 1751 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 1752 , m_dispatcher( context.getDispatcher()->vkGetInstanceProcAddr ) 1753 { 1754 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 1755 context.getDispatcher()->vkCreateInstance( reinterpret_cast<const VkInstanceCreateInfo *>( &createInfo ), 1756 m_allocator, 1757 reinterpret_cast<VkInstance *>( &m_instance ) ) ); 1758 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 1759 { 1760 throwResultException( result, "vkCreateInstance" ); 1761 } 1762 m_dispatcher.init( static_cast<VkInstance>( m_instance ) ); 1763 } 1764 Instance(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Context const & context,VkInstance instance,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)1765 Instance( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Context const & context, 1766 VkInstance instance, 1767 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 1768 : m_instance( instance ) 1769 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 1770 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 1771 , m_dispatcher( context.getDispatcher()->vkGetInstanceProcAddr ) 1772 { 1773 m_dispatcher.init( static_cast<VkInstance>( m_instance ) ); 1774 } 1775 ~Instance()1776 ~Instance() 1777 { 1778 if ( m_instance ) 1779 { 1780 getDispatcher()->vkDestroyInstance( static_cast<VkInstance>( m_instance ), m_allocator ); 1781 } 1782 } 1783 1784 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 1785 Instance() = default; 1786 # else 1787 Instance() = delete; 1788 # endif 1789 Instance( Instance const & ) = delete; Instance(Instance && rhs)1790 Instance( Instance && rhs ) VULKAN_HPP_NOEXCEPT 1791 : m_instance( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_instance, {} ) ) 1792 , m_allocator( rhs.m_allocator ) 1793 , m_dispatcher( rhs.m_dispatcher ) 1794 {} 1795 Instance & operator=( Instance const & ) = delete; operator =(Instance && rhs)1796 Instance & operator =( Instance && rhs ) VULKAN_HPP_NOEXCEPT 1797 { 1798 if ( this != &rhs ) 1799 { 1800 if ( m_instance ) 1801 { 1802 getDispatcher()->vkDestroyInstance( static_cast<VkInstance>( m_instance ), m_allocator ); 1803 } 1804 m_instance = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_instance, {} ); 1805 m_allocator = rhs.m_allocator; 1806 m_dispatcher = rhs.m_dispatcher; 1807 } 1808 return *this; 1809 } 1810 operator *() const1811 VULKAN_HPP_NAMESPACE::Instance const & operator*() const VULKAN_HPP_NOEXCEPT 1812 { 1813 return m_instance; 1814 } 1815 getDispatcher() const1816 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * getDispatcher() const 1817 { 1818 return &m_dispatcher; 1819 } 1820 1821 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const1822 explicit operator bool() const VULKAN_HPP_NOEXCEPT 1823 { 1824 return m_instance.operator bool(); 1825 } 1826 operator !() const1827 bool operator!() const VULKAN_HPP_NOEXCEPT 1828 { 1829 return m_instance.operator!(); 1830 } 1831 # endif 1832 1833 //=== VK_VERSION_1_0 === 1834 1835 VULKAN_HPP_NODISCARD PFN_vkVoidFunction getProcAddr( const std::string & name ) const VULKAN_HPP_NOEXCEPT; 1836 1837 //=== VK_VERSION_1_1 === 1838 1839 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties> 1840 enumeratePhysicalDeviceGroups() const; 1841 1842 //=== VK_EXT_debug_report === 1843 1844 void debugReportMessageEXT( VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags, 1845 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType_, 1846 uint64_t object, 1847 size_t location, 1848 int32_t messageCode, 1849 const std::string & layerPrefix, 1850 const std::string & message ) const VULKAN_HPP_NOEXCEPT; 1851 1852 //=== VK_KHR_device_group_creation === 1853 1854 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties> 1855 enumeratePhysicalDeviceGroupsKHR() const; 1856 1857 //=== VK_EXT_debug_utils === 1858 1859 void 1860 submitDebugUtilsMessageEXT( VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 1861 VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageTypes, 1862 const DebugUtilsMessengerCallbackDataEXT & callbackData ) const VULKAN_HPP_NOEXCEPT; 1863 1864 private: 1865 VULKAN_HPP_NAMESPACE::Instance m_instance; 1866 const VkAllocationCallbacks * m_allocator; 1867 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher m_dispatcher; 1868 }; 1869 1870 class PhysicalDevice 1871 { 1872 public: 1873 using CType = VkPhysicalDevice; 1874 1875 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 1876 VULKAN_HPP_NAMESPACE::ObjectType::ePhysicalDevice; 1877 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 1878 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::ePhysicalDevice; 1879 1880 public: PhysicalDevice(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance,VkPhysicalDevice physicalDevice)1881 PhysicalDevice( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, 1882 VkPhysicalDevice physicalDevice ) 1883 : m_physicalDevice( physicalDevice ), m_dispatcher( instance.getDispatcher() ) 1884 {} 1885 PhysicalDevice(VkPhysicalDevice physicalDevice,VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * dispatcher)1886 PhysicalDevice( VkPhysicalDevice physicalDevice, 1887 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * dispatcher ) 1888 : m_physicalDevice( physicalDevice ), m_dispatcher( dispatcher ) 1889 {} 1890 1891 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 1892 PhysicalDevice() = default; 1893 # else 1894 PhysicalDevice() = delete; 1895 # endif 1896 PhysicalDevice( PhysicalDevice const & ) = delete; PhysicalDevice(PhysicalDevice && rhs)1897 PhysicalDevice( PhysicalDevice && rhs ) VULKAN_HPP_NOEXCEPT 1898 : m_physicalDevice( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_physicalDevice, {} ) ) 1899 , m_dispatcher( rhs.m_dispatcher ) 1900 {} 1901 PhysicalDevice & operator=( PhysicalDevice const & ) = delete; operator =(PhysicalDevice && rhs)1902 PhysicalDevice & operator =( PhysicalDevice && rhs ) VULKAN_HPP_NOEXCEPT 1903 { 1904 if ( this != &rhs ) 1905 { 1906 m_physicalDevice = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_physicalDevice, {} ); 1907 m_dispatcher = rhs.m_dispatcher; 1908 } 1909 return *this; 1910 } 1911 operator *() const1912 VULKAN_HPP_NAMESPACE::PhysicalDevice const & operator*() const VULKAN_HPP_NOEXCEPT 1913 { 1914 return m_physicalDevice; 1915 } 1916 getDispatcher() const1917 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * getDispatcher() const 1918 { 1919 return m_dispatcher; 1920 } 1921 1922 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const1923 explicit operator bool() const VULKAN_HPP_NOEXCEPT 1924 { 1925 return m_physicalDevice.operator bool(); 1926 } 1927 operator !() const1928 bool operator!() const VULKAN_HPP_NOEXCEPT 1929 { 1930 return m_physicalDevice.operator!(); 1931 } 1932 # endif 1933 1934 //=== VK_VERSION_1_0 === 1935 1936 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures getFeatures() const VULKAN_HPP_NOEXCEPT; 1937 1938 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::FormatProperties 1939 getFormatProperties( VULKAN_HPP_NAMESPACE::Format format ) const VULKAN_HPP_NOEXCEPT; 1940 1941 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ImageFormatProperties getImageFormatProperties( 1942 VULKAN_HPP_NAMESPACE::Format format, 1943 VULKAN_HPP_NAMESPACE::ImageType type, 1944 VULKAN_HPP_NAMESPACE::ImageTiling tiling, 1945 VULKAN_HPP_NAMESPACE::ImageUsageFlags usage, 1946 VULKAN_HPP_NAMESPACE::ImageCreateFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT ) const; 1947 1948 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties getProperties() const VULKAN_HPP_NOEXCEPT; 1949 1950 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties> 1951 getQueueFamilyProperties() const VULKAN_HPP_NOEXCEPT; 1952 1953 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties 1954 getMemoryProperties() const VULKAN_HPP_NOEXCEPT; 1955 1956 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties> enumerateDeviceExtensionProperties( 1957 Optional<const std::string> layerName VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT ) const; 1958 1959 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::LayerProperties> enumerateDeviceLayerProperties() const; 1960 1961 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties> 1962 getSparseImageFormatProperties( VULKAN_HPP_NAMESPACE::Format format, 1963 VULKAN_HPP_NAMESPACE::ImageType type, 1964 VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples, 1965 VULKAN_HPP_NAMESPACE::ImageUsageFlags usage, 1966 VULKAN_HPP_NAMESPACE::ImageTiling tiling ) const VULKAN_HPP_NOEXCEPT; 1967 1968 //=== VK_VERSION_1_1 === 1969 1970 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 getFeatures2() const VULKAN_HPP_NOEXCEPT; 1971 1972 template <typename X, typename Y, typename... Z> 1973 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getFeatures2() const VULKAN_HPP_NOEXCEPT; 1974 1975 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 getProperties2() const VULKAN_HPP_NOEXCEPT; 1976 1977 template <typename X, typename Y, typename... Z> 1978 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getProperties2() const VULKAN_HPP_NOEXCEPT; 1979 1980 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::FormatProperties2 1981 getFormatProperties2( VULKAN_HPP_NAMESPACE::Format format ) const VULKAN_HPP_NOEXCEPT; 1982 1983 template <typename X, typename Y, typename... Z> 1984 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> 1985 getFormatProperties2( VULKAN_HPP_NAMESPACE::Format format ) const VULKAN_HPP_NOEXCEPT; 1986 1987 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ImageFormatProperties2 1988 getImageFormatProperties2( const PhysicalDeviceImageFormatInfo2 & imageFormatInfo ) const; 1989 1990 template <typename X, typename Y, typename... Z> 1991 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> 1992 getImageFormatProperties2( const PhysicalDeviceImageFormatInfo2 & imageFormatInfo ) const; 1993 1994 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2> 1995 getQueueFamilyProperties2() const VULKAN_HPP_NOEXCEPT; 1996 1997 template <typename StructureChain> 1998 VULKAN_HPP_NODISCARD std::vector<StructureChain> getQueueFamilyProperties2() const; 1999 2000 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 2001 getMemoryProperties2() const VULKAN_HPP_NOEXCEPT; 2002 2003 template <typename X, typename Y, typename... Z> 2004 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getMemoryProperties2() const VULKAN_HPP_NOEXCEPT; 2005 2006 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2> 2007 getSparseImageFormatProperties2( const PhysicalDeviceSparseImageFormatInfo2 & formatInfo ) const 2008 VULKAN_HPP_NOEXCEPT; 2009 2010 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ExternalBufferProperties getExternalBufferProperties( 2011 const PhysicalDeviceExternalBufferInfo & externalBufferInfo ) const VULKAN_HPP_NOEXCEPT; 2012 2013 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ExternalFenceProperties getExternalFenceProperties( 2014 const PhysicalDeviceExternalFenceInfo & externalFenceInfo ) const VULKAN_HPP_NOEXCEPT; 2015 2016 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties getExternalSemaphoreProperties( 2017 const PhysicalDeviceExternalSemaphoreInfo & externalSemaphoreInfo ) const VULKAN_HPP_NOEXCEPT; 2018 2019 //=== VK_KHR_surface === 2020 2021 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Bool32 2022 getSurfaceSupportKHR( uint32_t queueFamilyIndex, VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const; 2023 2024 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR 2025 getSurfaceCapabilitiesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const; 2026 2027 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SurfaceFormatKHR> 2028 getSurfaceFormatsKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const; 2029 2030 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::PresentModeKHR> 2031 getSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const; 2032 2033 //=== VK_KHR_swapchain === 2034 2035 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::Rect2D> 2036 getPresentRectanglesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const; 2037 2038 //=== VK_KHR_display === 2039 2040 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR> getDisplayPropertiesKHR() const; 2041 2042 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR> 2043 getDisplayPlanePropertiesKHR() const; 2044 2045 # if defined( VK_USE_PLATFORM_XLIB_KHR ) 2046 //=== VK_KHR_xlib_surface === 2047 2048 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Bool32 getXlibPresentationSupportKHR( 2049 uint32_t queueFamilyIndex, Display & dpy, VisualID visualID ) const VULKAN_HPP_NOEXCEPT; 2050 # endif /*VK_USE_PLATFORM_XLIB_KHR*/ 2051 2052 # if defined( VK_USE_PLATFORM_XCB_KHR ) 2053 //=== VK_KHR_xcb_surface === 2054 2055 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Bool32 getXcbPresentationSupportKHR( 2056 uint32_t queueFamilyIndex, xcb_connection_t & connection, xcb_visualid_t visual_id ) const VULKAN_HPP_NOEXCEPT; 2057 # endif /*VK_USE_PLATFORM_XCB_KHR*/ 2058 2059 # if defined( VK_USE_PLATFORM_WAYLAND_KHR ) 2060 //=== VK_KHR_wayland_surface === 2061 2062 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Bool32 2063 getWaylandPresentationSupportKHR( uint32_t queueFamilyIndex, 2064 struct wl_display & display ) const VULKAN_HPP_NOEXCEPT; 2065 # endif /*VK_USE_PLATFORM_WAYLAND_KHR*/ 2066 2067 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 2068 //=== VK_KHR_win32_surface === 2069 2070 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Bool32 2071 getWin32PresentationSupportKHR( uint32_t queueFamilyIndex ) const VULKAN_HPP_NOEXCEPT; 2072 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 2073 2074 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 2075 //=== VK_KHR_video_queue === 2076 2077 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::VideoCapabilitiesKHR 2078 getVideoCapabilitiesKHR( const VideoProfileKHR & videoProfile ) const; 2079 2080 template <typename X, typename Y, typename... Z> 2081 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> 2082 getVideoCapabilitiesKHR( const VideoProfileKHR & videoProfile ) const; 2083 2084 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR> 2085 getVideoFormatPropertiesKHR( const PhysicalDeviceVideoFormatInfoKHR & videoFormatInfo ) const; 2086 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 2087 2088 //=== VK_NV_external_memory_capabilities === 2089 2090 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV getExternalImageFormatPropertiesNV( 2091 VULKAN_HPP_NAMESPACE::Format format, 2092 VULKAN_HPP_NAMESPACE::ImageType type, 2093 VULKAN_HPP_NAMESPACE::ImageTiling tiling, 2094 VULKAN_HPP_NAMESPACE::ImageUsageFlags usage, 2095 VULKAN_HPP_NAMESPACE::ImageCreateFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT, 2096 VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV externalHandleType 2097 VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT ) const; 2098 2099 //=== VK_KHR_get_physical_device_properties2 === 2100 2101 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 getFeatures2KHR() const VULKAN_HPP_NOEXCEPT; 2102 2103 template <typename X, typename Y, typename... Z> 2104 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getFeatures2KHR() const VULKAN_HPP_NOEXCEPT; 2105 2106 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 2107 getProperties2KHR() const VULKAN_HPP_NOEXCEPT; 2108 2109 template <typename X, typename Y, typename... Z> 2110 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getProperties2KHR() const VULKAN_HPP_NOEXCEPT; 2111 2112 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::FormatProperties2 2113 getFormatProperties2KHR( VULKAN_HPP_NAMESPACE::Format format ) const VULKAN_HPP_NOEXCEPT; 2114 2115 template <typename X, typename Y, typename... Z> 2116 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> 2117 getFormatProperties2KHR( VULKAN_HPP_NAMESPACE::Format format ) const VULKAN_HPP_NOEXCEPT; 2118 2119 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ImageFormatProperties2 2120 getImageFormatProperties2KHR( const PhysicalDeviceImageFormatInfo2 & imageFormatInfo ) const; 2121 2122 template <typename X, typename Y, typename... Z> 2123 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> 2124 getImageFormatProperties2KHR( const PhysicalDeviceImageFormatInfo2 & imageFormatInfo ) const; 2125 2126 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2> 2127 getQueueFamilyProperties2KHR() const VULKAN_HPP_NOEXCEPT; 2128 2129 template <typename StructureChain> 2130 VULKAN_HPP_NODISCARD std::vector<StructureChain> getQueueFamilyProperties2KHR() const; 2131 2132 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 2133 getMemoryProperties2KHR() const VULKAN_HPP_NOEXCEPT; 2134 2135 template <typename X, typename Y, typename... Z> 2136 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getMemoryProperties2KHR() const VULKAN_HPP_NOEXCEPT; 2137 2138 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2> 2139 getSparseImageFormatProperties2KHR( const PhysicalDeviceSparseImageFormatInfo2 & formatInfo ) const 2140 VULKAN_HPP_NOEXCEPT; 2141 2142 //=== VK_KHR_external_memory_capabilities === 2143 2144 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ExternalBufferProperties getExternalBufferPropertiesKHR( 2145 const PhysicalDeviceExternalBufferInfo & externalBufferInfo ) const VULKAN_HPP_NOEXCEPT; 2146 2147 //=== VK_KHR_external_semaphore_capabilities === 2148 2149 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties getExternalSemaphorePropertiesKHR( 2150 const PhysicalDeviceExternalSemaphoreInfo & externalSemaphoreInfo ) const VULKAN_HPP_NOEXCEPT; 2151 2152 # if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT ) 2153 //=== VK_EXT_acquire_xlib_display === 2154 2155 void acquireXlibDisplayEXT( Display & dpy, VULKAN_HPP_NAMESPACE::DisplayKHR display ) const; 2156 # endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/ 2157 2158 //=== VK_EXT_display_surface_counter === 2159 2160 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT 2161 getSurfaceCapabilities2EXT( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const; 2162 2163 //=== VK_KHR_external_fence_capabilities === 2164 2165 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ExternalFenceProperties getExternalFencePropertiesKHR( 2166 const PhysicalDeviceExternalFenceInfo & externalFenceInfo ) const VULKAN_HPP_NOEXCEPT; 2167 2168 //=== VK_KHR_performance_query === 2169 2170 VULKAN_HPP_NODISCARD std::pair<std::vector<PerformanceCounterKHR>, std::vector<PerformanceCounterDescriptionKHR>> 2171 enumerateQueueFamilyPerformanceQueryCountersKHR( uint32_t queueFamilyIndex ) const; 2172 2173 VULKAN_HPP_NODISCARD uint32_t getQueueFamilyPerformanceQueryPassesKHR( 2174 const QueryPoolPerformanceCreateInfoKHR & performanceQueryCreateInfo ) const VULKAN_HPP_NOEXCEPT; 2175 2176 //=== VK_KHR_get_surface_capabilities2 === 2177 2178 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR 2179 getSurfaceCapabilities2KHR( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const; 2180 2181 template <typename X, typename Y, typename... Z> 2182 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> 2183 getSurfaceCapabilities2KHR( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const; 2184 2185 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR> 2186 getSurfaceFormats2KHR( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const; 2187 2188 //=== VK_KHR_get_display_properties2 === 2189 2190 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::DisplayProperties2KHR> getDisplayProperties2KHR() const; 2191 2192 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR> 2193 getDisplayPlaneProperties2KHR() const; 2194 2195 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR 2196 getDisplayPlaneCapabilities2KHR( const DisplayPlaneInfo2KHR & displayPlaneInfo ) const; 2197 2198 //=== VK_EXT_sample_locations === 2199 2200 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT 2201 getMultisamplePropertiesEXT( VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples ) const VULKAN_HPP_NOEXCEPT; 2202 2203 //=== VK_EXT_calibrated_timestamps === 2204 2205 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::TimeDomainEXT> getCalibrateableTimeDomainsEXT() const; 2206 2207 //=== VK_KHR_fragment_shading_rate === 2208 2209 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR> 2210 getFragmentShadingRatesKHR() const; 2211 2212 //=== VK_EXT_tooling_info === 2213 2214 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolPropertiesEXT> 2215 getToolPropertiesEXT() const; 2216 2217 //=== VK_NV_cooperative_matrix === 2218 2219 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV> 2220 getCooperativeMatrixPropertiesNV() const; 2221 2222 //=== VK_NV_coverage_reduction_mode === 2223 2224 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV> 2225 getSupportedFramebufferMixedSamplesCombinationsNV() const; 2226 2227 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 2228 //=== VK_EXT_full_screen_exclusive === 2229 2230 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::PresentModeKHR> 2231 getSurfacePresentModes2EXT( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const; 2232 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 2233 2234 //=== VK_EXT_acquire_drm_display === 2235 2236 void acquireDrmDisplayEXT( int32_t drmFd, VULKAN_HPP_NAMESPACE::DisplayKHR display ) const; 2237 2238 # if defined( VK_USE_PLATFORM_DIRECTFB_EXT ) 2239 //=== VK_EXT_directfb_surface === 2240 2241 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Bool32 2242 getDirectFBPresentationSupportEXT( uint32_t queueFamilyIndex, IDirectFB & dfb ) const VULKAN_HPP_NOEXCEPT; 2243 # endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/ 2244 2245 # if defined( VK_USE_PLATFORM_SCREEN_QNX ) 2246 //=== VK_QNX_screen_surface === 2247 2248 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Bool32 2249 getScreenPresentationSupportQNX( uint32_t queueFamilyIndex, 2250 struct _screen_window & window ) const VULKAN_HPP_NOEXCEPT; 2251 # endif /*VK_USE_PLATFORM_SCREEN_QNX*/ 2252 2253 private: 2254 VULKAN_HPP_NAMESPACE::PhysicalDevice m_physicalDevice; 2255 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * m_dispatcher; 2256 }; 2257 2258 class PhysicalDevices : public std::vector<VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice> 2259 { 2260 public: PhysicalDevices(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance)2261 PhysicalDevices( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance ) 2262 { 2263 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * dispatcher = 2264 instance.getDispatcher(); 2265 std::vector<VkPhysicalDevice> physicalDevices; 2266 uint32_t physicalDeviceCount; 2267 VULKAN_HPP_NAMESPACE::Result result; 2268 do 2269 { 2270 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( dispatcher->vkEnumeratePhysicalDevices( 2271 static_cast<VkInstance>( *instance ), &physicalDeviceCount, nullptr ) ); 2272 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && physicalDeviceCount ) 2273 { 2274 physicalDevices.resize( physicalDeviceCount ); 2275 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( dispatcher->vkEnumeratePhysicalDevices( 2276 static_cast<VkInstance>( *instance ), &physicalDeviceCount, physicalDevices.data() ) ); 2277 VULKAN_HPP_ASSERT( physicalDeviceCount <= physicalDevices.size() ); 2278 } 2279 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 2280 if ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) 2281 { 2282 this->reserve( physicalDeviceCount ); 2283 for ( auto const & physicalDevice : physicalDevices ) 2284 { 2285 this->emplace_back( physicalDevice, dispatcher ); 2286 } 2287 } 2288 else 2289 { 2290 throwResultException( result, "vkEnumeratePhysicalDevices" ); 2291 } 2292 } 2293 2294 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 2295 PhysicalDevices() = default; 2296 # else 2297 PhysicalDevices() = delete; 2298 # endif 2299 PhysicalDevices( PhysicalDevices const & ) = delete; 2300 PhysicalDevices( PhysicalDevices && rhs ) = default; 2301 PhysicalDevices & operator=( PhysicalDevices const & ) = delete; 2302 PhysicalDevices & operator=( PhysicalDevices && rhs ) = default; 2303 }; 2304 2305 class Device 2306 { 2307 public: 2308 using CType = VkDevice; 2309 2310 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 2311 VULKAN_HPP_NAMESPACE::ObjectType::eDevice; 2312 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 2313 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDevice; 2314 2315 public: Device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const & physicalDevice,VULKAN_HPP_NAMESPACE::DeviceCreateInfo const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)2316 Device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const & physicalDevice, 2317 VULKAN_HPP_NAMESPACE::DeviceCreateInfo const & createInfo, 2318 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 2319 : m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 2320 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 2321 , m_dispatcher( physicalDevice.getDispatcher()->vkGetDeviceProcAddr ) 2322 { 2323 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 2324 physicalDevice.getDispatcher()->vkCreateDevice( static_cast<VkPhysicalDevice>( *physicalDevice ), 2325 reinterpret_cast<const VkDeviceCreateInfo *>( &createInfo ), 2326 m_allocator, 2327 reinterpret_cast<VkDevice *>( &m_device ) ) ); 2328 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 2329 { 2330 throwResultException( result, "vkCreateDevice" ); 2331 } 2332 m_dispatcher.init( static_cast<VkDevice>( m_device ) ); 2333 } 2334 Device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const & physicalDevice,VkDevice device,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)2335 Device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const & physicalDevice, 2336 VkDevice device, 2337 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 2338 : m_device( device ) 2339 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 2340 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 2341 , m_dispatcher( physicalDevice.getDispatcher()->vkGetDeviceProcAddr ) 2342 { 2343 m_dispatcher.init( static_cast<VkDevice>( m_device ) ); 2344 } 2345 ~Device()2346 ~Device() 2347 { 2348 if ( m_device ) 2349 { 2350 getDispatcher()->vkDestroyDevice( static_cast<VkDevice>( m_device ), m_allocator ); 2351 } 2352 } 2353 2354 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 2355 Device() = default; 2356 # else 2357 Device() = delete; 2358 # endif 2359 Device( Device const & ) = delete; Device(Device && rhs)2360 Device( Device && rhs ) VULKAN_HPP_NOEXCEPT 2361 : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ) ) 2362 , m_allocator( rhs.m_allocator ) 2363 , m_dispatcher( rhs.m_dispatcher ) 2364 {} 2365 Device & operator=( Device const & ) = delete; operator =(Device && rhs)2366 Device & operator =( Device && rhs ) VULKAN_HPP_NOEXCEPT 2367 { 2368 if ( this != &rhs ) 2369 { 2370 if ( m_device ) 2371 { 2372 getDispatcher()->vkDestroyDevice( static_cast<VkDevice>( m_device ), m_allocator ); 2373 } 2374 m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); 2375 m_allocator = rhs.m_allocator; 2376 m_dispatcher = rhs.m_dispatcher; 2377 } 2378 return *this; 2379 } 2380 operator *() const2381 VULKAN_HPP_NAMESPACE::Device const & operator*() const VULKAN_HPP_NOEXCEPT 2382 { 2383 return m_device; 2384 } 2385 getDispatcher() const2386 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 2387 { 2388 return &m_dispatcher; 2389 } 2390 2391 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const2392 explicit operator bool() const VULKAN_HPP_NOEXCEPT 2393 { 2394 return m_device.operator bool(); 2395 } 2396 operator !() const2397 bool operator!() const VULKAN_HPP_NOEXCEPT 2398 { 2399 return m_device.operator!(); 2400 } 2401 # endif 2402 2403 //=== VK_VERSION_1_0 === 2404 2405 VULKAN_HPP_NODISCARD PFN_vkVoidFunction getProcAddr( const std::string & name ) const VULKAN_HPP_NOEXCEPT; 2406 2407 void waitIdle() const; 2408 2409 void 2410 flushMappedMemoryRanges( ArrayProxy<const VULKAN_HPP_NAMESPACE::MappedMemoryRange> const & memoryRanges ) const; 2411 2412 void invalidateMappedMemoryRanges( 2413 ArrayProxy<const VULKAN_HPP_NAMESPACE::MappedMemoryRange> const & memoryRanges ) const; 2414 2415 void resetFences( ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const & fences ) const; 2416 2417 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result 2418 waitForFences( ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const & fences, 2419 VULKAN_HPP_NAMESPACE::Bool32 waitAll, 2420 uint64_t timeout ) const; 2421 2422 void updateDescriptorSets( 2423 ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const & descriptorWrites, 2424 ArrayProxy<const VULKAN_HPP_NAMESPACE::CopyDescriptorSet> const & descriptorCopies ) const VULKAN_HPP_NOEXCEPT; 2425 2426 //=== VK_VERSION_1_1 === 2427 2428 void bindBufferMemory2( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo> const & bindInfos ) const; 2429 2430 void bindImageMemory2( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo> const & bindInfos ) const; 2431 2432 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags getGroupPeerMemoryFeatures( 2433 uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex ) const VULKAN_HPP_NOEXCEPT; 2434 2435 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2 2436 getImageMemoryRequirements2( const ImageMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT; 2437 2438 template <typename X, typename Y, typename... Z> 2439 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> 2440 getImageMemoryRequirements2( const ImageMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT; 2441 2442 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2 2443 getBufferMemoryRequirements2( const BufferMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT; 2444 2445 template <typename X, typename Y, typename... Z> 2446 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> 2447 getBufferMemoryRequirements2( const BufferMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT; 2448 2449 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2> 2450 getImageSparseMemoryRequirements2( const ImageSparseMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT; 2451 2452 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport 2453 getDescriptorSetLayoutSupport( const DescriptorSetLayoutCreateInfo & createInfo ) const VULKAN_HPP_NOEXCEPT; 2454 2455 template <typename X, typename Y, typename... Z> 2456 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> 2457 getDescriptorSetLayoutSupport( const DescriptorSetLayoutCreateInfo & createInfo ) const VULKAN_HPP_NOEXCEPT; 2458 2459 //=== VK_VERSION_1_2 === 2460 2461 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result waitSemaphores( const SemaphoreWaitInfo & waitInfo, 2462 uint64_t timeout ) const; 2463 2464 void signalSemaphore( const SemaphoreSignalInfo & signalInfo ) const; 2465 2466 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceAddress 2467 getBufferAddress( const BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT; 2468 2469 VULKAN_HPP_NODISCARD uint64_t 2470 getBufferOpaqueCaptureAddress( const BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT; 2471 2472 VULKAN_HPP_NODISCARD uint64_t 2473 getMemoryOpaqueCaptureAddress( const DeviceMemoryOpaqueCaptureAddressInfo & info ) const VULKAN_HPP_NOEXCEPT; 2474 2475 //=== VK_KHR_swapchain === 2476 2477 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR 2478 getGroupPresentCapabilitiesKHR() const; 2479 2480 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR 2481 getGroupSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const; 2482 2483 VULKAN_HPP_NODISCARD std::pair<VULKAN_HPP_NAMESPACE::Result, uint32_t> 2484 acquireNextImage2KHR( const AcquireNextImageInfoKHR & acquireInfo ) const; 2485 2486 //=== VK_EXT_debug_marker === 2487 2488 void debugMarkerSetObjectTagEXT( const DebugMarkerObjectTagInfoEXT & tagInfo ) const; 2489 2490 void debugMarkerSetObjectNameEXT( const DebugMarkerObjectNameInfoEXT & nameInfo ) const; 2491 2492 //=== VK_NVX_image_view_handle === 2493 2494 VULKAN_HPP_NODISCARD uint32_t 2495 getImageViewHandleNVX( const ImageViewHandleInfoNVX & info ) const VULKAN_HPP_NOEXCEPT; 2496 2497 //=== VK_KHR_device_group === 2498 2499 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags getGroupPeerMemoryFeaturesKHR( 2500 uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex ) const VULKAN_HPP_NOEXCEPT; 2501 2502 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 2503 //=== VK_KHR_external_memory_win32 === 2504 2505 VULKAN_HPP_NODISCARD HANDLE 2506 getMemoryWin32HandleKHR( const MemoryGetWin32HandleInfoKHR & getWin32HandleInfo ) const; 2507 2508 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR 2509 getMemoryWin32HandlePropertiesKHR( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, 2510 HANDLE handle ) const; 2511 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 2512 2513 //=== VK_KHR_external_memory_fd === 2514 2515 VULKAN_HPP_NODISCARD int getMemoryFdKHR( const MemoryGetFdInfoKHR & getFdInfo ) const; 2516 2517 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR 2518 getMemoryFdPropertiesKHR( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, int fd ) const; 2519 2520 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 2521 //=== VK_KHR_external_semaphore_win32 === 2522 2523 void 2524 importSemaphoreWin32HandleKHR( const ImportSemaphoreWin32HandleInfoKHR & importSemaphoreWin32HandleInfo ) const; 2525 2526 VULKAN_HPP_NODISCARD HANDLE 2527 getSemaphoreWin32HandleKHR( const SemaphoreGetWin32HandleInfoKHR & getWin32HandleInfo ) const; 2528 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 2529 2530 //=== VK_KHR_external_semaphore_fd === 2531 2532 void importSemaphoreFdKHR( const ImportSemaphoreFdInfoKHR & importSemaphoreFdInfo ) const; 2533 2534 VULKAN_HPP_NODISCARD int getSemaphoreFdKHR( const SemaphoreGetFdInfoKHR & getFdInfo ) const; 2535 2536 //=== VK_KHR_descriptor_update_template === 2537 2538 void destroyDescriptorUpdateTemplateKHR( 2539 VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT, 2540 Optional<const AllocationCallbacks> allocator 2541 VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; 2542 2543 //=== VK_EXT_display_control === 2544 2545 void displayPowerControlEXT( VULKAN_HPP_NAMESPACE::DisplayKHR display, 2546 const DisplayPowerInfoEXT & displayPowerInfo ) const; 2547 2548 //=== VK_EXT_hdr_metadata === 2549 2550 void setHdrMetadataEXT( ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainKHR> const & swapchains, 2551 ArrayProxy<const VULKAN_HPP_NAMESPACE::HdrMetadataEXT> const & metadata ) const 2552 VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; 2553 2554 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 2555 //=== VK_KHR_external_fence_win32 === 2556 2557 void importFenceWin32HandleKHR( const ImportFenceWin32HandleInfoKHR & importFenceWin32HandleInfo ) const; 2558 2559 VULKAN_HPP_NODISCARD HANDLE getFenceWin32HandleKHR( const FenceGetWin32HandleInfoKHR & getWin32HandleInfo ) const; 2560 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 2561 2562 //=== VK_KHR_external_fence_fd === 2563 2564 void importFenceFdKHR( const ImportFenceFdInfoKHR & importFenceFdInfo ) const; 2565 2566 VULKAN_HPP_NODISCARD int getFenceFdKHR( const FenceGetFdInfoKHR & getFdInfo ) const; 2567 2568 //=== VK_KHR_performance_query === 2569 2570 void acquireProfilingLockKHR( const AcquireProfilingLockInfoKHR & info ) const; 2571 2572 void releaseProfilingLockKHR() const VULKAN_HPP_NOEXCEPT; 2573 2574 //=== VK_EXT_debug_utils === 2575 2576 void setDebugUtilsObjectNameEXT( const DebugUtilsObjectNameInfoEXT & nameInfo ) const; 2577 2578 void setDebugUtilsObjectTagEXT( const DebugUtilsObjectTagInfoEXT & tagInfo ) const; 2579 2580 # if defined( VK_USE_PLATFORM_ANDROID_KHR ) 2581 //=== VK_ANDROID_external_memory_android_hardware_buffer === 2582 2583 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID 2584 getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer ) const; 2585 2586 template <typename X, typename Y, typename... Z> 2587 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> 2588 getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer ) const; 2589 2590 VULKAN_HPP_NODISCARD struct AHardwareBuffer * 2591 getMemoryAndroidHardwareBufferANDROID( const MemoryGetAndroidHardwareBufferInfoANDROID & info ) const; 2592 # endif /*VK_USE_PLATFORM_ANDROID_KHR*/ 2593 2594 //=== VK_KHR_get_memory_requirements2 === 2595 2596 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2 2597 getImageMemoryRequirements2KHR( const ImageMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT; 2598 2599 template <typename X, typename Y, typename... Z> 2600 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> 2601 getImageMemoryRequirements2KHR( const ImageMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT; 2602 2603 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2 2604 getBufferMemoryRequirements2KHR( const BufferMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT; 2605 2606 template <typename X, typename Y, typename... Z> 2607 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> 2608 getBufferMemoryRequirements2KHR( const BufferMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT; 2609 2610 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2> 2611 getImageSparseMemoryRequirements2KHR( const ImageSparseMemoryRequirementsInfo2 & info ) const 2612 VULKAN_HPP_NOEXCEPT; 2613 2614 //=== VK_KHR_acceleration_structure === 2615 2616 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result buildAccelerationStructuresKHR( 2617 VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 2618 ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const & infos, 2619 ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR * const> const & 2620 pBuildRangeInfos ) const; 2621 2622 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result 2623 copyAccelerationStructureKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 2624 const CopyAccelerationStructureInfoKHR & info ) const; 2625 2626 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result 2627 copyAccelerationStructureToMemoryKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 2628 const CopyAccelerationStructureToMemoryInfoKHR & info ) const; 2629 2630 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result 2631 copyMemoryToAccelerationStructureKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 2632 const CopyMemoryToAccelerationStructureInfoKHR & info ) const; 2633 2634 template <typename T> 2635 VULKAN_HPP_NODISCARD std::vector<T> writeAccelerationStructuresPropertiesKHR( 2636 ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures, 2637 VULKAN_HPP_NAMESPACE::QueryType queryType, 2638 size_t dataSize, 2639 size_t stride ) const; 2640 2641 template <typename T> 2642 VULKAN_HPP_NODISCARD T writeAccelerationStructuresPropertyKHR( 2643 ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures, 2644 VULKAN_HPP_NAMESPACE::QueryType queryType, 2645 size_t stride ) const; 2646 2647 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceAddress getAccelerationStructureAddressKHR( 2648 const AccelerationStructureDeviceAddressInfoKHR & info ) const VULKAN_HPP_NOEXCEPT; 2649 2650 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::AccelerationStructureCompatibilityKHR 2651 getAccelerationStructureCompatibilityKHR( const AccelerationStructureVersionInfoKHR & versionInfo ) const 2652 VULKAN_HPP_NOEXCEPT; 2653 2654 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR 2655 getAccelerationStructureBuildSizesKHR( VULKAN_HPP_NAMESPACE::AccelerationStructureBuildTypeKHR buildType, 2656 const AccelerationStructureBuildGeometryInfoKHR & buildInfo, 2657 ArrayProxy<const uint32_t> const & maxPrimitiveCounts 2658 VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT ) const 2659 VULKAN_HPP_NOEXCEPT; 2660 2661 //=== VK_KHR_sampler_ycbcr_conversion === 2662 2663 void destroySamplerYcbcrConversionKHR( 2664 VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT, 2665 Optional<const AllocationCallbacks> allocator 2666 VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; 2667 2668 //=== VK_KHR_bind_memory2 === 2669 2670 void bindBufferMemory2KHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo> const & bindInfos ) const; 2671 2672 void bindImageMemory2KHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo> const & bindInfos ) const; 2673 2674 //=== VK_NV_ray_tracing === 2675 2676 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR getAccelerationStructureMemoryRequirementsNV( 2677 const AccelerationStructureMemoryRequirementsInfoNV & info ) const VULKAN_HPP_NOEXCEPT; 2678 2679 template <typename X, typename Y, typename... Z> 2680 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getAccelerationStructureMemoryRequirementsNV( 2681 const AccelerationStructureMemoryRequirementsInfoNV & info ) const VULKAN_HPP_NOEXCEPT; 2682 2683 void bindAccelerationStructureMemoryNV( 2684 ArrayProxy<const VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoNV> const & bindInfos ) const; 2685 2686 //=== VK_KHR_maintenance3 === 2687 2688 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport 2689 getDescriptorSetLayoutSupportKHR( const DescriptorSetLayoutCreateInfo & createInfo ) const VULKAN_HPP_NOEXCEPT; 2690 2691 template <typename X, typename Y, typename... Z> 2692 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> 2693 getDescriptorSetLayoutSupportKHR( const DescriptorSetLayoutCreateInfo & createInfo ) const VULKAN_HPP_NOEXCEPT; 2694 2695 //=== VK_EXT_external_memory_host === 2696 2697 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT 2698 getMemoryHostPointerPropertiesEXT( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, 2699 const void * pHostPointer ) const; 2700 2701 //=== VK_EXT_calibrated_timestamps === 2702 2703 VULKAN_HPP_NODISCARD std::pair<std::vector<uint64_t>, uint64_t> getCalibratedTimestampsEXT( 2704 ArrayProxy<const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT> const & timestampInfos ) const; 2705 2706 //=== VK_KHR_timeline_semaphore === 2707 2708 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result waitSemaphoresKHR( const SemaphoreWaitInfo & waitInfo, 2709 uint64_t timeout ) const; 2710 2711 void signalSemaphoreKHR( const SemaphoreSignalInfo & signalInfo ) const; 2712 2713 //=== VK_INTEL_performance_query === 2714 2715 void initializePerformanceApiINTEL( const InitializePerformanceApiInfoINTEL & initializeInfo ) const; 2716 2717 void uninitializePerformanceApiINTEL() const VULKAN_HPP_NOEXCEPT; 2718 2719 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PerformanceValueINTEL 2720 getPerformanceParameterINTEL( VULKAN_HPP_NAMESPACE::PerformanceParameterTypeINTEL parameter ) const; 2721 2722 //=== VK_EXT_buffer_device_address === 2723 2724 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceAddress 2725 getBufferAddressEXT( const BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT; 2726 2727 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 2728 //=== VK_EXT_full_screen_exclusive === 2729 2730 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR 2731 getGroupSurfacePresentModes2EXT( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const; 2732 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 2733 2734 //=== VK_KHR_buffer_device_address === 2735 2736 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceAddress 2737 getBufferAddressKHR( const BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT; 2738 2739 VULKAN_HPP_NODISCARD uint64_t 2740 getBufferOpaqueCaptureAddressKHR( const BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT; 2741 2742 VULKAN_HPP_NODISCARD uint64_t 2743 getMemoryOpaqueCaptureAddressKHR( const DeviceMemoryOpaqueCaptureAddressInfo & info ) const VULKAN_HPP_NOEXCEPT; 2744 2745 //=== VK_KHR_pipeline_executable_properties === 2746 2747 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR> 2748 getPipelineExecutablePropertiesKHR( const PipelineInfoKHR & pipelineInfo ) const; 2749 2750 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticKHR> 2751 getPipelineExecutableStatisticsKHR( const PipelineExecutableInfoKHR & executableInfo ) const; 2752 2753 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR> 2754 getPipelineExecutableInternalRepresentationsKHR( const PipelineExecutableInfoKHR & executableInfo ) const; 2755 2756 //=== VK_NV_device_generated_commands === 2757 2758 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2 getGeneratedCommandsMemoryRequirementsNV( 2759 const GeneratedCommandsMemoryRequirementsInfoNV & info ) const VULKAN_HPP_NOEXCEPT; 2760 2761 template <typename X, typename Y, typename... Z> 2762 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getGeneratedCommandsMemoryRequirementsNV( 2763 const GeneratedCommandsMemoryRequirementsInfoNV & info ) const VULKAN_HPP_NOEXCEPT; 2764 2765 //=== VK_EXT_private_data === 2766 2767 void setPrivateDataEXT( VULKAN_HPP_NAMESPACE::ObjectType objectType_, 2768 uint64_t objectHandle, 2769 VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot, 2770 uint64_t data ) const; 2771 2772 VULKAN_HPP_NODISCARD uint64_t 2773 getPrivateDataEXT( VULKAN_HPP_NAMESPACE::ObjectType objectType_, 2774 uint64_t objectHandle, 2775 VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot ) const VULKAN_HPP_NOEXCEPT; 2776 2777 # if defined( VK_USE_PLATFORM_FUCHSIA ) 2778 //=== VK_FUCHSIA_external_memory === 2779 2780 VULKAN_HPP_NODISCARD zx_handle_t 2781 getMemoryZirconHandleFUCHSIA( const MemoryGetZirconHandleInfoFUCHSIA & getZirconHandleInfo ) const; 2782 2783 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA 2784 getMemoryZirconHandlePropertiesFUCHSIA( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, 2785 zx_handle_t zirconHandle ) const; 2786 # endif /*VK_USE_PLATFORM_FUCHSIA*/ 2787 2788 # if defined( VK_USE_PLATFORM_FUCHSIA ) 2789 //=== VK_FUCHSIA_external_semaphore === 2790 2791 void importSemaphoreZirconHandleFUCHSIA( 2792 const ImportSemaphoreZirconHandleInfoFUCHSIA & importSemaphoreZirconHandleInfo ) const; 2793 2794 VULKAN_HPP_NODISCARD zx_handle_t 2795 getSemaphoreZirconHandleFUCHSIA( const SemaphoreGetZirconHandleInfoFUCHSIA & getZirconHandleInfo ) const; 2796 # endif /*VK_USE_PLATFORM_FUCHSIA*/ 2797 2798 //=== VK_NV_external_memory_rdma === 2799 2800 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::RemoteAddressNV 2801 getMemoryRemoteAddressNV( const MemoryGetRemoteAddressInfoNV & getMemoryRemoteAddressInfo ) const; 2802 2803 private: 2804 VULKAN_HPP_NAMESPACE::Device m_device; 2805 const VkAllocationCallbacks * m_allocator; 2806 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher m_dispatcher; 2807 }; 2808 2809 class AccelerationStructureKHR 2810 { 2811 public: 2812 using CType = VkAccelerationStructureKHR; 2813 2814 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 2815 VULKAN_HPP_NAMESPACE::ObjectType::eAccelerationStructureKHR; 2816 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 2817 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eAccelerationStructureKHR; 2818 2819 public: AccelerationStructureKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)2820 AccelerationStructureKHR( 2821 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 2822 VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR const & createInfo, 2823 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 2824 : m_device( *device ) 2825 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 2826 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 2827 , m_dispatcher( device.getDispatcher() ) 2828 { 2829 VULKAN_HPP_NAMESPACE::Result result = 2830 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateAccelerationStructureKHR( 2831 static_cast<VkDevice>( *device ), 2832 reinterpret_cast<const VkAccelerationStructureCreateInfoKHR *>( &createInfo ), 2833 m_allocator, 2834 reinterpret_cast<VkAccelerationStructureKHR *>( &m_accelerationStructureKHR ) ) ); 2835 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 2836 { 2837 throwResultException( result, "vkCreateAccelerationStructureKHR" ); 2838 } 2839 } 2840 AccelerationStructureKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkAccelerationStructureKHR accelerationStructureKHR,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)2841 AccelerationStructureKHR( 2842 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 2843 VkAccelerationStructureKHR accelerationStructureKHR, 2844 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 2845 : m_accelerationStructureKHR( accelerationStructureKHR ) 2846 , m_device( *device ) 2847 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 2848 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 2849 , m_dispatcher( device.getDispatcher() ) 2850 {} 2851 ~AccelerationStructureKHR()2852 ~AccelerationStructureKHR() 2853 { 2854 if ( m_accelerationStructureKHR ) 2855 { 2856 getDispatcher()->vkDestroyAccelerationStructureKHR( 2857 m_device, static_cast<VkAccelerationStructureKHR>( m_accelerationStructureKHR ), m_allocator ); 2858 } 2859 } 2860 2861 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 2862 AccelerationStructureKHR() = default; 2863 # else 2864 AccelerationStructureKHR() = delete; 2865 # endif 2866 AccelerationStructureKHR( AccelerationStructureKHR const & ) = delete; AccelerationStructureKHR(AccelerationStructureKHR && rhs)2867 AccelerationStructureKHR( AccelerationStructureKHR && rhs ) VULKAN_HPP_NOEXCEPT 2868 : m_accelerationStructureKHR( 2869 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_accelerationStructureKHR, {} ) ) 2870 , m_device( rhs.m_device ) 2871 , m_allocator( rhs.m_allocator ) 2872 , m_dispatcher( rhs.m_dispatcher ) 2873 {} 2874 AccelerationStructureKHR & operator=( AccelerationStructureKHR const & ) = delete; operator =(AccelerationStructureKHR && rhs)2875 AccelerationStructureKHR & operator=( AccelerationStructureKHR && rhs ) VULKAN_HPP_NOEXCEPT 2876 { 2877 if ( this != &rhs ) 2878 { 2879 if ( m_accelerationStructureKHR ) 2880 { 2881 getDispatcher()->vkDestroyAccelerationStructureKHR( 2882 m_device, static_cast<VkAccelerationStructureKHR>( m_accelerationStructureKHR ), m_allocator ); 2883 } 2884 m_accelerationStructureKHR = 2885 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_accelerationStructureKHR, {} ); 2886 m_device = rhs.m_device; 2887 m_allocator = rhs.m_allocator; 2888 m_dispatcher = rhs.m_dispatcher; 2889 } 2890 return *this; 2891 } 2892 operator *() const2893 VULKAN_HPP_NAMESPACE::AccelerationStructureKHR const & operator*() const VULKAN_HPP_NOEXCEPT 2894 { 2895 return m_accelerationStructureKHR; 2896 } 2897 getDispatcher() const2898 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 2899 { 2900 return m_dispatcher; 2901 } 2902 2903 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const2904 explicit operator bool() const VULKAN_HPP_NOEXCEPT 2905 { 2906 return m_accelerationStructureKHR.operator bool(); 2907 } 2908 operator !() const2909 bool operator!() const VULKAN_HPP_NOEXCEPT 2910 { 2911 return m_accelerationStructureKHR.operator!(); 2912 } 2913 # endif 2914 2915 private: 2916 VULKAN_HPP_NAMESPACE::AccelerationStructureKHR m_accelerationStructureKHR; 2917 VkDevice m_device; 2918 const VkAllocationCallbacks * m_allocator; 2919 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 2920 }; 2921 2922 class AccelerationStructureNV 2923 { 2924 public: 2925 using CType = VkAccelerationStructureNV; 2926 2927 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 2928 VULKAN_HPP_NAMESPACE::ObjectType::eAccelerationStructureNV; 2929 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 2930 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eAccelerationStructureNV; 2931 2932 public: AccelerationStructureNV(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)2933 AccelerationStructureNV( 2934 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 2935 VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV const & createInfo, 2936 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 2937 : m_device( *device ) 2938 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 2939 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 2940 , m_dispatcher( device.getDispatcher() ) 2941 { 2942 VULKAN_HPP_NAMESPACE::Result result = 2943 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateAccelerationStructureNV( 2944 static_cast<VkDevice>( *device ), 2945 reinterpret_cast<const VkAccelerationStructureCreateInfoNV *>( &createInfo ), 2946 m_allocator, 2947 reinterpret_cast<VkAccelerationStructureNV *>( &m_accelerationStructureNV ) ) ); 2948 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 2949 { 2950 throwResultException( result, "vkCreateAccelerationStructureNV" ); 2951 } 2952 } 2953 AccelerationStructureNV(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkAccelerationStructureNV accelerationStructureNV,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)2954 AccelerationStructureNV( 2955 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 2956 VkAccelerationStructureNV accelerationStructureNV, 2957 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 2958 : m_accelerationStructureNV( accelerationStructureNV ) 2959 , m_device( *device ) 2960 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 2961 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 2962 , m_dispatcher( device.getDispatcher() ) 2963 {} 2964 ~AccelerationStructureNV()2965 ~AccelerationStructureNV() 2966 { 2967 if ( m_accelerationStructureNV ) 2968 { 2969 getDispatcher()->vkDestroyAccelerationStructureNV( 2970 m_device, static_cast<VkAccelerationStructureNV>( m_accelerationStructureNV ), m_allocator ); 2971 } 2972 } 2973 2974 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 2975 AccelerationStructureNV() = default; 2976 # else 2977 AccelerationStructureNV() = delete; 2978 # endif 2979 AccelerationStructureNV( AccelerationStructureNV const & ) = delete; AccelerationStructureNV(AccelerationStructureNV && rhs)2980 AccelerationStructureNV( AccelerationStructureNV && rhs ) VULKAN_HPP_NOEXCEPT 2981 : m_accelerationStructureNV( 2982 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_accelerationStructureNV, {} ) ) 2983 , m_device( rhs.m_device ) 2984 , m_allocator( rhs.m_allocator ) 2985 , m_dispatcher( rhs.m_dispatcher ) 2986 {} 2987 AccelerationStructureNV & operator=( AccelerationStructureNV const & ) = delete; operator =(AccelerationStructureNV && rhs)2988 AccelerationStructureNV & operator=( AccelerationStructureNV && rhs ) VULKAN_HPP_NOEXCEPT 2989 { 2990 if ( this != &rhs ) 2991 { 2992 if ( m_accelerationStructureNV ) 2993 { 2994 getDispatcher()->vkDestroyAccelerationStructureNV( 2995 m_device, static_cast<VkAccelerationStructureNV>( m_accelerationStructureNV ), m_allocator ); 2996 } 2997 m_accelerationStructureNV = 2998 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_accelerationStructureNV, {} ); 2999 m_device = rhs.m_device; 3000 m_allocator = rhs.m_allocator; 3001 m_dispatcher = rhs.m_dispatcher; 3002 } 3003 return *this; 3004 } 3005 operator *() const3006 VULKAN_HPP_NAMESPACE::AccelerationStructureNV const & operator*() const VULKAN_HPP_NOEXCEPT 3007 { 3008 return m_accelerationStructureNV; 3009 } 3010 getDispatcher() const3011 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 3012 { 3013 return m_dispatcher; 3014 } 3015 3016 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const3017 explicit operator bool() const VULKAN_HPP_NOEXCEPT 3018 { 3019 return m_accelerationStructureNV.operator bool(); 3020 } 3021 operator !() const3022 bool operator!() const VULKAN_HPP_NOEXCEPT 3023 { 3024 return m_accelerationStructureNV.operator!(); 3025 } 3026 # endif 3027 3028 //=== VK_NV_ray_tracing === 3029 3030 template <typename T> 3031 VULKAN_HPP_NODISCARD std::vector<T> getHandle( size_t dataSize ) const; 3032 3033 template <typename T> 3034 VULKAN_HPP_NODISCARD T getHandle() const; 3035 3036 private: 3037 VULKAN_HPP_NAMESPACE::AccelerationStructureNV m_accelerationStructureNV; 3038 VkDevice m_device; 3039 const VkAllocationCallbacks * m_allocator; 3040 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 3041 }; 3042 3043 class Buffer 3044 { 3045 public: 3046 using CType = VkBuffer; 3047 3048 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 3049 VULKAN_HPP_NAMESPACE::ObjectType::eBuffer; 3050 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 3051 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eBuffer; 3052 3053 public: Buffer(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::BufferCreateInfo const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)3054 Buffer( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 3055 VULKAN_HPP_NAMESPACE::BufferCreateInfo const & createInfo, 3056 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 3057 : m_device( *device ) 3058 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 3059 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 3060 , m_dispatcher( device.getDispatcher() ) 3061 { 3062 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 3063 getDispatcher()->vkCreateBuffer( static_cast<VkDevice>( *device ), 3064 reinterpret_cast<const VkBufferCreateInfo *>( &createInfo ), 3065 m_allocator, 3066 reinterpret_cast<VkBuffer *>( &m_buffer ) ) ); 3067 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 3068 { 3069 throwResultException( result, "vkCreateBuffer" ); 3070 } 3071 } 3072 Buffer(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkBuffer buffer,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)3073 Buffer( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 3074 VkBuffer buffer, 3075 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 3076 : m_buffer( buffer ) 3077 , m_device( *device ) 3078 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 3079 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 3080 , m_dispatcher( device.getDispatcher() ) 3081 {} 3082 ~Buffer()3083 ~Buffer() 3084 { 3085 if ( m_buffer ) 3086 { 3087 getDispatcher()->vkDestroyBuffer( m_device, static_cast<VkBuffer>( m_buffer ), m_allocator ); 3088 } 3089 } 3090 3091 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 3092 Buffer() = default; 3093 # else 3094 Buffer() = delete; 3095 # endif 3096 Buffer( Buffer const & ) = delete; Buffer(Buffer && rhs)3097 Buffer( Buffer && rhs ) VULKAN_HPP_NOEXCEPT 3098 : m_buffer( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_buffer, {} ) ) 3099 , m_device( rhs.m_device ) 3100 , m_allocator( rhs.m_allocator ) 3101 , m_dispatcher( rhs.m_dispatcher ) 3102 {} 3103 Buffer & operator=( Buffer const & ) = delete; operator =(Buffer && rhs)3104 Buffer & operator =( Buffer && rhs ) VULKAN_HPP_NOEXCEPT 3105 { 3106 if ( this != &rhs ) 3107 { 3108 if ( m_buffer ) 3109 { 3110 getDispatcher()->vkDestroyBuffer( m_device, static_cast<VkBuffer>( m_buffer ), m_allocator ); 3111 } 3112 m_buffer = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_buffer, {} ); 3113 m_device = rhs.m_device; 3114 m_allocator = rhs.m_allocator; 3115 m_dispatcher = rhs.m_dispatcher; 3116 } 3117 return *this; 3118 } 3119 operator *() const3120 VULKAN_HPP_NAMESPACE::Buffer const & operator*() const VULKAN_HPP_NOEXCEPT 3121 { 3122 return m_buffer; 3123 } 3124 getDispatcher() const3125 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 3126 { 3127 return m_dispatcher; 3128 } 3129 3130 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const3131 explicit operator bool() const VULKAN_HPP_NOEXCEPT 3132 { 3133 return m_buffer.operator bool(); 3134 } 3135 operator !() const3136 bool operator!() const VULKAN_HPP_NOEXCEPT 3137 { 3138 return m_buffer.operator!(); 3139 } 3140 # endif 3141 3142 //=== VK_VERSION_1_0 === 3143 3144 void bindMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory, VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset ) const; 3145 3146 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements getMemoryRequirements() const VULKAN_HPP_NOEXCEPT; 3147 3148 private: 3149 VULKAN_HPP_NAMESPACE::Buffer m_buffer; 3150 VkDevice m_device; 3151 const VkAllocationCallbacks * m_allocator; 3152 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 3153 }; 3154 3155 class BufferView 3156 { 3157 public: 3158 using CType = VkBufferView; 3159 3160 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 3161 VULKAN_HPP_NAMESPACE::ObjectType::eBufferView; 3162 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 3163 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eBufferView; 3164 3165 public: BufferView(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::BufferViewCreateInfo const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)3166 BufferView( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 3167 VULKAN_HPP_NAMESPACE::BufferViewCreateInfo const & createInfo, 3168 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 3169 : m_device( *device ) 3170 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 3171 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 3172 , m_dispatcher( device.getDispatcher() ) 3173 { 3174 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 3175 getDispatcher()->vkCreateBufferView( static_cast<VkDevice>( *device ), 3176 reinterpret_cast<const VkBufferViewCreateInfo *>( &createInfo ), 3177 m_allocator, 3178 reinterpret_cast<VkBufferView *>( &m_bufferView ) ) ); 3179 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 3180 { 3181 throwResultException( result, "vkCreateBufferView" ); 3182 } 3183 } 3184 BufferView(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkBufferView bufferView,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)3185 BufferView( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 3186 VkBufferView bufferView, 3187 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 3188 : m_bufferView( bufferView ) 3189 , m_device( *device ) 3190 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 3191 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 3192 , m_dispatcher( device.getDispatcher() ) 3193 {} 3194 ~BufferView()3195 ~BufferView() 3196 { 3197 if ( m_bufferView ) 3198 { 3199 getDispatcher()->vkDestroyBufferView( m_device, static_cast<VkBufferView>( m_bufferView ), m_allocator ); 3200 } 3201 } 3202 3203 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 3204 BufferView() = default; 3205 # else 3206 BufferView() = delete; 3207 # endif 3208 BufferView( BufferView const & ) = delete; BufferView(BufferView && rhs)3209 BufferView( BufferView && rhs ) VULKAN_HPP_NOEXCEPT 3210 : m_bufferView( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_bufferView, {} ) ) 3211 , m_device( rhs.m_device ) 3212 , m_allocator( rhs.m_allocator ) 3213 , m_dispatcher( rhs.m_dispatcher ) 3214 {} 3215 BufferView & operator=( BufferView const & ) = delete; operator =(BufferView && rhs)3216 BufferView & operator =( BufferView && rhs ) VULKAN_HPP_NOEXCEPT 3217 { 3218 if ( this != &rhs ) 3219 { 3220 if ( m_bufferView ) 3221 { 3222 getDispatcher()->vkDestroyBufferView( m_device, static_cast<VkBufferView>( m_bufferView ), m_allocator ); 3223 } 3224 m_bufferView = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_bufferView, {} ); 3225 m_device = rhs.m_device; 3226 m_allocator = rhs.m_allocator; 3227 m_dispatcher = rhs.m_dispatcher; 3228 } 3229 return *this; 3230 } 3231 operator *() const3232 VULKAN_HPP_NAMESPACE::BufferView const & operator*() const VULKAN_HPP_NOEXCEPT 3233 { 3234 return m_bufferView; 3235 } 3236 getDispatcher() const3237 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 3238 { 3239 return m_dispatcher; 3240 } 3241 3242 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const3243 explicit operator bool() const VULKAN_HPP_NOEXCEPT 3244 { 3245 return m_bufferView.operator bool(); 3246 } 3247 operator !() const3248 bool operator!() const VULKAN_HPP_NOEXCEPT 3249 { 3250 return m_bufferView.operator!(); 3251 } 3252 # endif 3253 3254 private: 3255 VULKAN_HPP_NAMESPACE::BufferView m_bufferView; 3256 VkDevice m_device; 3257 const VkAllocationCallbacks * m_allocator; 3258 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 3259 }; 3260 3261 class CommandPool 3262 { 3263 public: 3264 using CType = VkCommandPool; 3265 3266 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 3267 VULKAN_HPP_NAMESPACE::ObjectType::eCommandPool; 3268 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 3269 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eCommandPool; 3270 3271 public: CommandPool(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)3272 CommandPool( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 3273 VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo const & createInfo, 3274 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 3275 : m_device( *device ) 3276 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 3277 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 3278 , m_dispatcher( device.getDispatcher() ) 3279 { 3280 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 3281 getDispatcher()->vkCreateCommandPool( static_cast<VkDevice>( *device ), 3282 reinterpret_cast<const VkCommandPoolCreateInfo *>( &createInfo ), 3283 m_allocator, 3284 reinterpret_cast<VkCommandPool *>( &m_commandPool ) ) ); 3285 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 3286 { 3287 throwResultException( result, "vkCreateCommandPool" ); 3288 } 3289 } 3290 CommandPool(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkCommandPool commandPool,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)3291 CommandPool( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 3292 VkCommandPool commandPool, 3293 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 3294 : m_commandPool( commandPool ) 3295 , m_device( *device ) 3296 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 3297 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 3298 , m_dispatcher( device.getDispatcher() ) 3299 {} 3300 ~CommandPool()3301 ~CommandPool() 3302 { 3303 if ( m_commandPool ) 3304 { 3305 getDispatcher()->vkDestroyCommandPool( m_device, static_cast<VkCommandPool>( m_commandPool ), m_allocator ); 3306 } 3307 } 3308 3309 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 3310 CommandPool() = default; 3311 # else 3312 CommandPool() = delete; 3313 # endif 3314 CommandPool( CommandPool const & ) = delete; CommandPool(CommandPool && rhs)3315 CommandPool( CommandPool && rhs ) VULKAN_HPP_NOEXCEPT 3316 : m_commandPool( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_commandPool, {} ) ) 3317 , m_device( rhs.m_device ) 3318 , m_allocator( rhs.m_allocator ) 3319 , m_dispatcher( rhs.m_dispatcher ) 3320 {} 3321 CommandPool & operator=( CommandPool const & ) = delete; operator =(CommandPool && rhs)3322 CommandPool & operator =( CommandPool && rhs ) VULKAN_HPP_NOEXCEPT 3323 { 3324 if ( this != &rhs ) 3325 { 3326 if ( m_commandPool ) 3327 { 3328 getDispatcher()->vkDestroyCommandPool( m_device, static_cast<VkCommandPool>( m_commandPool ), m_allocator ); 3329 } 3330 m_commandPool = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_commandPool, {} ); 3331 m_device = rhs.m_device; 3332 m_allocator = rhs.m_allocator; 3333 m_dispatcher = rhs.m_dispatcher; 3334 } 3335 return *this; 3336 } 3337 operator *() const3338 VULKAN_HPP_NAMESPACE::CommandPool const & operator*() const VULKAN_HPP_NOEXCEPT 3339 { 3340 return m_commandPool; 3341 } 3342 getDispatcher() const3343 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 3344 { 3345 return m_dispatcher; 3346 } 3347 3348 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const3349 explicit operator bool() const VULKAN_HPP_NOEXCEPT 3350 { 3351 return m_commandPool.operator bool(); 3352 } 3353 operator !() const3354 bool operator!() const VULKAN_HPP_NOEXCEPT 3355 { 3356 return m_commandPool.operator!(); 3357 } 3358 # endif 3359 3360 //=== VK_VERSION_1_0 === 3361 3362 void reset( VULKAN_HPP_NAMESPACE::CommandPoolResetFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT ) const; 3363 3364 //=== VK_VERSION_1_1 === 3365 3366 void trim( VULKAN_HPP_NAMESPACE::CommandPoolTrimFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT ) const 3367 VULKAN_HPP_NOEXCEPT; 3368 3369 //=== VK_KHR_maintenance1 === 3370 3371 void trimKHR( VULKAN_HPP_NAMESPACE::CommandPoolTrimFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT ) const 3372 VULKAN_HPP_NOEXCEPT; 3373 3374 private: 3375 VULKAN_HPP_NAMESPACE::CommandPool m_commandPool; 3376 VkDevice m_device; 3377 const VkAllocationCallbacks * m_allocator; 3378 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 3379 }; 3380 3381 class CommandBuffer 3382 { 3383 public: 3384 using CType = VkCommandBuffer; 3385 3386 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 3387 VULKAN_HPP_NAMESPACE::ObjectType::eCommandBuffer; 3388 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 3389 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eCommandBuffer; 3390 3391 public: CommandBuffer(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkCommandBuffer commandBuffer,VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::CommandPool const & commandPool)3392 CommandBuffer( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 3393 VkCommandBuffer commandBuffer, 3394 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::CommandPool const & commandPool ) 3395 : m_commandBuffer( commandBuffer ) 3396 , m_device( *device ) 3397 , m_commandPool( *commandPool ) 3398 , m_dispatcher( device.getDispatcher() ) 3399 {} 3400 CommandBuffer(VkCommandBuffer commandBuffer,VkDevice device,VkCommandPool commandPool,VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * dispatcher)3401 CommandBuffer( VkCommandBuffer commandBuffer, 3402 VkDevice device, 3403 VkCommandPool commandPool, 3404 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * dispatcher ) 3405 : m_commandBuffer( commandBuffer ), m_device( device ), m_commandPool( commandPool ), m_dispatcher( dispatcher ) 3406 {} 3407 ~CommandBuffer()3408 ~CommandBuffer() 3409 { 3410 if ( m_commandBuffer ) 3411 { 3412 getDispatcher()->vkFreeCommandBuffers( 3413 m_device, m_commandPool, 1, reinterpret_cast<VkCommandBuffer const *>( &m_commandBuffer ) ); 3414 } 3415 } 3416 3417 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 3418 CommandBuffer() = default; 3419 # else 3420 CommandBuffer() = delete; 3421 # endif 3422 CommandBuffer( CommandBuffer const & ) = delete; CommandBuffer(CommandBuffer && rhs)3423 CommandBuffer( CommandBuffer && rhs ) VULKAN_HPP_NOEXCEPT 3424 : m_commandBuffer( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_commandBuffer, {} ) ) 3425 , m_device( rhs.m_device ) 3426 , m_commandPool( rhs.m_commandPool ) 3427 , m_dispatcher( rhs.m_dispatcher ) 3428 {} 3429 CommandBuffer & operator=( CommandBuffer const & ) = delete; operator =(CommandBuffer && rhs)3430 CommandBuffer & operator =( CommandBuffer && rhs ) VULKAN_HPP_NOEXCEPT 3431 { 3432 if ( this != &rhs ) 3433 { 3434 if ( m_commandBuffer ) 3435 { 3436 getDispatcher()->vkFreeCommandBuffers( 3437 m_device, m_commandPool, 1, reinterpret_cast<VkCommandBuffer const *>( &m_commandBuffer ) ); 3438 } 3439 m_commandBuffer = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_commandBuffer, {} ); 3440 m_device = rhs.m_device; 3441 m_commandPool = rhs.m_commandPool; 3442 m_dispatcher = rhs.m_dispatcher; 3443 } 3444 return *this; 3445 } 3446 operator *() const3447 VULKAN_HPP_NAMESPACE::CommandBuffer const & operator*() const VULKAN_HPP_NOEXCEPT 3448 { 3449 return m_commandBuffer; 3450 } 3451 getDispatcher() const3452 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 3453 { 3454 return m_dispatcher; 3455 } 3456 3457 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const3458 explicit operator bool() const VULKAN_HPP_NOEXCEPT 3459 { 3460 return m_commandBuffer.operator bool(); 3461 } 3462 operator !() const3463 bool operator!() const VULKAN_HPP_NOEXCEPT 3464 { 3465 return m_commandBuffer.operator!(); 3466 } 3467 # endif 3468 3469 //=== VK_VERSION_1_0 === 3470 3471 void begin( const CommandBufferBeginInfo & beginInfo ) const; 3472 3473 void end() const; 3474 3475 void reset( VULKAN_HPP_NAMESPACE::CommandBufferResetFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT ) const; 3476 3477 void bindPipeline( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint, 3478 VULKAN_HPP_NAMESPACE::Pipeline pipeline ) const VULKAN_HPP_NOEXCEPT; 3479 3480 void setViewport( uint32_t firstViewport, 3481 ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const & viewports ) const VULKAN_HPP_NOEXCEPT; 3482 3483 void setScissor( uint32_t firstScissor, 3484 ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & scissors ) const VULKAN_HPP_NOEXCEPT; 3485 3486 void setLineWidth( float lineWidth ) const VULKAN_HPP_NOEXCEPT; 3487 3488 void setDepthBias( float depthBiasConstantFactor, 3489 float depthBiasClamp, 3490 float depthBiasSlopeFactor ) const VULKAN_HPP_NOEXCEPT; 3491 3492 void setBlendConstants( const float blendConstants[4] ) const VULKAN_HPP_NOEXCEPT; 3493 3494 void setDepthBounds( float minDepthBounds, float maxDepthBounds ) const VULKAN_HPP_NOEXCEPT; 3495 3496 void setStencilCompareMask( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask, 3497 uint32_t compareMask ) const VULKAN_HPP_NOEXCEPT; 3498 3499 void setStencilWriteMask( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask, 3500 uint32_t writeMask ) const VULKAN_HPP_NOEXCEPT; 3501 3502 void setStencilReference( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask, 3503 uint32_t reference ) const VULKAN_HPP_NOEXCEPT; 3504 3505 void bindDescriptorSets( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint, 3506 VULKAN_HPP_NAMESPACE::PipelineLayout layout, 3507 uint32_t firstSet, 3508 ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorSet> const & descriptorSets, 3509 ArrayProxy<const uint32_t> const & dynamicOffsets ) const VULKAN_HPP_NOEXCEPT; 3510 3511 void bindIndexBuffer( VULKAN_HPP_NAMESPACE::Buffer buffer, 3512 VULKAN_HPP_NAMESPACE::DeviceSize offset, 3513 VULKAN_HPP_NAMESPACE::IndexType indexType ) const VULKAN_HPP_NOEXCEPT; 3514 3515 void bindVertexBuffers( uint32_t firstBinding, 3516 ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers, 3517 ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets ) const 3518 VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; 3519 3520 void draw( uint32_t vertexCount, 3521 uint32_t instanceCount, 3522 uint32_t firstVertex, 3523 uint32_t firstInstance ) const VULKAN_HPP_NOEXCEPT; 3524 3525 void drawIndexed( uint32_t indexCount, 3526 uint32_t instanceCount, 3527 uint32_t firstIndex, 3528 int32_t vertexOffset, 3529 uint32_t firstInstance ) const VULKAN_HPP_NOEXCEPT; 3530 3531 void drawIndirect( VULKAN_HPP_NAMESPACE::Buffer buffer, 3532 VULKAN_HPP_NAMESPACE::DeviceSize offset, 3533 uint32_t drawCount, 3534 uint32_t stride ) const VULKAN_HPP_NOEXCEPT; 3535 3536 void drawIndexedIndirect( VULKAN_HPP_NAMESPACE::Buffer buffer, 3537 VULKAN_HPP_NAMESPACE::DeviceSize offset, 3538 uint32_t drawCount, 3539 uint32_t stride ) const VULKAN_HPP_NOEXCEPT; 3540 3541 void dispatch( uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT; 3542 3543 void dispatchIndirect( VULKAN_HPP_NAMESPACE::Buffer buffer, 3544 VULKAN_HPP_NAMESPACE::DeviceSize offset ) const VULKAN_HPP_NOEXCEPT; 3545 3546 void copyBuffer( VULKAN_HPP_NAMESPACE::Buffer srcBuffer, 3547 VULKAN_HPP_NAMESPACE::Buffer dstBuffer, 3548 ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferCopy> const & regions ) const VULKAN_HPP_NOEXCEPT; 3549 3550 void copyImage( VULKAN_HPP_NAMESPACE::Image srcImage, 3551 VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout, 3552 VULKAN_HPP_NAMESPACE::Image dstImage, 3553 VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout, 3554 ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageCopy> const & regions ) const VULKAN_HPP_NOEXCEPT; 3555 3556 void blitImage( VULKAN_HPP_NAMESPACE::Image srcImage, 3557 VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout, 3558 VULKAN_HPP_NAMESPACE::Image dstImage, 3559 VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout, 3560 ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageBlit> const & regions, 3561 VULKAN_HPP_NAMESPACE::Filter filter ) const VULKAN_HPP_NOEXCEPT; 3562 3563 void copyBufferToImage( VULKAN_HPP_NAMESPACE::Buffer srcBuffer, 3564 VULKAN_HPP_NAMESPACE::Image dstImage, 3565 VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout, 3566 ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferImageCopy> const & regions ) const 3567 VULKAN_HPP_NOEXCEPT; 3568 3569 void copyImageToBuffer( VULKAN_HPP_NAMESPACE::Image srcImage, 3570 VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout, 3571 VULKAN_HPP_NAMESPACE::Buffer dstBuffer, 3572 ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferImageCopy> const & regions ) const 3573 VULKAN_HPP_NOEXCEPT; 3574 3575 template <typename T> 3576 void updateBuffer( VULKAN_HPP_NAMESPACE::Buffer dstBuffer, 3577 VULKAN_HPP_NAMESPACE::DeviceSize dstOffset, 3578 ArrayProxy<const T> const & data ) const VULKAN_HPP_NOEXCEPT; 3579 3580 void fillBuffer( VULKAN_HPP_NAMESPACE::Buffer dstBuffer, 3581 VULKAN_HPP_NAMESPACE::DeviceSize dstOffset, 3582 VULKAN_HPP_NAMESPACE::DeviceSize size, 3583 uint32_t data ) const VULKAN_HPP_NOEXCEPT; 3584 3585 void clearColorImage( VULKAN_HPP_NAMESPACE::Image image, 3586 VULKAN_HPP_NAMESPACE::ImageLayout imageLayout, 3587 const ClearColorValue & color, 3588 ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageSubresourceRange> const & ranges ) const 3589 VULKAN_HPP_NOEXCEPT; 3590 3591 void clearDepthStencilImage( VULKAN_HPP_NAMESPACE::Image image, 3592 VULKAN_HPP_NAMESPACE::ImageLayout imageLayout, 3593 const ClearDepthStencilValue & depthStencil, 3594 ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageSubresourceRange> const & ranges ) const 3595 VULKAN_HPP_NOEXCEPT; 3596 3597 void 3598 clearAttachments( ArrayProxy<const VULKAN_HPP_NAMESPACE::ClearAttachment> const & attachments, 3599 ArrayProxy<const VULKAN_HPP_NAMESPACE::ClearRect> const & rects ) const VULKAN_HPP_NOEXCEPT; 3600 3601 void 3602 resolveImage( VULKAN_HPP_NAMESPACE::Image srcImage, 3603 VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout, 3604 VULKAN_HPP_NAMESPACE::Image dstImage, 3605 VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout, 3606 ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageResolve> const & regions ) const VULKAN_HPP_NOEXCEPT; 3607 3608 void setEvent( VULKAN_HPP_NAMESPACE::Event event, 3609 VULKAN_HPP_NAMESPACE::PipelineStageFlags stageMask ) const VULKAN_HPP_NOEXCEPT; 3610 3611 void resetEvent( VULKAN_HPP_NAMESPACE::Event event, 3612 VULKAN_HPP_NAMESPACE::PipelineStageFlags stageMask ) const VULKAN_HPP_NOEXCEPT; 3613 3614 void waitEvents( ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const & events, 3615 VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask, 3616 VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask, 3617 ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryBarrier> const & memoryBarriers, 3618 ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier> const & bufferMemoryBarriers, 3619 ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier> const & imageMemoryBarriers ) const 3620 VULKAN_HPP_NOEXCEPT; 3621 3622 void pipelineBarrier( VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask, 3623 VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask, 3624 VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags, 3625 ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryBarrier> const & memoryBarriers, 3626 ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier> const & bufferMemoryBarriers, 3627 ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier> const & imageMemoryBarriers ) 3628 const VULKAN_HPP_NOEXCEPT; 3629 3630 void beginQuery( VULKAN_HPP_NAMESPACE::QueryPool queryPool, 3631 uint32_t query, 3632 VULKAN_HPP_NAMESPACE::QueryControlFlags flags 3633 VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; 3634 3635 void endQuery( VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT; 3636 3637 void resetQueryPool( VULKAN_HPP_NAMESPACE::QueryPool queryPool, 3638 uint32_t firstQuery, 3639 uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT; 3640 3641 void writeTimestamp( VULKAN_HPP_NAMESPACE::PipelineStageFlagBits pipelineStage, 3642 VULKAN_HPP_NAMESPACE::QueryPool queryPool, 3643 uint32_t query ) const VULKAN_HPP_NOEXCEPT; 3644 3645 void copyQueryPoolResults( VULKAN_HPP_NAMESPACE::QueryPool queryPool, 3646 uint32_t firstQuery, 3647 uint32_t queryCount, 3648 VULKAN_HPP_NAMESPACE::Buffer dstBuffer, 3649 VULKAN_HPP_NAMESPACE::DeviceSize dstOffset, 3650 VULKAN_HPP_NAMESPACE::DeviceSize stride, 3651 VULKAN_HPP_NAMESPACE::QueryResultFlags flags 3652 VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; 3653 3654 template <typename T> 3655 void pushConstants( VULKAN_HPP_NAMESPACE::PipelineLayout layout, 3656 VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags, 3657 uint32_t offset, 3658 ArrayProxy<const T> const & values ) const VULKAN_HPP_NOEXCEPT; 3659 3660 void beginRenderPass( const RenderPassBeginInfo & renderPassBegin, 3661 VULKAN_HPP_NAMESPACE::SubpassContents contents ) const VULKAN_HPP_NOEXCEPT; 3662 3663 void nextSubpass( VULKAN_HPP_NAMESPACE::SubpassContents contents ) const VULKAN_HPP_NOEXCEPT; 3664 3665 void endRenderPass() const VULKAN_HPP_NOEXCEPT; 3666 3667 void executeCommands( ArrayProxy<const VULKAN_HPP_NAMESPACE::CommandBuffer> const & commandBuffers ) const 3668 VULKAN_HPP_NOEXCEPT; 3669 3670 //=== VK_VERSION_1_1 === 3671 3672 void setDeviceMask( uint32_t deviceMask ) const VULKAN_HPP_NOEXCEPT; 3673 3674 void dispatchBase( uint32_t baseGroupX, 3675 uint32_t baseGroupY, 3676 uint32_t baseGroupZ, 3677 uint32_t groupCountX, 3678 uint32_t groupCountY, 3679 uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT; 3680 3681 //=== VK_VERSION_1_2 === 3682 3683 void drawIndirectCount( VULKAN_HPP_NAMESPACE::Buffer buffer, 3684 VULKAN_HPP_NAMESPACE::DeviceSize offset, 3685 VULKAN_HPP_NAMESPACE::Buffer countBuffer, 3686 VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, 3687 uint32_t maxDrawCount, 3688 uint32_t stride ) const VULKAN_HPP_NOEXCEPT; 3689 3690 void drawIndexedIndirectCount( VULKAN_HPP_NAMESPACE::Buffer buffer, 3691 VULKAN_HPP_NAMESPACE::DeviceSize offset, 3692 VULKAN_HPP_NAMESPACE::Buffer countBuffer, 3693 VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, 3694 uint32_t maxDrawCount, 3695 uint32_t stride ) const VULKAN_HPP_NOEXCEPT; 3696 3697 void beginRenderPass2( const RenderPassBeginInfo & renderPassBegin, 3698 const SubpassBeginInfo & subpassBeginInfo ) const VULKAN_HPP_NOEXCEPT; 3699 3700 void nextSubpass2( const SubpassBeginInfo & subpassBeginInfo, 3701 const SubpassEndInfo & subpassEndInfo ) const VULKAN_HPP_NOEXCEPT; 3702 3703 void endRenderPass2( const SubpassEndInfo & subpassEndInfo ) const VULKAN_HPP_NOEXCEPT; 3704 3705 //=== VK_EXT_debug_marker === 3706 3707 void debugMarkerBeginEXT( const DebugMarkerMarkerInfoEXT & markerInfo ) const VULKAN_HPP_NOEXCEPT; 3708 3709 void debugMarkerEndEXT() const VULKAN_HPP_NOEXCEPT; 3710 3711 void debugMarkerInsertEXT( const DebugMarkerMarkerInfoEXT & markerInfo ) const VULKAN_HPP_NOEXCEPT; 3712 3713 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 3714 //=== VK_KHR_video_queue === 3715 3716 void beginVideoCodingKHR( const VideoBeginCodingInfoKHR & beginInfo ) const VULKAN_HPP_NOEXCEPT; 3717 3718 void endVideoCodingKHR( const VideoEndCodingInfoKHR & endCodingInfo ) const VULKAN_HPP_NOEXCEPT; 3719 3720 void controlVideoCodingKHR( const VideoCodingControlInfoKHR & codingControlInfo ) const VULKAN_HPP_NOEXCEPT; 3721 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 3722 3723 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 3724 //=== VK_KHR_video_decode_queue === 3725 3726 void decodeVideoKHR( const VideoDecodeInfoKHR & frameInfo ) const VULKAN_HPP_NOEXCEPT; 3727 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 3728 3729 //=== VK_EXT_transform_feedback === 3730 3731 void bindTransformFeedbackBuffersEXT( uint32_t firstBinding, 3732 ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers, 3733 ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets, 3734 ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & sizes 3735 VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT ) const 3736 VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; 3737 3738 void beginTransformFeedbackEXT( uint32_t firstCounterBuffer, 3739 ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & counterBuffers, 3740 ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & counterBufferOffsets 3741 VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT ) const 3742 VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; 3743 3744 void endTransformFeedbackEXT( uint32_t firstCounterBuffer, 3745 ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & counterBuffers, 3746 ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & counterBufferOffsets 3747 VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT ) const 3748 VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; 3749 3750 void beginQueryIndexedEXT( VULKAN_HPP_NAMESPACE::QueryPool queryPool, 3751 uint32_t query, 3752 VULKAN_HPP_NAMESPACE::QueryControlFlags flags, 3753 uint32_t index ) const VULKAN_HPP_NOEXCEPT; 3754 3755 void endQueryIndexedEXT( VULKAN_HPP_NAMESPACE::QueryPool queryPool, 3756 uint32_t query, 3757 uint32_t index ) const VULKAN_HPP_NOEXCEPT; 3758 3759 void drawIndirectByteCountEXT( uint32_t instanceCount, 3760 uint32_t firstInstance, 3761 VULKAN_HPP_NAMESPACE::Buffer counterBuffer, 3762 VULKAN_HPP_NAMESPACE::DeviceSize counterBufferOffset, 3763 uint32_t counterOffset, 3764 uint32_t vertexStride ) const VULKAN_HPP_NOEXCEPT; 3765 3766 //=== VK_NVX_binary_import === 3767 3768 void cuLaunchKernelNVX( const CuLaunchInfoNVX & launchInfo ) const VULKAN_HPP_NOEXCEPT; 3769 3770 //=== VK_AMD_draw_indirect_count === 3771 3772 void drawIndirectCountAMD( VULKAN_HPP_NAMESPACE::Buffer buffer, 3773 VULKAN_HPP_NAMESPACE::DeviceSize offset, 3774 VULKAN_HPP_NAMESPACE::Buffer countBuffer, 3775 VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, 3776 uint32_t maxDrawCount, 3777 uint32_t stride ) const VULKAN_HPP_NOEXCEPT; 3778 3779 void drawIndexedIndirectCountAMD( VULKAN_HPP_NAMESPACE::Buffer buffer, 3780 VULKAN_HPP_NAMESPACE::DeviceSize offset, 3781 VULKAN_HPP_NAMESPACE::Buffer countBuffer, 3782 VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, 3783 uint32_t maxDrawCount, 3784 uint32_t stride ) const VULKAN_HPP_NOEXCEPT; 3785 3786 //=== VK_KHR_device_group === 3787 3788 void setDeviceMaskKHR( uint32_t deviceMask ) const VULKAN_HPP_NOEXCEPT; 3789 3790 void dispatchBaseKHR( uint32_t baseGroupX, 3791 uint32_t baseGroupY, 3792 uint32_t baseGroupZ, 3793 uint32_t groupCountX, 3794 uint32_t groupCountY, 3795 uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT; 3796 3797 //=== VK_KHR_push_descriptor === 3798 3799 void pushDescriptorSetKHR( 3800 VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint, 3801 VULKAN_HPP_NAMESPACE::PipelineLayout layout, 3802 uint32_t set, 3803 ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const & descriptorWrites ) const VULKAN_HPP_NOEXCEPT; 3804 3805 void pushDescriptorSetWithTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, 3806 VULKAN_HPP_NAMESPACE::PipelineLayout layout, 3807 uint32_t set, 3808 const void * pData ) const VULKAN_HPP_NOEXCEPT; 3809 3810 //=== VK_EXT_conditional_rendering === 3811 3812 void beginConditionalRenderingEXT( const ConditionalRenderingBeginInfoEXT & conditionalRenderingBegin ) const 3813 VULKAN_HPP_NOEXCEPT; 3814 3815 void endConditionalRenderingEXT() const VULKAN_HPP_NOEXCEPT; 3816 3817 //=== VK_NV_clip_space_w_scaling === 3818 3819 void setViewportWScalingNV( uint32_t firstViewport, 3820 ArrayProxy<const VULKAN_HPP_NAMESPACE::ViewportWScalingNV> const & viewportWScalings ) 3821 const VULKAN_HPP_NOEXCEPT; 3822 3823 //=== VK_EXT_discard_rectangles === 3824 3825 void setDiscardRectangleEXT( uint32_t firstDiscardRectangle, 3826 ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & discardRectangles ) const 3827 VULKAN_HPP_NOEXCEPT; 3828 3829 //=== VK_KHR_create_renderpass2 === 3830 3831 void beginRenderPass2KHR( const RenderPassBeginInfo & renderPassBegin, 3832 const SubpassBeginInfo & subpassBeginInfo ) const VULKAN_HPP_NOEXCEPT; 3833 3834 void nextSubpass2KHR( const SubpassBeginInfo & subpassBeginInfo, 3835 const SubpassEndInfo & subpassEndInfo ) const VULKAN_HPP_NOEXCEPT; 3836 3837 void endRenderPass2KHR( const SubpassEndInfo & subpassEndInfo ) const VULKAN_HPP_NOEXCEPT; 3838 3839 //=== VK_EXT_debug_utils === 3840 3841 void beginDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo ) const VULKAN_HPP_NOEXCEPT; 3842 3843 void endDebugUtilsLabelEXT() const VULKAN_HPP_NOEXCEPT; 3844 3845 void insertDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo ) const VULKAN_HPP_NOEXCEPT; 3846 3847 //=== VK_EXT_sample_locations === 3848 3849 void setSampleLocationsEXT( const SampleLocationsInfoEXT & sampleLocationsInfo ) const VULKAN_HPP_NOEXCEPT; 3850 3851 //=== VK_KHR_acceleration_structure === 3852 3853 void buildAccelerationStructuresKHR( 3854 ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const & infos, 3855 ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR * const> const & 3856 pBuildRangeInfos ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; 3857 3858 void buildAccelerationStructuresIndirectKHR( 3859 ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const & infos, 3860 ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceAddress> const & indirectDeviceAddresses, 3861 ArrayProxy<const uint32_t> const & indirectStrides, 3862 ArrayProxy<const uint32_t * const> const & pMaxPrimitiveCounts ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; 3863 3864 void copyAccelerationStructureKHR( const CopyAccelerationStructureInfoKHR & info ) const VULKAN_HPP_NOEXCEPT; 3865 3866 void copyAccelerationStructureToMemoryKHR( const CopyAccelerationStructureToMemoryInfoKHR & info ) const 3867 VULKAN_HPP_NOEXCEPT; 3868 3869 void copyMemoryToAccelerationStructureKHR( const CopyMemoryToAccelerationStructureInfoKHR & info ) const 3870 VULKAN_HPP_NOEXCEPT; 3871 3872 void writeAccelerationStructuresPropertiesKHR( 3873 ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures, 3874 VULKAN_HPP_NAMESPACE::QueryType queryType, 3875 VULKAN_HPP_NAMESPACE::QueryPool queryPool, 3876 uint32_t firstQuery ) const VULKAN_HPP_NOEXCEPT; 3877 3878 //=== VK_NV_shading_rate_image === 3879 3880 void bindShadingRateImageNV( VULKAN_HPP_NAMESPACE::ImageView imageView, 3881 VULKAN_HPP_NAMESPACE::ImageLayout imageLayout ) const VULKAN_HPP_NOEXCEPT; 3882 3883 void setViewportShadingRatePaletteNV( uint32_t firstViewport, 3884 ArrayProxy<const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV> const & 3885 shadingRatePalettes ) const VULKAN_HPP_NOEXCEPT; 3886 3887 void setCoarseSampleOrderNV( VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV sampleOrderType, 3888 ArrayProxy<const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV> const & 3889 customSampleOrders ) const VULKAN_HPP_NOEXCEPT; 3890 3891 //=== VK_NV_ray_tracing === 3892 3893 void buildAccelerationStructureNV( const AccelerationStructureInfoNV & info, 3894 VULKAN_HPP_NAMESPACE::Buffer instanceData, 3895 VULKAN_HPP_NAMESPACE::DeviceSize instanceOffset, 3896 VULKAN_HPP_NAMESPACE::Bool32 update, 3897 VULKAN_HPP_NAMESPACE::AccelerationStructureNV dst, 3898 VULKAN_HPP_NAMESPACE::AccelerationStructureNV src, 3899 VULKAN_HPP_NAMESPACE::Buffer scratch, 3900 VULKAN_HPP_NAMESPACE::DeviceSize scratchOffset ) const VULKAN_HPP_NOEXCEPT; 3901 3902 void copyAccelerationStructureNV( VULKAN_HPP_NAMESPACE::AccelerationStructureNV dst, 3903 VULKAN_HPP_NAMESPACE::AccelerationStructureNV src, 3904 VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode ) const 3905 VULKAN_HPP_NOEXCEPT; 3906 3907 void traceRaysNV( VULKAN_HPP_NAMESPACE::Buffer raygenShaderBindingTableBuffer, 3908 VULKAN_HPP_NAMESPACE::DeviceSize raygenShaderBindingOffset, 3909 VULKAN_HPP_NAMESPACE::Buffer missShaderBindingTableBuffer, 3910 VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingOffset, 3911 VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingStride, 3912 VULKAN_HPP_NAMESPACE::Buffer hitShaderBindingTableBuffer, 3913 VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingOffset, 3914 VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingStride, 3915 VULKAN_HPP_NAMESPACE::Buffer callableShaderBindingTableBuffer, 3916 VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingOffset, 3917 VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingStride, 3918 uint32_t width, 3919 uint32_t height, 3920 uint32_t depth ) const VULKAN_HPP_NOEXCEPT; 3921 3922 void writeAccelerationStructuresPropertiesNV( 3923 ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureNV> const & accelerationStructures, 3924 VULKAN_HPP_NAMESPACE::QueryType queryType, 3925 VULKAN_HPP_NAMESPACE::QueryPool queryPool, 3926 uint32_t firstQuery ) const VULKAN_HPP_NOEXCEPT; 3927 3928 //=== VK_KHR_draw_indirect_count === 3929 3930 void drawIndirectCountKHR( VULKAN_HPP_NAMESPACE::Buffer buffer, 3931 VULKAN_HPP_NAMESPACE::DeviceSize offset, 3932 VULKAN_HPP_NAMESPACE::Buffer countBuffer, 3933 VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, 3934 uint32_t maxDrawCount, 3935 uint32_t stride ) const VULKAN_HPP_NOEXCEPT; 3936 3937 void drawIndexedIndirectCountKHR( VULKAN_HPP_NAMESPACE::Buffer buffer, 3938 VULKAN_HPP_NAMESPACE::DeviceSize offset, 3939 VULKAN_HPP_NAMESPACE::Buffer countBuffer, 3940 VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, 3941 uint32_t maxDrawCount, 3942 uint32_t stride ) const VULKAN_HPP_NOEXCEPT; 3943 3944 //=== VK_AMD_buffer_marker === 3945 3946 void writeBufferMarkerAMD( VULKAN_HPP_NAMESPACE::PipelineStageFlagBits pipelineStage, 3947 VULKAN_HPP_NAMESPACE::Buffer dstBuffer, 3948 VULKAN_HPP_NAMESPACE::DeviceSize dstOffset, 3949 uint32_t marker ) const VULKAN_HPP_NOEXCEPT; 3950 3951 //=== VK_NV_mesh_shader === 3952 3953 void drawMeshTasksNV( uint32_t taskCount, uint32_t firstTask ) const VULKAN_HPP_NOEXCEPT; 3954 3955 void drawMeshTasksIndirectNV( VULKAN_HPP_NAMESPACE::Buffer buffer, 3956 VULKAN_HPP_NAMESPACE::DeviceSize offset, 3957 uint32_t drawCount, 3958 uint32_t stride ) const VULKAN_HPP_NOEXCEPT; 3959 3960 void drawMeshTasksIndirectCountNV( VULKAN_HPP_NAMESPACE::Buffer buffer, 3961 VULKAN_HPP_NAMESPACE::DeviceSize offset, 3962 VULKAN_HPP_NAMESPACE::Buffer countBuffer, 3963 VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, 3964 uint32_t maxDrawCount, 3965 uint32_t stride ) const VULKAN_HPP_NOEXCEPT; 3966 3967 //=== VK_NV_scissor_exclusive === 3968 3969 void setExclusiveScissorNV( uint32_t firstExclusiveScissor, 3970 ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & exclusiveScissors ) const 3971 VULKAN_HPP_NOEXCEPT; 3972 3973 //=== VK_NV_device_diagnostic_checkpoints === 3974 3975 void setCheckpointNV( const void * pCheckpointMarker ) const VULKAN_HPP_NOEXCEPT; 3976 3977 //=== VK_INTEL_performance_query === 3978 3979 void setPerformanceMarkerINTEL( const PerformanceMarkerInfoINTEL & markerInfo ) const; 3980 3981 void setPerformanceStreamMarkerINTEL( const PerformanceStreamMarkerInfoINTEL & markerInfo ) const; 3982 3983 void setPerformanceOverrideINTEL( const PerformanceOverrideInfoINTEL & overrideInfo ) const; 3984 3985 //=== VK_KHR_fragment_shading_rate === 3986 3987 void setFragmentShadingRateKHR( 3988 const Extent2D & fragmentSize, 3989 const VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR combinerOps[2] ) const VULKAN_HPP_NOEXCEPT; 3990 3991 //=== VK_EXT_line_rasterization === 3992 3993 void setLineStippleEXT( uint32_t lineStippleFactor, uint16_t lineStipplePattern ) const VULKAN_HPP_NOEXCEPT; 3994 3995 //=== VK_EXT_extended_dynamic_state === 3996 3997 void setCullModeEXT( VULKAN_HPP_NAMESPACE::CullModeFlags cullMode VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT ) const 3998 VULKAN_HPP_NOEXCEPT; 3999 4000 void setFrontFaceEXT( VULKAN_HPP_NAMESPACE::FrontFace frontFace ) const VULKAN_HPP_NOEXCEPT; 4001 4002 void 4003 setPrimitiveTopologyEXT( VULKAN_HPP_NAMESPACE::PrimitiveTopology primitiveTopology ) const VULKAN_HPP_NOEXCEPT; 4004 4005 void setViewportWithCountEXT( ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const & viewports ) const 4006 VULKAN_HPP_NOEXCEPT; 4007 4008 void setScissorWithCountEXT( ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & scissors ) const 4009 VULKAN_HPP_NOEXCEPT; 4010 4011 void bindVertexBuffers2EXT( 4012 uint32_t firstBinding, 4013 ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers, 4014 ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets, 4015 ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & sizes VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT, 4016 ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & strides 4017 VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; 4018 4019 void setDepthTestEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 depthTestEnable ) const VULKAN_HPP_NOEXCEPT; 4020 4021 void setDepthWriteEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 depthWriteEnable ) const VULKAN_HPP_NOEXCEPT; 4022 4023 void setDepthCompareOpEXT( VULKAN_HPP_NAMESPACE::CompareOp depthCompareOp ) const VULKAN_HPP_NOEXCEPT; 4024 4025 void setDepthBoundsTestEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 depthBoundsTestEnable ) const VULKAN_HPP_NOEXCEPT; 4026 4027 void setStencilTestEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 stencilTestEnable ) const VULKAN_HPP_NOEXCEPT; 4028 4029 void setStencilOpEXT( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask, 4030 VULKAN_HPP_NAMESPACE::StencilOp failOp, 4031 VULKAN_HPP_NAMESPACE::StencilOp passOp, 4032 VULKAN_HPP_NAMESPACE::StencilOp depthFailOp, 4033 VULKAN_HPP_NAMESPACE::CompareOp compareOp ) const VULKAN_HPP_NOEXCEPT; 4034 4035 //=== VK_NV_device_generated_commands === 4036 4037 void preprocessGeneratedCommandsNV( const GeneratedCommandsInfoNV & generatedCommandsInfo ) const 4038 VULKAN_HPP_NOEXCEPT; 4039 4040 void 4041 executeGeneratedCommandsNV( VULKAN_HPP_NAMESPACE::Bool32 isPreprocessed, 4042 const GeneratedCommandsInfoNV & generatedCommandsInfo ) const VULKAN_HPP_NOEXCEPT; 4043 4044 void bindPipelineShaderGroupNV( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint, 4045 VULKAN_HPP_NAMESPACE::Pipeline pipeline, 4046 uint32_t groupIndex ) const VULKAN_HPP_NOEXCEPT; 4047 4048 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 4049 //=== VK_KHR_video_encode_queue === 4050 4051 void encodeVideoKHR( const VideoEncodeInfoKHR & encodeInfo ) const VULKAN_HPP_NOEXCEPT; 4052 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 4053 4054 //=== VK_KHR_synchronization2 === 4055 4056 void setEvent2KHR( VULKAN_HPP_NAMESPACE::Event event, 4057 const DependencyInfoKHR & dependencyInfo ) const VULKAN_HPP_NOEXCEPT; 4058 4059 void resetEvent2KHR( VULKAN_HPP_NAMESPACE::Event event, 4060 VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR stageMask ) const VULKAN_HPP_NOEXCEPT; 4061 4062 void waitEvents2KHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const & events, 4063 ArrayProxy<const VULKAN_HPP_NAMESPACE::DependencyInfoKHR> const & dependencyInfos ) const 4064 VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; 4065 4066 void pipelineBarrier2KHR( const DependencyInfoKHR & dependencyInfo ) const VULKAN_HPP_NOEXCEPT; 4067 4068 void writeTimestamp2KHR( VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR stage, 4069 VULKAN_HPP_NAMESPACE::QueryPool queryPool, 4070 uint32_t query ) const VULKAN_HPP_NOEXCEPT; 4071 4072 void writeBufferMarker2AMD( VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR stage, 4073 VULKAN_HPP_NAMESPACE::Buffer dstBuffer, 4074 VULKAN_HPP_NAMESPACE::DeviceSize dstOffset, 4075 uint32_t marker ) const VULKAN_HPP_NOEXCEPT; 4076 4077 //=== VK_NV_fragment_shading_rate_enums === 4078 4079 void setFragmentShadingRateEnumNV( 4080 VULKAN_HPP_NAMESPACE::FragmentShadingRateNV shadingRate, 4081 const VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR combinerOps[2] ) const VULKAN_HPP_NOEXCEPT; 4082 4083 //=== VK_KHR_copy_commands2 === 4084 4085 void copyBuffer2KHR( const CopyBufferInfo2KHR & copyBufferInfo ) const VULKAN_HPP_NOEXCEPT; 4086 4087 void copyImage2KHR( const CopyImageInfo2KHR & copyImageInfo ) const VULKAN_HPP_NOEXCEPT; 4088 4089 void copyBufferToImage2KHR( const CopyBufferToImageInfo2KHR & copyBufferToImageInfo ) const VULKAN_HPP_NOEXCEPT; 4090 4091 void copyImageToBuffer2KHR( const CopyImageToBufferInfo2KHR & copyImageToBufferInfo ) const VULKAN_HPP_NOEXCEPT; 4092 4093 void blitImage2KHR( const BlitImageInfo2KHR & blitImageInfo ) const VULKAN_HPP_NOEXCEPT; 4094 4095 void resolveImage2KHR( const ResolveImageInfo2KHR & resolveImageInfo ) const VULKAN_HPP_NOEXCEPT; 4096 4097 //=== VK_KHR_ray_tracing_pipeline === 4098 4099 void traceRaysKHR( const StridedDeviceAddressRegionKHR & raygenShaderBindingTable, 4100 const StridedDeviceAddressRegionKHR & missShaderBindingTable, 4101 const StridedDeviceAddressRegionKHR & hitShaderBindingTable, 4102 const StridedDeviceAddressRegionKHR & callableShaderBindingTable, 4103 uint32_t width, 4104 uint32_t height, 4105 uint32_t depth ) const VULKAN_HPP_NOEXCEPT; 4106 4107 void traceRaysIndirectKHR( const StridedDeviceAddressRegionKHR & raygenShaderBindingTable, 4108 const StridedDeviceAddressRegionKHR & missShaderBindingTable, 4109 const StridedDeviceAddressRegionKHR & hitShaderBindingTable, 4110 const StridedDeviceAddressRegionKHR & callableShaderBindingTable, 4111 VULKAN_HPP_NAMESPACE::DeviceAddress indirectDeviceAddress ) const VULKAN_HPP_NOEXCEPT; 4112 4113 void setRayTracingPipelineStackSizeKHR( uint32_t pipelineStackSize ) const VULKAN_HPP_NOEXCEPT; 4114 4115 //=== VK_EXT_vertex_input_dynamic_state === 4116 4117 void setVertexInputEXT( 4118 ArrayProxy<const VULKAN_HPP_NAMESPACE::VertexInputBindingDescription2EXT> const & vertexBindingDescriptions, 4119 ArrayProxy<const VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription2EXT> const & 4120 vertexAttributeDescriptions ) const VULKAN_HPP_NOEXCEPT; 4121 4122 //=== VK_HUAWEI_subpass_shading === 4123 4124 void subpassShadingHUAWEI() const VULKAN_HPP_NOEXCEPT; 4125 4126 //=== VK_EXT_extended_dynamic_state2 === 4127 4128 void setPatchControlPointsEXT( uint32_t patchControlPoints ) const VULKAN_HPP_NOEXCEPT; 4129 4130 void 4131 setRasterizerDiscardEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 rasterizerDiscardEnable ) const VULKAN_HPP_NOEXCEPT; 4132 4133 void setDepthBiasEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 depthBiasEnable ) const VULKAN_HPP_NOEXCEPT; 4134 4135 void setLogicOpEXT( VULKAN_HPP_NAMESPACE::LogicOp logicOp ) const VULKAN_HPP_NOEXCEPT; 4136 4137 void 4138 setPrimitiveRestartEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 primitiveRestartEnable ) const VULKAN_HPP_NOEXCEPT; 4139 4140 //=== VK_EXT_color_write_enable === 4141 4142 void setColorWriteEnableEXT( ArrayProxy<const VULKAN_HPP_NAMESPACE::Bool32> const & colorWriteEnables ) const 4143 VULKAN_HPP_NOEXCEPT; 4144 4145 //=== VK_EXT_multi_draw === 4146 4147 void drawMultiEXT( ArrayProxy<const VULKAN_HPP_NAMESPACE::MultiDrawInfoEXT> const & vertexInfo, 4148 uint32_t instanceCount, 4149 uint32_t firstInstance, 4150 uint32_t stride ) const VULKAN_HPP_NOEXCEPT; 4151 4152 void drawMultiIndexedEXT( ArrayProxy<const VULKAN_HPP_NAMESPACE::MultiDrawIndexedInfoEXT> const & indexInfo, 4153 uint32_t instanceCount, 4154 uint32_t firstInstance, 4155 uint32_t stride, 4156 Optional<const int32_t> vertexOffset 4157 VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; 4158 4159 private: 4160 VULKAN_HPP_NAMESPACE::CommandBuffer m_commandBuffer; 4161 VkDevice m_device; 4162 VkCommandPool m_commandPool; 4163 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 4164 }; 4165 4166 class CommandBuffers : public std::vector<VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::CommandBuffer> 4167 { 4168 public: CommandBuffers(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo const & allocateInfo)4169 CommandBuffers( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 4170 VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo const & allocateInfo ) 4171 { 4172 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * dispatcher = device.getDispatcher(); 4173 std::vector<VkCommandBuffer> commandBuffers( allocateInfo.commandBufferCount ); 4174 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 4175 dispatcher->vkAllocateCommandBuffers( static_cast<VkDevice>( *device ), 4176 reinterpret_cast<const VkCommandBufferAllocateInfo *>( &allocateInfo ), 4177 commandBuffers.data() ) ); 4178 if ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) 4179 { 4180 this->reserve( allocateInfo.commandBufferCount ); 4181 for ( auto const & commandBuffer : commandBuffers ) 4182 { 4183 this->emplace_back( commandBuffer, 4184 static_cast<VkDevice>( *device ), 4185 static_cast<VkCommandPool>( allocateInfo.commandPool ), 4186 dispatcher ); 4187 } 4188 } 4189 else 4190 { 4191 throwResultException( result, "vkAllocateCommandBuffers" ); 4192 } 4193 } 4194 4195 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 4196 CommandBuffers() = default; 4197 # else 4198 CommandBuffers() = delete; 4199 # endif 4200 CommandBuffers( CommandBuffers const & ) = delete; 4201 CommandBuffers( CommandBuffers && rhs ) = default; 4202 CommandBuffers & operator=( CommandBuffers const & ) = delete; 4203 CommandBuffers & operator=( CommandBuffers && rhs ) = default; 4204 }; 4205 4206 class CuFunctionNVX 4207 { 4208 public: 4209 using CType = VkCuFunctionNVX; 4210 4211 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 4212 VULKAN_HPP_NAMESPACE::ObjectType::eCuFunctionNVX; 4213 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 4214 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eCuFunctionNVX; 4215 4216 public: CuFunctionNVX(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::CuFunctionCreateInfoNVX const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)4217 CuFunctionNVX( 4218 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 4219 VULKAN_HPP_NAMESPACE::CuFunctionCreateInfoNVX const & createInfo, 4220 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 4221 : m_device( *device ) 4222 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 4223 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 4224 , m_dispatcher( device.getDispatcher() ) 4225 { 4226 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 4227 getDispatcher()->vkCreateCuFunctionNVX( static_cast<VkDevice>( *device ), 4228 reinterpret_cast<const VkCuFunctionCreateInfoNVX *>( &createInfo ), 4229 m_allocator, 4230 reinterpret_cast<VkCuFunctionNVX *>( &m_cuFunctionNVX ) ) ); 4231 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 4232 { 4233 throwResultException( result, "vkCreateCuFunctionNVX" ); 4234 } 4235 } 4236 CuFunctionNVX(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkCuFunctionNVX cuFunctionNVX,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)4237 CuFunctionNVX( 4238 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 4239 VkCuFunctionNVX cuFunctionNVX, 4240 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 4241 : m_cuFunctionNVX( cuFunctionNVX ) 4242 , m_device( *device ) 4243 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 4244 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 4245 , m_dispatcher( device.getDispatcher() ) 4246 {} 4247 ~CuFunctionNVX()4248 ~CuFunctionNVX() 4249 { 4250 if ( m_cuFunctionNVX ) 4251 { 4252 getDispatcher()->vkDestroyCuFunctionNVX( 4253 m_device, static_cast<VkCuFunctionNVX>( m_cuFunctionNVX ), m_allocator ); 4254 } 4255 } 4256 4257 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 4258 CuFunctionNVX() = default; 4259 # else 4260 CuFunctionNVX() = delete; 4261 # endif 4262 CuFunctionNVX( CuFunctionNVX const & ) = delete; CuFunctionNVX(CuFunctionNVX && rhs)4263 CuFunctionNVX( CuFunctionNVX && rhs ) VULKAN_HPP_NOEXCEPT 4264 : m_cuFunctionNVX( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_cuFunctionNVX, {} ) ) 4265 , m_device( rhs.m_device ) 4266 , m_allocator( rhs.m_allocator ) 4267 , m_dispatcher( rhs.m_dispatcher ) 4268 {} 4269 CuFunctionNVX & operator=( CuFunctionNVX const & ) = delete; operator =(CuFunctionNVX && rhs)4270 CuFunctionNVX & operator =( CuFunctionNVX && rhs ) VULKAN_HPP_NOEXCEPT 4271 { 4272 if ( this != &rhs ) 4273 { 4274 if ( m_cuFunctionNVX ) 4275 { 4276 getDispatcher()->vkDestroyCuFunctionNVX( 4277 m_device, static_cast<VkCuFunctionNVX>( m_cuFunctionNVX ), m_allocator ); 4278 } 4279 m_cuFunctionNVX = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_cuFunctionNVX, {} ); 4280 m_device = rhs.m_device; 4281 m_allocator = rhs.m_allocator; 4282 m_dispatcher = rhs.m_dispatcher; 4283 } 4284 return *this; 4285 } 4286 operator *() const4287 VULKAN_HPP_NAMESPACE::CuFunctionNVX const & operator*() const VULKAN_HPP_NOEXCEPT 4288 { 4289 return m_cuFunctionNVX; 4290 } 4291 getDispatcher() const4292 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 4293 { 4294 return m_dispatcher; 4295 } 4296 4297 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const4298 explicit operator bool() const VULKAN_HPP_NOEXCEPT 4299 { 4300 return m_cuFunctionNVX.operator bool(); 4301 } 4302 operator !() const4303 bool operator!() const VULKAN_HPP_NOEXCEPT 4304 { 4305 return m_cuFunctionNVX.operator!(); 4306 } 4307 # endif 4308 4309 private: 4310 VULKAN_HPP_NAMESPACE::CuFunctionNVX m_cuFunctionNVX; 4311 VkDevice m_device; 4312 const VkAllocationCallbacks * m_allocator; 4313 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 4314 }; 4315 4316 class CuModuleNVX 4317 { 4318 public: 4319 using CType = VkCuModuleNVX; 4320 4321 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 4322 VULKAN_HPP_NAMESPACE::ObjectType::eCuModuleNVX; 4323 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 4324 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eCuModuleNVX; 4325 4326 public: CuModuleNVX(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::CuModuleCreateInfoNVX const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)4327 CuModuleNVX( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 4328 VULKAN_HPP_NAMESPACE::CuModuleCreateInfoNVX const & createInfo, 4329 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 4330 : m_device( *device ) 4331 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 4332 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 4333 , m_dispatcher( device.getDispatcher() ) 4334 { 4335 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 4336 getDispatcher()->vkCreateCuModuleNVX( static_cast<VkDevice>( *device ), 4337 reinterpret_cast<const VkCuModuleCreateInfoNVX *>( &createInfo ), 4338 m_allocator, 4339 reinterpret_cast<VkCuModuleNVX *>( &m_cuModuleNVX ) ) ); 4340 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 4341 { 4342 throwResultException( result, "vkCreateCuModuleNVX" ); 4343 } 4344 } 4345 CuModuleNVX(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkCuModuleNVX cuModuleNVX,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)4346 CuModuleNVX( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 4347 VkCuModuleNVX cuModuleNVX, 4348 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 4349 : m_cuModuleNVX( cuModuleNVX ) 4350 , m_device( *device ) 4351 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 4352 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 4353 , m_dispatcher( device.getDispatcher() ) 4354 {} 4355 ~CuModuleNVX()4356 ~CuModuleNVX() 4357 { 4358 if ( m_cuModuleNVX ) 4359 { 4360 getDispatcher()->vkDestroyCuModuleNVX( m_device, static_cast<VkCuModuleNVX>( m_cuModuleNVX ), m_allocator ); 4361 } 4362 } 4363 4364 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 4365 CuModuleNVX() = default; 4366 # else 4367 CuModuleNVX() = delete; 4368 # endif 4369 CuModuleNVX( CuModuleNVX const & ) = delete; CuModuleNVX(CuModuleNVX && rhs)4370 CuModuleNVX( CuModuleNVX && rhs ) VULKAN_HPP_NOEXCEPT 4371 : m_cuModuleNVX( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_cuModuleNVX, {} ) ) 4372 , m_device( rhs.m_device ) 4373 , m_allocator( rhs.m_allocator ) 4374 , m_dispatcher( rhs.m_dispatcher ) 4375 {} 4376 CuModuleNVX & operator=( CuModuleNVX const & ) = delete; operator =(CuModuleNVX && rhs)4377 CuModuleNVX & operator =( CuModuleNVX && rhs ) VULKAN_HPP_NOEXCEPT 4378 { 4379 if ( this != &rhs ) 4380 { 4381 if ( m_cuModuleNVX ) 4382 { 4383 getDispatcher()->vkDestroyCuModuleNVX( m_device, static_cast<VkCuModuleNVX>( m_cuModuleNVX ), m_allocator ); 4384 } 4385 m_cuModuleNVX = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_cuModuleNVX, {} ); 4386 m_device = rhs.m_device; 4387 m_allocator = rhs.m_allocator; 4388 m_dispatcher = rhs.m_dispatcher; 4389 } 4390 return *this; 4391 } 4392 operator *() const4393 VULKAN_HPP_NAMESPACE::CuModuleNVX const & operator*() const VULKAN_HPP_NOEXCEPT 4394 { 4395 return m_cuModuleNVX; 4396 } 4397 getDispatcher() const4398 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 4399 { 4400 return m_dispatcher; 4401 } 4402 4403 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const4404 explicit operator bool() const VULKAN_HPP_NOEXCEPT 4405 { 4406 return m_cuModuleNVX.operator bool(); 4407 } 4408 operator !() const4409 bool operator!() const VULKAN_HPP_NOEXCEPT 4410 { 4411 return m_cuModuleNVX.operator!(); 4412 } 4413 # endif 4414 4415 private: 4416 VULKAN_HPP_NAMESPACE::CuModuleNVX m_cuModuleNVX; 4417 VkDevice m_device; 4418 const VkAllocationCallbacks * m_allocator; 4419 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 4420 }; 4421 4422 class DebugReportCallbackEXT 4423 { 4424 public: 4425 using CType = VkDebugReportCallbackEXT; 4426 4427 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 4428 VULKAN_HPP_NAMESPACE::ObjectType::eDebugReportCallbackEXT; 4429 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 4430 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDebugReportCallbackEXT; 4431 4432 public: DebugReportCallbackEXT(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)4433 DebugReportCallbackEXT( 4434 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, 4435 VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT const & createInfo, 4436 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 4437 : m_instance( *instance ) 4438 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 4439 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 4440 , m_dispatcher( instance.getDispatcher() ) 4441 { 4442 VULKAN_HPP_NAMESPACE::Result result = 4443 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateDebugReportCallbackEXT( 4444 static_cast<VkInstance>( *instance ), 4445 reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT *>( &createInfo ), 4446 m_allocator, 4447 reinterpret_cast<VkDebugReportCallbackEXT *>( &m_debugReportCallbackEXT ) ) ); 4448 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 4449 { 4450 throwResultException( result, "vkCreateDebugReportCallbackEXT" ); 4451 } 4452 } 4453 DebugReportCallbackEXT(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance,VkDebugReportCallbackEXT debugReportCallbackEXT,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)4454 DebugReportCallbackEXT( 4455 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, 4456 VkDebugReportCallbackEXT debugReportCallbackEXT, 4457 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 4458 : m_debugReportCallbackEXT( debugReportCallbackEXT ) 4459 , m_instance( *instance ) 4460 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 4461 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 4462 , m_dispatcher( instance.getDispatcher() ) 4463 {} 4464 ~DebugReportCallbackEXT()4465 ~DebugReportCallbackEXT() 4466 { 4467 if ( m_debugReportCallbackEXT ) 4468 { 4469 getDispatcher()->vkDestroyDebugReportCallbackEXT( 4470 m_instance, static_cast<VkDebugReportCallbackEXT>( m_debugReportCallbackEXT ), m_allocator ); 4471 } 4472 } 4473 4474 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 4475 DebugReportCallbackEXT() = default; 4476 # else 4477 DebugReportCallbackEXT() = delete; 4478 # endif 4479 DebugReportCallbackEXT( DebugReportCallbackEXT const & ) = delete; DebugReportCallbackEXT(DebugReportCallbackEXT && rhs)4480 DebugReportCallbackEXT( DebugReportCallbackEXT && rhs ) VULKAN_HPP_NOEXCEPT 4481 : m_debugReportCallbackEXT( 4482 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_debugReportCallbackEXT, {} ) ) 4483 , m_instance( rhs.m_instance ) 4484 , m_allocator( rhs.m_allocator ) 4485 , m_dispatcher( rhs.m_dispatcher ) 4486 {} 4487 DebugReportCallbackEXT & operator=( DebugReportCallbackEXT const & ) = delete; operator =(DebugReportCallbackEXT && rhs)4488 DebugReportCallbackEXT & operator=( DebugReportCallbackEXT && rhs ) VULKAN_HPP_NOEXCEPT 4489 { 4490 if ( this != &rhs ) 4491 { 4492 if ( m_debugReportCallbackEXT ) 4493 { 4494 getDispatcher()->vkDestroyDebugReportCallbackEXT( 4495 m_instance, static_cast<VkDebugReportCallbackEXT>( m_debugReportCallbackEXT ), m_allocator ); 4496 } 4497 m_debugReportCallbackEXT = 4498 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_debugReportCallbackEXT, {} ); 4499 m_instance = rhs.m_instance; 4500 m_allocator = rhs.m_allocator; 4501 m_dispatcher = rhs.m_dispatcher; 4502 } 4503 return *this; 4504 } 4505 operator *() const4506 VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT const & operator*() const VULKAN_HPP_NOEXCEPT 4507 { 4508 return m_debugReportCallbackEXT; 4509 } 4510 getDispatcher() const4511 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * getDispatcher() const 4512 { 4513 return m_dispatcher; 4514 } 4515 4516 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const4517 explicit operator bool() const VULKAN_HPP_NOEXCEPT 4518 { 4519 return m_debugReportCallbackEXT.operator bool(); 4520 } 4521 operator !() const4522 bool operator!() const VULKAN_HPP_NOEXCEPT 4523 { 4524 return m_debugReportCallbackEXT.operator!(); 4525 } 4526 # endif 4527 4528 private: 4529 VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT m_debugReportCallbackEXT; 4530 VkInstance m_instance; 4531 const VkAllocationCallbacks * m_allocator; 4532 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * m_dispatcher; 4533 }; 4534 4535 class DebugUtilsMessengerEXT 4536 { 4537 public: 4538 using CType = VkDebugUtilsMessengerEXT; 4539 4540 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 4541 VULKAN_HPP_NAMESPACE::ObjectType::eDebugUtilsMessengerEXT; 4542 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 4543 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown; 4544 4545 public: DebugUtilsMessengerEXT(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)4546 DebugUtilsMessengerEXT( 4547 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, 4548 VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT const & createInfo, 4549 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 4550 : m_instance( *instance ) 4551 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 4552 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 4553 , m_dispatcher( instance.getDispatcher() ) 4554 { 4555 VULKAN_HPP_NAMESPACE::Result result = 4556 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateDebugUtilsMessengerEXT( 4557 static_cast<VkInstance>( *instance ), 4558 reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT *>( &createInfo ), 4559 m_allocator, 4560 reinterpret_cast<VkDebugUtilsMessengerEXT *>( &m_debugUtilsMessengerEXT ) ) ); 4561 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 4562 { 4563 throwResultException( result, "vkCreateDebugUtilsMessengerEXT" ); 4564 } 4565 } 4566 DebugUtilsMessengerEXT(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance,VkDebugUtilsMessengerEXT debugUtilsMessengerEXT,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)4567 DebugUtilsMessengerEXT( 4568 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, 4569 VkDebugUtilsMessengerEXT debugUtilsMessengerEXT, 4570 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 4571 : m_debugUtilsMessengerEXT( debugUtilsMessengerEXT ) 4572 , m_instance( *instance ) 4573 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 4574 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 4575 , m_dispatcher( instance.getDispatcher() ) 4576 {} 4577 ~DebugUtilsMessengerEXT()4578 ~DebugUtilsMessengerEXT() 4579 { 4580 if ( m_debugUtilsMessengerEXT ) 4581 { 4582 getDispatcher()->vkDestroyDebugUtilsMessengerEXT( 4583 m_instance, static_cast<VkDebugUtilsMessengerEXT>( m_debugUtilsMessengerEXT ), m_allocator ); 4584 } 4585 } 4586 4587 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 4588 DebugUtilsMessengerEXT() = default; 4589 # else 4590 DebugUtilsMessengerEXT() = delete; 4591 # endif 4592 DebugUtilsMessengerEXT( DebugUtilsMessengerEXT const & ) = delete; DebugUtilsMessengerEXT(DebugUtilsMessengerEXT && rhs)4593 DebugUtilsMessengerEXT( DebugUtilsMessengerEXT && rhs ) VULKAN_HPP_NOEXCEPT 4594 : m_debugUtilsMessengerEXT( 4595 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_debugUtilsMessengerEXT, {} ) ) 4596 , m_instance( rhs.m_instance ) 4597 , m_allocator( rhs.m_allocator ) 4598 , m_dispatcher( rhs.m_dispatcher ) 4599 {} 4600 DebugUtilsMessengerEXT & operator=( DebugUtilsMessengerEXT const & ) = delete; operator =(DebugUtilsMessengerEXT && rhs)4601 DebugUtilsMessengerEXT & operator=( DebugUtilsMessengerEXT && rhs ) VULKAN_HPP_NOEXCEPT 4602 { 4603 if ( this != &rhs ) 4604 { 4605 if ( m_debugUtilsMessengerEXT ) 4606 { 4607 getDispatcher()->vkDestroyDebugUtilsMessengerEXT( 4608 m_instance, static_cast<VkDebugUtilsMessengerEXT>( m_debugUtilsMessengerEXT ), m_allocator ); 4609 } 4610 m_debugUtilsMessengerEXT = 4611 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_debugUtilsMessengerEXT, {} ); 4612 m_instance = rhs.m_instance; 4613 m_allocator = rhs.m_allocator; 4614 m_dispatcher = rhs.m_dispatcher; 4615 } 4616 return *this; 4617 } 4618 operator *() const4619 VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT const & operator*() const VULKAN_HPP_NOEXCEPT 4620 { 4621 return m_debugUtilsMessengerEXT; 4622 } 4623 getDispatcher() const4624 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * getDispatcher() const 4625 { 4626 return m_dispatcher; 4627 } 4628 4629 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const4630 explicit operator bool() const VULKAN_HPP_NOEXCEPT 4631 { 4632 return m_debugUtilsMessengerEXT.operator bool(); 4633 } 4634 operator !() const4635 bool operator!() const VULKAN_HPP_NOEXCEPT 4636 { 4637 return m_debugUtilsMessengerEXT.operator!(); 4638 } 4639 # endif 4640 4641 private: 4642 VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT m_debugUtilsMessengerEXT; 4643 VkInstance m_instance; 4644 const VkAllocationCallbacks * m_allocator; 4645 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * m_dispatcher; 4646 }; 4647 4648 class DeferredOperationKHR 4649 { 4650 public: 4651 using CType = VkDeferredOperationKHR; 4652 4653 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 4654 VULKAN_HPP_NAMESPACE::ObjectType::eDeferredOperationKHR; 4655 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 4656 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown; 4657 4658 public: DeferredOperationKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)4659 DeferredOperationKHR( 4660 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 4661 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 4662 : m_device( *device ) 4663 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 4664 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 4665 , m_dispatcher( device.getDispatcher() ) 4666 { 4667 VULKAN_HPP_NAMESPACE::Result result = 4668 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateDeferredOperationKHR( 4669 static_cast<VkDevice>( *device ), 4670 m_allocator, 4671 reinterpret_cast<VkDeferredOperationKHR *>( &m_deferredOperationKHR ) ) ); 4672 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 4673 { 4674 throwResultException( result, "vkCreateDeferredOperationKHR" ); 4675 } 4676 } 4677 DeferredOperationKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkDeferredOperationKHR deferredOperationKHR,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)4678 DeferredOperationKHR( 4679 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 4680 VkDeferredOperationKHR deferredOperationKHR, 4681 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 4682 : m_deferredOperationKHR( deferredOperationKHR ) 4683 , m_device( *device ) 4684 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 4685 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 4686 , m_dispatcher( device.getDispatcher() ) 4687 {} 4688 ~DeferredOperationKHR()4689 ~DeferredOperationKHR() 4690 { 4691 if ( m_deferredOperationKHR ) 4692 { 4693 getDispatcher()->vkDestroyDeferredOperationKHR( 4694 m_device, static_cast<VkDeferredOperationKHR>( m_deferredOperationKHR ), m_allocator ); 4695 } 4696 } 4697 4698 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 4699 DeferredOperationKHR() = default; 4700 # else 4701 DeferredOperationKHR() = delete; 4702 # endif 4703 DeferredOperationKHR( DeferredOperationKHR const & ) = delete; DeferredOperationKHR(DeferredOperationKHR && rhs)4704 DeferredOperationKHR( DeferredOperationKHR && rhs ) VULKAN_HPP_NOEXCEPT 4705 : m_deferredOperationKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_deferredOperationKHR, 4706 {} ) ) 4707 , m_device( rhs.m_device ) 4708 , m_allocator( rhs.m_allocator ) 4709 , m_dispatcher( rhs.m_dispatcher ) 4710 {} 4711 DeferredOperationKHR & operator=( DeferredOperationKHR const & ) = delete; operator =(DeferredOperationKHR && rhs)4712 DeferredOperationKHR & operator=( DeferredOperationKHR && rhs ) VULKAN_HPP_NOEXCEPT 4713 { 4714 if ( this != &rhs ) 4715 { 4716 if ( m_deferredOperationKHR ) 4717 { 4718 getDispatcher()->vkDestroyDeferredOperationKHR( 4719 m_device, static_cast<VkDeferredOperationKHR>( m_deferredOperationKHR ), m_allocator ); 4720 } 4721 m_deferredOperationKHR = 4722 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_deferredOperationKHR, {} ); 4723 m_device = rhs.m_device; 4724 m_allocator = rhs.m_allocator; 4725 m_dispatcher = rhs.m_dispatcher; 4726 } 4727 return *this; 4728 } 4729 operator *() const4730 VULKAN_HPP_NAMESPACE::DeferredOperationKHR const & operator*() const VULKAN_HPP_NOEXCEPT 4731 { 4732 return m_deferredOperationKHR; 4733 } 4734 getDispatcher() const4735 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 4736 { 4737 return m_dispatcher; 4738 } 4739 4740 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const4741 explicit operator bool() const VULKAN_HPP_NOEXCEPT 4742 { 4743 return m_deferredOperationKHR.operator bool(); 4744 } 4745 operator !() const4746 bool operator!() const VULKAN_HPP_NOEXCEPT 4747 { 4748 return m_deferredOperationKHR.operator!(); 4749 } 4750 # endif 4751 4752 //=== VK_KHR_deferred_host_operations === 4753 4754 VULKAN_HPP_NODISCARD uint32_t getMaxConcurrency() const VULKAN_HPP_NOEXCEPT; 4755 4756 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result getResult() const VULKAN_HPP_NOEXCEPT; 4757 4758 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result join() const; 4759 4760 private: 4761 VULKAN_HPP_NAMESPACE::DeferredOperationKHR m_deferredOperationKHR; 4762 VkDevice m_device; 4763 const VkAllocationCallbacks * m_allocator; 4764 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 4765 }; 4766 4767 class DescriptorPool 4768 { 4769 public: 4770 using CType = VkDescriptorPool; 4771 4772 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 4773 VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorPool; 4774 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 4775 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDescriptorPool; 4776 4777 public: DescriptorPool(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)4778 DescriptorPool( 4779 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 4780 VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo const & createInfo, 4781 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 4782 : m_device( *device ) 4783 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 4784 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 4785 , m_dispatcher( device.getDispatcher() ) 4786 { 4787 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 4788 getDispatcher()->vkCreateDescriptorPool( static_cast<VkDevice>( *device ), 4789 reinterpret_cast<const VkDescriptorPoolCreateInfo *>( &createInfo ), 4790 m_allocator, 4791 reinterpret_cast<VkDescriptorPool *>( &m_descriptorPool ) ) ); 4792 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 4793 { 4794 throwResultException( result, "vkCreateDescriptorPool" ); 4795 } 4796 } 4797 DescriptorPool(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkDescriptorPool descriptorPool,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)4798 DescriptorPool( 4799 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 4800 VkDescriptorPool descriptorPool, 4801 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 4802 : m_descriptorPool( descriptorPool ) 4803 , m_device( *device ) 4804 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 4805 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 4806 , m_dispatcher( device.getDispatcher() ) 4807 {} 4808 ~DescriptorPool()4809 ~DescriptorPool() 4810 { 4811 if ( m_descriptorPool ) 4812 { 4813 getDispatcher()->vkDestroyDescriptorPool( 4814 m_device, static_cast<VkDescriptorPool>( m_descriptorPool ), m_allocator ); 4815 } 4816 } 4817 4818 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 4819 DescriptorPool() = default; 4820 # else 4821 DescriptorPool() = delete; 4822 # endif 4823 DescriptorPool( DescriptorPool const & ) = delete; DescriptorPool(DescriptorPool && rhs)4824 DescriptorPool( DescriptorPool && rhs ) VULKAN_HPP_NOEXCEPT 4825 : m_descriptorPool( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorPool, {} ) ) 4826 , m_device( rhs.m_device ) 4827 , m_allocator( rhs.m_allocator ) 4828 , m_dispatcher( rhs.m_dispatcher ) 4829 {} 4830 DescriptorPool & operator=( DescriptorPool const & ) = delete; operator =(DescriptorPool && rhs)4831 DescriptorPool & operator =( DescriptorPool && rhs ) VULKAN_HPP_NOEXCEPT 4832 { 4833 if ( this != &rhs ) 4834 { 4835 if ( m_descriptorPool ) 4836 { 4837 getDispatcher()->vkDestroyDescriptorPool( 4838 m_device, static_cast<VkDescriptorPool>( m_descriptorPool ), m_allocator ); 4839 } 4840 m_descriptorPool = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorPool, {} ); 4841 m_device = rhs.m_device; 4842 m_allocator = rhs.m_allocator; 4843 m_dispatcher = rhs.m_dispatcher; 4844 } 4845 return *this; 4846 } 4847 operator *() const4848 VULKAN_HPP_NAMESPACE::DescriptorPool const & operator*() const VULKAN_HPP_NOEXCEPT 4849 { 4850 return m_descriptorPool; 4851 } 4852 getDispatcher() const4853 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 4854 { 4855 return m_dispatcher; 4856 } 4857 4858 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const4859 explicit operator bool() const VULKAN_HPP_NOEXCEPT 4860 { 4861 return m_descriptorPool.operator bool(); 4862 } 4863 operator !() const4864 bool operator!() const VULKAN_HPP_NOEXCEPT 4865 { 4866 return m_descriptorPool.operator!(); 4867 } 4868 # endif 4869 4870 //=== VK_VERSION_1_0 === 4871 4872 void reset( VULKAN_HPP_NAMESPACE::DescriptorPoolResetFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT ) const 4873 VULKAN_HPP_NOEXCEPT; 4874 4875 private: 4876 VULKAN_HPP_NAMESPACE::DescriptorPool m_descriptorPool; 4877 VkDevice m_device; 4878 const VkAllocationCallbacks * m_allocator; 4879 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 4880 }; 4881 4882 class DescriptorSet 4883 { 4884 public: 4885 using CType = VkDescriptorSet; 4886 4887 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 4888 VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorSet; 4889 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 4890 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDescriptorSet; 4891 4892 public: DescriptorSet(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkDescriptorSet descriptorSet,VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DescriptorPool const & descriptorPool)4893 DescriptorSet( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 4894 VkDescriptorSet descriptorSet, 4895 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DescriptorPool const & descriptorPool ) 4896 : m_descriptorSet( descriptorSet ) 4897 , m_device( *device ) 4898 , m_descriptorPool( *descriptorPool ) 4899 , m_dispatcher( device.getDispatcher() ) 4900 {} 4901 DescriptorSet(VkDescriptorSet descriptorSet,VkDevice device,VkDescriptorPool descriptorPool,VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * dispatcher)4902 DescriptorSet( VkDescriptorSet descriptorSet, 4903 VkDevice device, 4904 VkDescriptorPool descriptorPool, 4905 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * dispatcher ) 4906 : m_descriptorSet( descriptorSet ) 4907 , m_device( device ) 4908 , m_descriptorPool( descriptorPool ) 4909 , m_dispatcher( dispatcher ) 4910 {} 4911 ~DescriptorSet()4912 ~DescriptorSet() 4913 { 4914 if ( m_descriptorSet ) 4915 { 4916 getDispatcher()->vkFreeDescriptorSets( 4917 m_device, m_descriptorPool, 1, reinterpret_cast<VkDescriptorSet const *>( &m_descriptorSet ) ); 4918 } 4919 } 4920 4921 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 4922 DescriptorSet() = default; 4923 # else 4924 DescriptorSet() = delete; 4925 # endif 4926 DescriptorSet( DescriptorSet const & ) = delete; DescriptorSet(DescriptorSet && rhs)4927 DescriptorSet( DescriptorSet && rhs ) VULKAN_HPP_NOEXCEPT 4928 : m_descriptorSet( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorSet, {} ) ) 4929 , m_device( rhs.m_device ) 4930 , m_descriptorPool( rhs.m_descriptorPool ) 4931 , m_dispatcher( rhs.m_dispatcher ) 4932 {} 4933 DescriptorSet & operator=( DescriptorSet const & ) = delete; operator =(DescriptorSet && rhs)4934 DescriptorSet & operator =( DescriptorSet && rhs ) VULKAN_HPP_NOEXCEPT 4935 { 4936 if ( this != &rhs ) 4937 { 4938 if ( m_descriptorSet ) 4939 { 4940 getDispatcher()->vkFreeDescriptorSets( 4941 m_device, m_descriptorPool, 1, reinterpret_cast<VkDescriptorSet const *>( &m_descriptorSet ) ); 4942 } 4943 m_descriptorSet = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorSet, {} ); 4944 m_device = rhs.m_device; 4945 m_descriptorPool = rhs.m_descriptorPool; 4946 m_dispatcher = rhs.m_dispatcher; 4947 } 4948 return *this; 4949 } 4950 operator *() const4951 VULKAN_HPP_NAMESPACE::DescriptorSet const & operator*() const VULKAN_HPP_NOEXCEPT 4952 { 4953 return m_descriptorSet; 4954 } 4955 getDispatcher() const4956 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 4957 { 4958 return m_dispatcher; 4959 } 4960 4961 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const4962 explicit operator bool() const VULKAN_HPP_NOEXCEPT 4963 { 4964 return m_descriptorSet.operator bool(); 4965 } 4966 operator !() const4967 bool operator!() const VULKAN_HPP_NOEXCEPT 4968 { 4969 return m_descriptorSet.operator!(); 4970 } 4971 # endif 4972 4973 //=== VK_VERSION_1_1 === 4974 4975 void updateWithTemplate( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, 4976 const void * pData ) const VULKAN_HPP_NOEXCEPT; 4977 4978 //=== VK_KHR_descriptor_update_template === 4979 4980 void updateWithTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, 4981 const void * pData ) const VULKAN_HPP_NOEXCEPT; 4982 4983 private: 4984 VULKAN_HPP_NAMESPACE::DescriptorSet m_descriptorSet; 4985 VkDevice m_device; 4986 VkDescriptorPool m_descriptorPool; 4987 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 4988 }; 4989 4990 class DescriptorSets : public std::vector<VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DescriptorSet> 4991 { 4992 public: DescriptorSets(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo const & allocateInfo)4993 DescriptorSets( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 4994 VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo const & allocateInfo ) 4995 { 4996 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * dispatcher = device.getDispatcher(); 4997 std::vector<VkDescriptorSet> descriptorSets( allocateInfo.descriptorSetCount ); 4998 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 4999 dispatcher->vkAllocateDescriptorSets( static_cast<VkDevice>( *device ), 5000 reinterpret_cast<const VkDescriptorSetAllocateInfo *>( &allocateInfo ), 5001 descriptorSets.data() ) ); 5002 if ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) 5003 { 5004 this->reserve( allocateInfo.descriptorSetCount ); 5005 for ( auto const & descriptorSet : descriptorSets ) 5006 { 5007 this->emplace_back( descriptorSet, 5008 static_cast<VkDevice>( *device ), 5009 static_cast<VkDescriptorPool>( allocateInfo.descriptorPool ), 5010 dispatcher ); 5011 } 5012 } 5013 else 5014 { 5015 throwResultException( result, "vkAllocateDescriptorSets" ); 5016 } 5017 } 5018 5019 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 5020 DescriptorSets() = default; 5021 # else 5022 DescriptorSets() = delete; 5023 # endif 5024 DescriptorSets( DescriptorSets const & ) = delete; 5025 DescriptorSets( DescriptorSets && rhs ) = default; 5026 DescriptorSets & operator=( DescriptorSets const & ) = delete; 5027 DescriptorSets & operator=( DescriptorSets && rhs ) = default; 5028 }; 5029 5030 class DescriptorSetLayout 5031 { 5032 public: 5033 using CType = VkDescriptorSetLayout; 5034 5035 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 5036 VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorSetLayout; 5037 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 5038 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDescriptorSetLayout; 5039 5040 public: DescriptorSetLayout(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)5041 DescriptorSetLayout( 5042 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 5043 VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo const & createInfo, 5044 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 5045 : m_device( *device ) 5046 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 5047 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 5048 , m_dispatcher( device.getDispatcher() ) 5049 { 5050 VULKAN_HPP_NAMESPACE::Result result = 5051 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateDescriptorSetLayout( 5052 static_cast<VkDevice>( *device ), 5053 reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( &createInfo ), 5054 m_allocator, 5055 reinterpret_cast<VkDescriptorSetLayout *>( &m_descriptorSetLayout ) ) ); 5056 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 5057 { 5058 throwResultException( result, "vkCreateDescriptorSetLayout" ); 5059 } 5060 } 5061 DescriptorSetLayout(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkDescriptorSetLayout descriptorSetLayout,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)5062 DescriptorSetLayout( 5063 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 5064 VkDescriptorSetLayout descriptorSetLayout, 5065 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 5066 : m_descriptorSetLayout( descriptorSetLayout ) 5067 , m_device( *device ) 5068 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 5069 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 5070 , m_dispatcher( device.getDispatcher() ) 5071 {} 5072 ~DescriptorSetLayout()5073 ~DescriptorSetLayout() 5074 { 5075 if ( m_descriptorSetLayout ) 5076 { 5077 getDispatcher()->vkDestroyDescriptorSetLayout( 5078 m_device, static_cast<VkDescriptorSetLayout>( m_descriptorSetLayout ), m_allocator ); 5079 } 5080 } 5081 5082 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 5083 DescriptorSetLayout() = default; 5084 # else 5085 DescriptorSetLayout() = delete; 5086 # endif 5087 DescriptorSetLayout( DescriptorSetLayout const & ) = delete; DescriptorSetLayout(DescriptorSetLayout && rhs)5088 DescriptorSetLayout( DescriptorSetLayout && rhs ) VULKAN_HPP_NOEXCEPT 5089 : m_descriptorSetLayout( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorSetLayout, 5090 {} ) ) 5091 , m_device( rhs.m_device ) 5092 , m_allocator( rhs.m_allocator ) 5093 , m_dispatcher( rhs.m_dispatcher ) 5094 {} 5095 DescriptorSetLayout & operator=( DescriptorSetLayout const & ) = delete; operator =(DescriptorSetLayout && rhs)5096 DescriptorSetLayout & operator =( DescriptorSetLayout && rhs ) VULKAN_HPP_NOEXCEPT 5097 { 5098 if ( this != &rhs ) 5099 { 5100 if ( m_descriptorSetLayout ) 5101 { 5102 getDispatcher()->vkDestroyDescriptorSetLayout( 5103 m_device, static_cast<VkDescriptorSetLayout>( m_descriptorSetLayout ), m_allocator ); 5104 } 5105 m_descriptorSetLayout = 5106 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorSetLayout, {} ); 5107 m_device = rhs.m_device; 5108 m_allocator = rhs.m_allocator; 5109 m_dispatcher = rhs.m_dispatcher; 5110 } 5111 return *this; 5112 } 5113 operator *() const5114 VULKAN_HPP_NAMESPACE::DescriptorSetLayout const & operator*() const VULKAN_HPP_NOEXCEPT 5115 { 5116 return m_descriptorSetLayout; 5117 } 5118 getDispatcher() const5119 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 5120 { 5121 return m_dispatcher; 5122 } 5123 5124 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const5125 explicit operator bool() const VULKAN_HPP_NOEXCEPT 5126 { 5127 return m_descriptorSetLayout.operator bool(); 5128 } 5129 operator !() const5130 bool operator!() const VULKAN_HPP_NOEXCEPT 5131 { 5132 return m_descriptorSetLayout.operator!(); 5133 } 5134 # endif 5135 5136 private: 5137 VULKAN_HPP_NAMESPACE::DescriptorSetLayout m_descriptorSetLayout; 5138 VkDevice m_device; 5139 const VkAllocationCallbacks * m_allocator; 5140 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 5141 }; 5142 5143 class DescriptorUpdateTemplate 5144 { 5145 public: 5146 using CType = VkDescriptorUpdateTemplate; 5147 5148 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 5149 VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorUpdateTemplate; 5150 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 5151 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDescriptorUpdateTemplate; 5152 5153 public: DescriptorUpdateTemplate(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)5154 DescriptorUpdateTemplate( 5155 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 5156 VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo const & createInfo, 5157 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 5158 : m_device( *device ) 5159 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 5160 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 5161 , m_dispatcher( device.getDispatcher() ) 5162 { 5163 VULKAN_HPP_NAMESPACE::Result result = 5164 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateDescriptorUpdateTemplate( 5165 static_cast<VkDevice>( *device ), 5166 reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo *>( &createInfo ), 5167 m_allocator, 5168 reinterpret_cast<VkDescriptorUpdateTemplate *>( &m_descriptorUpdateTemplate ) ) ); 5169 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 5170 { 5171 throwResultException( result, "vkCreateDescriptorUpdateTemplate" ); 5172 } 5173 } 5174 DescriptorUpdateTemplate(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkDescriptorUpdateTemplate descriptorUpdateTemplate,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)5175 DescriptorUpdateTemplate( 5176 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 5177 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 5178 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 5179 : m_descriptorUpdateTemplate( descriptorUpdateTemplate ) 5180 , m_device( *device ) 5181 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 5182 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 5183 , m_dispatcher( device.getDispatcher() ) 5184 {} 5185 ~DescriptorUpdateTemplate()5186 ~DescriptorUpdateTemplate() 5187 { 5188 if ( m_descriptorUpdateTemplate ) 5189 { 5190 getDispatcher()->vkDestroyDescriptorUpdateTemplate( 5191 m_device, static_cast<VkDescriptorUpdateTemplate>( m_descriptorUpdateTemplate ), m_allocator ); 5192 } 5193 } 5194 5195 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 5196 DescriptorUpdateTemplate() = default; 5197 # else 5198 DescriptorUpdateTemplate() = delete; 5199 # endif 5200 DescriptorUpdateTemplate( DescriptorUpdateTemplate const & ) = delete; DescriptorUpdateTemplate(DescriptorUpdateTemplate && rhs)5201 DescriptorUpdateTemplate( DescriptorUpdateTemplate && rhs ) VULKAN_HPP_NOEXCEPT 5202 : m_descriptorUpdateTemplate( 5203 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorUpdateTemplate, {} ) ) 5204 , m_device( rhs.m_device ) 5205 , m_allocator( rhs.m_allocator ) 5206 , m_dispatcher( rhs.m_dispatcher ) 5207 {} 5208 DescriptorUpdateTemplate & operator=( DescriptorUpdateTemplate const & ) = delete; operator =(DescriptorUpdateTemplate && rhs)5209 DescriptorUpdateTemplate & operator=( DescriptorUpdateTemplate && rhs ) VULKAN_HPP_NOEXCEPT 5210 { 5211 if ( this != &rhs ) 5212 { 5213 if ( m_descriptorUpdateTemplate ) 5214 { 5215 getDispatcher()->vkDestroyDescriptorUpdateTemplate( 5216 m_device, static_cast<VkDescriptorUpdateTemplate>( m_descriptorUpdateTemplate ), m_allocator ); 5217 } 5218 m_descriptorUpdateTemplate = 5219 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorUpdateTemplate, {} ); 5220 m_device = rhs.m_device; 5221 m_allocator = rhs.m_allocator; 5222 m_dispatcher = rhs.m_dispatcher; 5223 } 5224 return *this; 5225 } 5226 operator *() const5227 VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate const & operator*() const VULKAN_HPP_NOEXCEPT 5228 { 5229 return m_descriptorUpdateTemplate; 5230 } 5231 getDispatcher() const5232 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 5233 { 5234 return m_dispatcher; 5235 } 5236 5237 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const5238 explicit operator bool() const VULKAN_HPP_NOEXCEPT 5239 { 5240 return m_descriptorUpdateTemplate.operator bool(); 5241 } 5242 operator !() const5243 bool operator!() const VULKAN_HPP_NOEXCEPT 5244 { 5245 return m_descriptorUpdateTemplate.operator!(); 5246 } 5247 # endif 5248 5249 private: 5250 VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate m_descriptorUpdateTemplate; 5251 VkDevice m_device; 5252 const VkAllocationCallbacks * m_allocator; 5253 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 5254 }; 5255 5256 class DeviceMemory 5257 { 5258 public: 5259 using CType = VkDeviceMemory; 5260 5261 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 5262 VULKAN_HPP_NAMESPACE::ObjectType::eDeviceMemory; 5263 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 5264 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDeviceMemory; 5265 5266 public: DeviceMemory(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::MemoryAllocateInfo const & allocateInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)5267 DeviceMemory( 5268 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 5269 VULKAN_HPP_NAMESPACE::MemoryAllocateInfo const & allocateInfo, 5270 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 5271 : m_device( *device ) 5272 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 5273 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 5274 , m_dispatcher( device.getDispatcher() ) 5275 { 5276 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 5277 getDispatcher()->vkAllocateMemory( static_cast<VkDevice>( *device ), 5278 reinterpret_cast<const VkMemoryAllocateInfo *>( &allocateInfo ), 5279 m_allocator, 5280 reinterpret_cast<VkDeviceMemory *>( &m_deviceMemory ) ) ); 5281 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 5282 { 5283 throwResultException( result, "vkAllocateMemory" ); 5284 } 5285 } 5286 DeviceMemory(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkDeviceMemory deviceMemory,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)5287 DeviceMemory( 5288 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 5289 VkDeviceMemory deviceMemory, 5290 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 5291 : m_deviceMemory( deviceMemory ) 5292 , m_device( *device ) 5293 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 5294 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 5295 , m_dispatcher( device.getDispatcher() ) 5296 {} 5297 ~DeviceMemory()5298 ~DeviceMemory() 5299 { 5300 if ( m_deviceMemory ) 5301 { 5302 getDispatcher()->vkFreeMemory( m_device, static_cast<VkDeviceMemory>( m_deviceMemory ), m_allocator ); 5303 } 5304 } 5305 5306 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 5307 DeviceMemory() = default; 5308 # else 5309 DeviceMemory() = delete; 5310 # endif 5311 DeviceMemory( DeviceMemory const & ) = delete; DeviceMemory(DeviceMemory && rhs)5312 DeviceMemory( DeviceMemory && rhs ) VULKAN_HPP_NOEXCEPT 5313 : m_deviceMemory( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_deviceMemory, {} ) ) 5314 , m_device( rhs.m_device ) 5315 , m_allocator( rhs.m_allocator ) 5316 , m_dispatcher( rhs.m_dispatcher ) 5317 {} 5318 DeviceMemory & operator=( DeviceMemory const & ) = delete; operator =(DeviceMemory && rhs)5319 DeviceMemory & operator =( DeviceMemory && rhs ) VULKAN_HPP_NOEXCEPT 5320 { 5321 if ( this != &rhs ) 5322 { 5323 if ( m_deviceMemory ) 5324 { 5325 getDispatcher()->vkFreeMemory( m_device, static_cast<VkDeviceMemory>( m_deviceMemory ), m_allocator ); 5326 } 5327 m_deviceMemory = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_deviceMemory, {} ); 5328 m_device = rhs.m_device; 5329 m_allocator = rhs.m_allocator; 5330 m_dispatcher = rhs.m_dispatcher; 5331 } 5332 return *this; 5333 } 5334 operator *() const5335 VULKAN_HPP_NAMESPACE::DeviceMemory const & operator*() const VULKAN_HPP_NOEXCEPT 5336 { 5337 return m_deviceMemory; 5338 } 5339 getDispatcher() const5340 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 5341 { 5342 return m_dispatcher; 5343 } 5344 5345 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const5346 explicit operator bool() const VULKAN_HPP_NOEXCEPT 5347 { 5348 return m_deviceMemory.operator bool(); 5349 } 5350 operator !() const5351 bool operator!() const VULKAN_HPP_NOEXCEPT 5352 { 5353 return m_deviceMemory.operator!(); 5354 } 5355 # endif 5356 5357 //=== VK_VERSION_1_0 === 5358 5359 VULKAN_HPP_NODISCARD void * 5360 mapMemory( VULKAN_HPP_NAMESPACE::DeviceSize offset, 5361 VULKAN_HPP_NAMESPACE::DeviceSize size, 5362 VULKAN_HPP_NAMESPACE::MemoryMapFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT ) const; 5363 5364 void unmapMemory() const VULKAN_HPP_NOEXCEPT; 5365 5366 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceSize getCommitment() const VULKAN_HPP_NOEXCEPT; 5367 5368 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 5369 //=== VK_NV_external_memory_win32 === 5370 5371 VULKAN_HPP_NODISCARD HANDLE 5372 getMemoryWin32HandleNV( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleType ) const; 5373 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 5374 5375 private: 5376 VULKAN_HPP_NAMESPACE::DeviceMemory m_deviceMemory; 5377 VkDevice m_device; 5378 const VkAllocationCallbacks * m_allocator; 5379 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 5380 }; 5381 5382 class DisplayKHR 5383 { 5384 public: 5385 using CType = VkDisplayKHR; 5386 5387 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 5388 VULKAN_HPP_NAMESPACE::ObjectType::eDisplayKHR; 5389 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 5390 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDisplayKHR; 5391 5392 public: DisplayKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const & physicalDevice,int32_t drmFd,uint32_t connectorId)5393 DisplayKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const & physicalDevice, 5394 int32_t drmFd, 5395 uint32_t connectorId ) 5396 : m_physicalDevice( *physicalDevice ), m_dispatcher( physicalDevice.getDispatcher() ) 5397 { 5398 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 5399 getDispatcher()->vkGetDrmDisplayEXT( static_cast<VkPhysicalDevice>( *physicalDevice ), 5400 drmFd, 5401 connectorId, 5402 reinterpret_cast<VkDisplayKHR *>( &m_displayKHR ) ) ); 5403 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 5404 { 5405 throwResultException( result, "vkGetDrmDisplayEXT" ); 5406 } 5407 } 5408 5409 # if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT ) DisplayKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const & physicalDevice,Display & dpy,RROutput rrOutput)5410 DisplayKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const & physicalDevice, 5411 Display & dpy, 5412 RROutput rrOutput ) 5413 : m_physicalDevice( *physicalDevice ), m_dispatcher( physicalDevice.getDispatcher() ) 5414 { 5415 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 5416 getDispatcher()->vkGetRandROutputDisplayEXT( static_cast<VkPhysicalDevice>( *physicalDevice ), 5417 &dpy, 5418 rrOutput, 5419 reinterpret_cast<VkDisplayKHR *>( &m_displayKHR ) ) ); 5420 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 5421 { 5422 throwResultException( result, "vkGetRandROutputDisplayEXT" ); 5423 } 5424 } 5425 # endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/ 5426 5427 # if defined( VK_USE_PLATFORM_WIN32_KHR ) DisplayKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const & physicalDevice,uint32_t deviceRelativeId)5428 DisplayKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const & physicalDevice, 5429 uint32_t deviceRelativeId ) 5430 : m_physicalDevice( *physicalDevice ), m_dispatcher( physicalDevice.getDispatcher() ) 5431 { 5432 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 5433 getDispatcher()->vkGetWinrtDisplayNV( static_cast<VkPhysicalDevice>( *physicalDevice ), 5434 deviceRelativeId, 5435 reinterpret_cast<VkDisplayKHR *>( &m_displayKHR ) ) ); 5436 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 5437 { 5438 throwResultException( result, "vkGetWinrtDisplayNV" ); 5439 } 5440 } 5441 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 5442 DisplayKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const & physicalDevice,VkDisplayKHR displayKHR)5443 DisplayKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const & physicalDevice, 5444 VkDisplayKHR displayKHR ) 5445 : m_displayKHR( displayKHR ) 5446 , m_physicalDevice( *physicalDevice ) 5447 , m_dispatcher( physicalDevice.getDispatcher() ) 5448 {} 5449 DisplayKHR(VkDisplayKHR displayKHR,VkPhysicalDevice physicalDevice,VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * dispatcher)5450 DisplayKHR( VkDisplayKHR displayKHR, 5451 VkPhysicalDevice physicalDevice, 5452 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * dispatcher ) 5453 : m_displayKHR( displayKHR ), m_physicalDevice( physicalDevice ), m_dispatcher( dispatcher ) 5454 {} 5455 ~DisplayKHR()5456 ~DisplayKHR() 5457 { 5458 if ( m_displayKHR ) 5459 { 5460 getDispatcher()->vkReleaseDisplayEXT( m_physicalDevice, static_cast<VkDisplayKHR>( m_displayKHR ) ); 5461 } 5462 } 5463 5464 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 5465 DisplayKHR() = default; 5466 # else 5467 DisplayKHR() = delete; 5468 # endif 5469 DisplayKHR( DisplayKHR const & ) = delete; DisplayKHR(DisplayKHR && rhs)5470 DisplayKHR( DisplayKHR && rhs ) VULKAN_HPP_NOEXCEPT 5471 : m_displayKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_displayKHR, {} ) ) 5472 , m_physicalDevice( rhs.m_physicalDevice ) 5473 , m_dispatcher( rhs.m_dispatcher ) 5474 {} 5475 DisplayKHR & operator=( DisplayKHR const & ) = delete; operator =(DisplayKHR && rhs)5476 DisplayKHR & operator =( DisplayKHR && rhs ) VULKAN_HPP_NOEXCEPT 5477 { 5478 if ( this != &rhs ) 5479 { 5480 if ( m_displayKHR ) 5481 { 5482 getDispatcher()->vkReleaseDisplayEXT( m_physicalDevice, static_cast<VkDisplayKHR>( m_displayKHR ) ); 5483 } 5484 m_displayKHR = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_displayKHR, {} ); 5485 m_physicalDevice = rhs.m_physicalDevice; 5486 m_dispatcher = rhs.m_dispatcher; 5487 } 5488 return *this; 5489 } 5490 operator *() const5491 VULKAN_HPP_NAMESPACE::DisplayKHR const & operator*() const VULKAN_HPP_NOEXCEPT 5492 { 5493 return m_displayKHR; 5494 } 5495 getDispatcher() const5496 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * getDispatcher() const 5497 { 5498 return m_dispatcher; 5499 } 5500 5501 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const5502 explicit operator bool() const VULKAN_HPP_NOEXCEPT 5503 { 5504 return m_displayKHR.operator bool(); 5505 } 5506 operator !() const5507 bool operator!() const VULKAN_HPP_NOEXCEPT 5508 { 5509 return m_displayKHR.operator!(); 5510 } 5511 # endif 5512 5513 //=== VK_KHR_display === 5514 5515 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR> getModeProperties() const; 5516 5517 //=== VK_KHR_get_display_properties2 === 5518 5519 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR> getModeProperties2() const; 5520 5521 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 5522 //=== VK_NV_acquire_winrt_display === 5523 5524 void acquireWinrtNV() const; 5525 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 5526 5527 private: 5528 VULKAN_HPP_NAMESPACE::DisplayKHR m_displayKHR; 5529 VkPhysicalDevice m_physicalDevice; 5530 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * m_dispatcher; 5531 }; 5532 5533 class DisplayKHRs : public std::vector<VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DisplayKHR> 5534 { 5535 public: DisplayKHRs(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const & physicalDevice,uint32_t planeIndex)5536 DisplayKHRs( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const & physicalDevice, 5537 uint32_t planeIndex ) 5538 { 5539 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * dispatcher = 5540 physicalDevice.getDispatcher(); 5541 std::vector<VkDisplayKHR> displays; 5542 uint32_t displayCount; 5543 VULKAN_HPP_NAMESPACE::Result result; 5544 do 5545 { 5546 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( dispatcher->vkGetDisplayPlaneSupportedDisplaysKHR( 5547 static_cast<VkPhysicalDevice>( *physicalDevice ), planeIndex, &displayCount, nullptr ) ); 5548 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && displayCount ) 5549 { 5550 displays.resize( displayCount ); 5551 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( dispatcher->vkGetDisplayPlaneSupportedDisplaysKHR( 5552 static_cast<VkPhysicalDevice>( *physicalDevice ), planeIndex, &displayCount, displays.data() ) ); 5553 VULKAN_HPP_ASSERT( displayCount <= displays.size() ); 5554 } 5555 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 5556 if ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) 5557 { 5558 this->reserve( displayCount ); 5559 for ( auto const & displayKHR : displays ) 5560 { 5561 this->emplace_back( displayKHR, static_cast<VkPhysicalDevice>( *physicalDevice ), dispatcher ); 5562 } 5563 } 5564 else 5565 { 5566 throwResultException( result, "vkGetDisplayPlaneSupportedDisplaysKHR" ); 5567 } 5568 } 5569 5570 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 5571 DisplayKHRs() = default; 5572 # else 5573 DisplayKHRs() = delete; 5574 # endif 5575 DisplayKHRs( DisplayKHRs const & ) = delete; 5576 DisplayKHRs( DisplayKHRs && rhs ) = default; 5577 DisplayKHRs & operator=( DisplayKHRs const & ) = delete; 5578 DisplayKHRs & operator=( DisplayKHRs && rhs ) = default; 5579 }; 5580 5581 class DisplayModeKHR 5582 { 5583 public: 5584 using CType = VkDisplayModeKHR; 5585 5586 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 5587 VULKAN_HPP_NAMESPACE::ObjectType::eDisplayModeKHR; 5588 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 5589 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDisplayModeKHR; 5590 5591 public: DisplayModeKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const & physicalDevice,VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DisplayKHR const & display,VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)5592 DisplayModeKHR( 5593 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const & physicalDevice, 5594 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DisplayKHR const & display, 5595 VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR const & createInfo, 5596 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 5597 : m_physicalDevice( *physicalDevice ), m_dispatcher( physicalDevice.getDispatcher() ) 5598 { 5599 VULKAN_HPP_NAMESPACE::Result result = 5600 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateDisplayModeKHR( 5601 static_cast<VkPhysicalDevice>( *physicalDevice ), 5602 static_cast<VkDisplayKHR>( *display ), 5603 reinterpret_cast<const VkDisplayModeCreateInfoKHR *>( &createInfo ), 5604 reinterpret_cast<const VkAllocationCallbacks *>( 5605 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 5606 reinterpret_cast<VkDisplayModeKHR *>( &m_displayModeKHR ) ) ); 5607 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 5608 { 5609 throwResultException( result, "vkCreateDisplayModeKHR" ); 5610 } 5611 } 5612 DisplayModeKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const & physicalDevice,VkDisplayModeKHR displayModeKHR)5613 DisplayModeKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const & physicalDevice, 5614 VkDisplayModeKHR displayModeKHR ) 5615 : m_displayModeKHR( displayModeKHR ) 5616 , m_physicalDevice( *physicalDevice ) 5617 , m_dispatcher( physicalDevice.getDispatcher() ) 5618 {} 5619 5620 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 5621 DisplayModeKHR() = default; 5622 # else 5623 DisplayModeKHR() = delete; 5624 # endif 5625 DisplayModeKHR( DisplayModeKHR const & ) = delete; DisplayModeKHR(DisplayModeKHR && rhs)5626 DisplayModeKHR( DisplayModeKHR && rhs ) VULKAN_HPP_NOEXCEPT 5627 : m_displayModeKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_displayModeKHR, {} ) ) 5628 , m_dispatcher( rhs.m_dispatcher ) 5629 {} 5630 DisplayModeKHR & operator=( DisplayModeKHR const & ) = delete; operator =(DisplayModeKHR && rhs)5631 DisplayModeKHR & operator =( DisplayModeKHR && rhs ) VULKAN_HPP_NOEXCEPT 5632 { 5633 if ( this != &rhs ) 5634 { 5635 m_displayModeKHR = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_displayModeKHR, {} ); 5636 m_dispatcher = rhs.m_dispatcher; 5637 } 5638 return *this; 5639 } 5640 operator *() const5641 VULKAN_HPP_NAMESPACE::DisplayModeKHR const & operator*() const VULKAN_HPP_NOEXCEPT 5642 { 5643 return m_displayModeKHR; 5644 } 5645 getDispatcher() const5646 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * getDispatcher() const 5647 { 5648 return m_dispatcher; 5649 } 5650 5651 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const5652 explicit operator bool() const VULKAN_HPP_NOEXCEPT 5653 { 5654 return m_displayModeKHR.operator bool(); 5655 } 5656 operator !() const5657 bool operator!() const VULKAN_HPP_NOEXCEPT 5658 { 5659 return m_displayModeKHR.operator!(); 5660 } 5661 # endif 5662 5663 //=== VK_KHR_display === 5664 5665 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR 5666 getDisplayPlaneCapabilities( uint32_t planeIndex ) const; 5667 5668 private: 5669 VULKAN_HPP_NAMESPACE::DisplayModeKHR m_displayModeKHR; 5670 VULKAN_HPP_NAMESPACE::PhysicalDevice m_physicalDevice; 5671 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * m_dispatcher; 5672 }; 5673 5674 class Event 5675 { 5676 public: 5677 using CType = VkEvent; 5678 5679 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 5680 VULKAN_HPP_NAMESPACE::ObjectType::eEvent; 5681 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 5682 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eEvent; 5683 5684 public: Event(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::EventCreateInfo const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)5685 Event( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 5686 VULKAN_HPP_NAMESPACE::EventCreateInfo const & createInfo, 5687 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 5688 : m_device( *device ) 5689 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 5690 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 5691 , m_dispatcher( device.getDispatcher() ) 5692 { 5693 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 5694 getDispatcher()->vkCreateEvent( static_cast<VkDevice>( *device ), 5695 reinterpret_cast<const VkEventCreateInfo *>( &createInfo ), 5696 m_allocator, 5697 reinterpret_cast<VkEvent *>( &m_event ) ) ); 5698 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 5699 { 5700 throwResultException( result, "vkCreateEvent" ); 5701 } 5702 } 5703 Event(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkEvent event,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)5704 Event( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 5705 VkEvent event, 5706 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 5707 : m_event( event ) 5708 , m_device( *device ) 5709 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 5710 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 5711 , m_dispatcher( device.getDispatcher() ) 5712 {} 5713 ~Event()5714 ~Event() 5715 { 5716 if ( m_event ) 5717 { 5718 getDispatcher()->vkDestroyEvent( m_device, static_cast<VkEvent>( m_event ), m_allocator ); 5719 } 5720 } 5721 5722 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 5723 Event() = default; 5724 # else 5725 Event() = delete; 5726 # endif 5727 Event( Event const & ) = delete; Event(Event && rhs)5728 Event( Event && rhs ) VULKAN_HPP_NOEXCEPT 5729 : m_event( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_event, {} ) ) 5730 , m_device( rhs.m_device ) 5731 , m_allocator( rhs.m_allocator ) 5732 , m_dispatcher( rhs.m_dispatcher ) 5733 {} 5734 Event & operator=( Event const & ) = delete; operator =(Event && rhs)5735 Event & operator =( Event && rhs ) VULKAN_HPP_NOEXCEPT 5736 { 5737 if ( this != &rhs ) 5738 { 5739 if ( m_event ) 5740 { 5741 getDispatcher()->vkDestroyEvent( m_device, static_cast<VkEvent>( m_event ), m_allocator ); 5742 } 5743 m_event = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_event, {} ); 5744 m_device = rhs.m_device; 5745 m_allocator = rhs.m_allocator; 5746 m_dispatcher = rhs.m_dispatcher; 5747 } 5748 return *this; 5749 } 5750 operator *() const5751 VULKAN_HPP_NAMESPACE::Event const & operator*() const VULKAN_HPP_NOEXCEPT 5752 { 5753 return m_event; 5754 } 5755 getDispatcher() const5756 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 5757 { 5758 return m_dispatcher; 5759 } 5760 5761 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const5762 explicit operator bool() const VULKAN_HPP_NOEXCEPT 5763 { 5764 return m_event.operator bool(); 5765 } 5766 operator !() const5767 bool operator!() const VULKAN_HPP_NOEXCEPT 5768 { 5769 return m_event.operator!(); 5770 } 5771 # endif 5772 5773 //=== VK_VERSION_1_0 === 5774 5775 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result getStatus() const; 5776 5777 void set() const; 5778 5779 void reset() const; 5780 5781 private: 5782 VULKAN_HPP_NAMESPACE::Event m_event; 5783 VkDevice m_device; 5784 const VkAllocationCallbacks * m_allocator; 5785 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 5786 }; 5787 5788 class Fence 5789 { 5790 public: 5791 using CType = VkFence; 5792 5793 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 5794 VULKAN_HPP_NAMESPACE::ObjectType::eFence; 5795 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 5796 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eFence; 5797 5798 public: Fence(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::FenceCreateInfo const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)5799 Fence( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 5800 VULKAN_HPP_NAMESPACE::FenceCreateInfo const & createInfo, 5801 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 5802 : m_device( *device ) 5803 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 5804 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 5805 , m_dispatcher( device.getDispatcher() ) 5806 { 5807 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 5808 getDispatcher()->vkCreateFence( static_cast<VkDevice>( *device ), 5809 reinterpret_cast<const VkFenceCreateInfo *>( &createInfo ), 5810 m_allocator, 5811 reinterpret_cast<VkFence *>( &m_fence ) ) ); 5812 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 5813 { 5814 throwResultException( result, "vkCreateFence" ); 5815 } 5816 } 5817 Fence(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT const & deviceEventInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)5818 Fence( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 5819 VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT const & deviceEventInfo, 5820 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 5821 : m_device( *device ) 5822 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 5823 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 5824 , m_dispatcher( device.getDispatcher() ) 5825 { 5826 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 5827 getDispatcher()->vkRegisterDeviceEventEXT( static_cast<VkDevice>( *device ), 5828 reinterpret_cast<const VkDeviceEventInfoEXT *>( &deviceEventInfo ), 5829 m_allocator, 5830 reinterpret_cast<VkFence *>( &m_fence ) ) ); 5831 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 5832 { 5833 throwResultException( result, "vkRegisterDeviceEventEXT" ); 5834 } 5835 } 5836 Fence(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DisplayKHR const & display,VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT const & displayEventInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)5837 Fence( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 5838 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DisplayKHR const & display, 5839 VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT const & displayEventInfo, 5840 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 5841 : m_device( *device ) 5842 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 5843 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 5844 , m_dispatcher( device.getDispatcher() ) 5845 { 5846 VULKAN_HPP_NAMESPACE::Result result = 5847 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkRegisterDisplayEventEXT( 5848 static_cast<VkDevice>( *device ), 5849 static_cast<VkDisplayKHR>( *display ), 5850 reinterpret_cast<const VkDisplayEventInfoEXT *>( &displayEventInfo ), 5851 m_allocator, 5852 reinterpret_cast<VkFence *>( &m_fence ) ) ); 5853 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 5854 { 5855 throwResultException( result, "vkRegisterDisplayEventEXT" ); 5856 } 5857 } 5858 Fence(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkFence fence,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)5859 Fence( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 5860 VkFence fence, 5861 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 5862 : m_fence( fence ) 5863 , m_device( *device ) 5864 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 5865 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 5866 , m_dispatcher( device.getDispatcher() ) 5867 {} 5868 ~Fence()5869 ~Fence() 5870 { 5871 if ( m_fence ) 5872 { 5873 getDispatcher()->vkDestroyFence( m_device, static_cast<VkFence>( m_fence ), m_allocator ); 5874 } 5875 } 5876 5877 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 5878 Fence() = default; 5879 # else 5880 Fence() = delete; 5881 # endif 5882 Fence( Fence const & ) = delete; Fence(Fence && rhs)5883 Fence( Fence && rhs ) VULKAN_HPP_NOEXCEPT 5884 : m_fence( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_fence, {} ) ) 5885 , m_device( rhs.m_device ) 5886 , m_allocator( rhs.m_allocator ) 5887 , m_dispatcher( rhs.m_dispatcher ) 5888 {} 5889 Fence & operator=( Fence const & ) = delete; operator =(Fence && rhs)5890 Fence & operator =( Fence && rhs ) VULKAN_HPP_NOEXCEPT 5891 { 5892 if ( this != &rhs ) 5893 { 5894 if ( m_fence ) 5895 { 5896 getDispatcher()->vkDestroyFence( m_device, static_cast<VkFence>( m_fence ), m_allocator ); 5897 } 5898 m_fence = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_fence, {} ); 5899 m_device = rhs.m_device; 5900 m_allocator = rhs.m_allocator; 5901 m_dispatcher = rhs.m_dispatcher; 5902 } 5903 return *this; 5904 } 5905 operator *() const5906 VULKAN_HPP_NAMESPACE::Fence const & operator*() const VULKAN_HPP_NOEXCEPT 5907 { 5908 return m_fence; 5909 } 5910 getDispatcher() const5911 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 5912 { 5913 return m_dispatcher; 5914 } 5915 5916 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const5917 explicit operator bool() const VULKAN_HPP_NOEXCEPT 5918 { 5919 return m_fence.operator bool(); 5920 } 5921 operator !() const5922 bool operator!() const VULKAN_HPP_NOEXCEPT 5923 { 5924 return m_fence.operator!(); 5925 } 5926 # endif 5927 5928 //=== VK_VERSION_1_0 === 5929 5930 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result getStatus() const; 5931 5932 private: 5933 VULKAN_HPP_NAMESPACE::Fence m_fence; 5934 VkDevice m_device; 5935 const VkAllocationCallbacks * m_allocator; 5936 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 5937 }; 5938 5939 class Framebuffer 5940 { 5941 public: 5942 using CType = VkFramebuffer; 5943 5944 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 5945 VULKAN_HPP_NAMESPACE::ObjectType::eFramebuffer; 5946 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 5947 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eFramebuffer; 5948 5949 public: Framebuffer(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::FramebufferCreateInfo const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)5950 Framebuffer( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 5951 VULKAN_HPP_NAMESPACE::FramebufferCreateInfo const & createInfo, 5952 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 5953 : m_device( *device ) 5954 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 5955 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 5956 , m_dispatcher( device.getDispatcher() ) 5957 { 5958 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 5959 getDispatcher()->vkCreateFramebuffer( static_cast<VkDevice>( *device ), 5960 reinterpret_cast<const VkFramebufferCreateInfo *>( &createInfo ), 5961 m_allocator, 5962 reinterpret_cast<VkFramebuffer *>( &m_framebuffer ) ) ); 5963 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 5964 { 5965 throwResultException( result, "vkCreateFramebuffer" ); 5966 } 5967 } 5968 Framebuffer(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkFramebuffer framebuffer,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)5969 Framebuffer( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 5970 VkFramebuffer framebuffer, 5971 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 5972 : m_framebuffer( framebuffer ) 5973 , m_device( *device ) 5974 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 5975 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 5976 , m_dispatcher( device.getDispatcher() ) 5977 {} 5978 ~Framebuffer()5979 ~Framebuffer() 5980 { 5981 if ( m_framebuffer ) 5982 { 5983 getDispatcher()->vkDestroyFramebuffer( m_device, static_cast<VkFramebuffer>( m_framebuffer ), m_allocator ); 5984 } 5985 } 5986 5987 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 5988 Framebuffer() = default; 5989 # else 5990 Framebuffer() = delete; 5991 # endif 5992 Framebuffer( Framebuffer const & ) = delete; Framebuffer(Framebuffer && rhs)5993 Framebuffer( Framebuffer && rhs ) VULKAN_HPP_NOEXCEPT 5994 : m_framebuffer( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_framebuffer, {} ) ) 5995 , m_device( rhs.m_device ) 5996 , m_allocator( rhs.m_allocator ) 5997 , m_dispatcher( rhs.m_dispatcher ) 5998 {} 5999 Framebuffer & operator=( Framebuffer const & ) = delete; operator =(Framebuffer && rhs)6000 Framebuffer & operator =( Framebuffer && rhs ) VULKAN_HPP_NOEXCEPT 6001 { 6002 if ( this != &rhs ) 6003 { 6004 if ( m_framebuffer ) 6005 { 6006 getDispatcher()->vkDestroyFramebuffer( m_device, static_cast<VkFramebuffer>( m_framebuffer ), m_allocator ); 6007 } 6008 m_framebuffer = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_framebuffer, {} ); 6009 m_device = rhs.m_device; 6010 m_allocator = rhs.m_allocator; 6011 m_dispatcher = rhs.m_dispatcher; 6012 } 6013 return *this; 6014 } 6015 operator *() const6016 VULKAN_HPP_NAMESPACE::Framebuffer const & operator*() const VULKAN_HPP_NOEXCEPT 6017 { 6018 return m_framebuffer; 6019 } 6020 getDispatcher() const6021 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 6022 { 6023 return m_dispatcher; 6024 } 6025 6026 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const6027 explicit operator bool() const VULKAN_HPP_NOEXCEPT 6028 { 6029 return m_framebuffer.operator bool(); 6030 } 6031 operator !() const6032 bool operator!() const VULKAN_HPP_NOEXCEPT 6033 { 6034 return m_framebuffer.operator!(); 6035 } 6036 # endif 6037 6038 private: 6039 VULKAN_HPP_NAMESPACE::Framebuffer m_framebuffer; 6040 VkDevice m_device; 6041 const VkAllocationCallbacks * m_allocator; 6042 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 6043 }; 6044 6045 class Image 6046 { 6047 public: 6048 using CType = VkImage; 6049 6050 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 6051 VULKAN_HPP_NAMESPACE::ObjectType::eImage; 6052 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 6053 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eImage; 6054 6055 public: Image(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::ImageCreateInfo const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)6056 Image( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 6057 VULKAN_HPP_NAMESPACE::ImageCreateInfo const & createInfo, 6058 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 6059 : m_device( *device ) 6060 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 6061 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 6062 , m_dispatcher( device.getDispatcher() ) 6063 { 6064 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 6065 getDispatcher()->vkCreateImage( static_cast<VkDevice>( *device ), 6066 reinterpret_cast<const VkImageCreateInfo *>( &createInfo ), 6067 m_allocator, 6068 reinterpret_cast<VkImage *>( &m_image ) ) ); 6069 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 6070 { 6071 throwResultException( result, "vkCreateImage" ); 6072 } 6073 } 6074 Image(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkImage image,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)6075 Image( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 6076 VkImage image, 6077 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 6078 : m_image( image ) 6079 , m_device( *device ) 6080 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 6081 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 6082 , m_dispatcher( device.getDispatcher() ) 6083 {} 6084 ~Image()6085 ~Image() 6086 { 6087 if ( m_image ) 6088 { 6089 getDispatcher()->vkDestroyImage( m_device, static_cast<VkImage>( m_image ), m_allocator ); 6090 } 6091 } 6092 6093 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 6094 Image() = default; 6095 # else 6096 Image() = delete; 6097 # endif 6098 Image( Image const & ) = delete; Image(Image && rhs)6099 Image( Image && rhs ) VULKAN_HPP_NOEXCEPT 6100 : m_image( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_image, {} ) ) 6101 , m_device( rhs.m_device ) 6102 , m_allocator( rhs.m_allocator ) 6103 , m_dispatcher( rhs.m_dispatcher ) 6104 {} 6105 Image & operator=( Image const & ) = delete; operator =(Image && rhs)6106 Image & operator =( Image && rhs ) VULKAN_HPP_NOEXCEPT 6107 { 6108 if ( this != &rhs ) 6109 { 6110 if ( m_image ) 6111 { 6112 getDispatcher()->vkDestroyImage( m_device, static_cast<VkImage>( m_image ), m_allocator ); 6113 } 6114 m_image = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_image, {} ); 6115 m_device = rhs.m_device; 6116 m_allocator = rhs.m_allocator; 6117 m_dispatcher = rhs.m_dispatcher; 6118 } 6119 return *this; 6120 } 6121 operator *() const6122 VULKAN_HPP_NAMESPACE::Image const & operator*() const VULKAN_HPP_NOEXCEPT 6123 { 6124 return m_image; 6125 } 6126 getDispatcher() const6127 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 6128 { 6129 return m_dispatcher; 6130 } 6131 6132 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const6133 explicit operator bool() const VULKAN_HPP_NOEXCEPT 6134 { 6135 return m_image.operator bool(); 6136 } 6137 operator !() const6138 bool operator!() const VULKAN_HPP_NOEXCEPT 6139 { 6140 return m_image.operator!(); 6141 } 6142 # endif 6143 6144 //=== VK_VERSION_1_0 === 6145 6146 void bindMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory, VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset ) const; 6147 6148 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements getMemoryRequirements() const VULKAN_HPP_NOEXCEPT; 6149 6150 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements> 6151 getSparseMemoryRequirements() const VULKAN_HPP_NOEXCEPT; 6152 6153 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::SubresourceLayout 6154 getSubresourceLayout( const ImageSubresource & subresource ) const VULKAN_HPP_NOEXCEPT; 6155 6156 //=== VK_EXT_image_drm_format_modifier === 6157 6158 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT 6159 getDrmFormatModifierPropertiesEXT() const; 6160 6161 private: 6162 VULKAN_HPP_NAMESPACE::Image m_image; 6163 VkDevice m_device; 6164 const VkAllocationCallbacks * m_allocator; 6165 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 6166 }; 6167 6168 class ImageView 6169 { 6170 public: 6171 using CType = VkImageView; 6172 6173 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 6174 VULKAN_HPP_NAMESPACE::ObjectType::eImageView; 6175 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 6176 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eImageView; 6177 6178 public: ImageView(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::ImageViewCreateInfo const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)6179 ImageView( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 6180 VULKAN_HPP_NAMESPACE::ImageViewCreateInfo const & createInfo, 6181 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 6182 : m_device( *device ) 6183 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 6184 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 6185 , m_dispatcher( device.getDispatcher() ) 6186 { 6187 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 6188 getDispatcher()->vkCreateImageView( static_cast<VkDevice>( *device ), 6189 reinterpret_cast<const VkImageViewCreateInfo *>( &createInfo ), 6190 m_allocator, 6191 reinterpret_cast<VkImageView *>( &m_imageView ) ) ); 6192 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 6193 { 6194 throwResultException( result, "vkCreateImageView" ); 6195 } 6196 } 6197 ImageView(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkImageView imageView,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)6198 ImageView( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 6199 VkImageView imageView, 6200 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 6201 : m_imageView( imageView ) 6202 , m_device( *device ) 6203 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 6204 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 6205 , m_dispatcher( device.getDispatcher() ) 6206 {} 6207 ~ImageView()6208 ~ImageView() 6209 { 6210 if ( m_imageView ) 6211 { 6212 getDispatcher()->vkDestroyImageView( m_device, static_cast<VkImageView>( m_imageView ), m_allocator ); 6213 } 6214 } 6215 6216 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 6217 ImageView() = default; 6218 # else 6219 ImageView() = delete; 6220 # endif 6221 ImageView( ImageView const & ) = delete; ImageView(ImageView && rhs)6222 ImageView( ImageView && rhs ) VULKAN_HPP_NOEXCEPT 6223 : m_imageView( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_imageView, {} ) ) 6224 , m_device( rhs.m_device ) 6225 , m_allocator( rhs.m_allocator ) 6226 , m_dispatcher( rhs.m_dispatcher ) 6227 {} 6228 ImageView & operator=( ImageView const & ) = delete; operator =(ImageView && rhs)6229 ImageView & operator =( ImageView && rhs ) VULKAN_HPP_NOEXCEPT 6230 { 6231 if ( this != &rhs ) 6232 { 6233 if ( m_imageView ) 6234 { 6235 getDispatcher()->vkDestroyImageView( m_device, static_cast<VkImageView>( m_imageView ), m_allocator ); 6236 } 6237 m_imageView = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_imageView, {} ); 6238 m_device = rhs.m_device; 6239 m_allocator = rhs.m_allocator; 6240 m_dispatcher = rhs.m_dispatcher; 6241 } 6242 return *this; 6243 } 6244 operator *() const6245 VULKAN_HPP_NAMESPACE::ImageView const & operator*() const VULKAN_HPP_NOEXCEPT 6246 { 6247 return m_imageView; 6248 } 6249 getDispatcher() const6250 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 6251 { 6252 return m_dispatcher; 6253 } 6254 6255 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const6256 explicit operator bool() const VULKAN_HPP_NOEXCEPT 6257 { 6258 return m_imageView.operator bool(); 6259 } 6260 operator !() const6261 bool operator!() const VULKAN_HPP_NOEXCEPT 6262 { 6263 return m_imageView.operator!(); 6264 } 6265 # endif 6266 6267 //=== VK_NVX_image_view_handle === 6268 6269 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX getAddressNVX() const; 6270 6271 private: 6272 VULKAN_HPP_NAMESPACE::ImageView m_imageView; 6273 VkDevice m_device; 6274 const VkAllocationCallbacks * m_allocator; 6275 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 6276 }; 6277 6278 class IndirectCommandsLayoutNV 6279 { 6280 public: 6281 using CType = VkIndirectCommandsLayoutNV; 6282 6283 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 6284 VULKAN_HPP_NAMESPACE::ObjectType::eIndirectCommandsLayoutNV; 6285 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 6286 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown; 6287 6288 public: IndirectCommandsLayoutNV(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)6289 IndirectCommandsLayoutNV( 6290 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 6291 VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV const & createInfo, 6292 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 6293 : m_device( *device ) 6294 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 6295 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 6296 , m_dispatcher( device.getDispatcher() ) 6297 { 6298 VULKAN_HPP_NAMESPACE::Result result = 6299 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateIndirectCommandsLayoutNV( 6300 static_cast<VkDevice>( *device ), 6301 reinterpret_cast<const VkIndirectCommandsLayoutCreateInfoNV *>( &createInfo ), 6302 m_allocator, 6303 reinterpret_cast<VkIndirectCommandsLayoutNV *>( &m_indirectCommandsLayoutNV ) ) ); 6304 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 6305 { 6306 throwResultException( result, "vkCreateIndirectCommandsLayoutNV" ); 6307 } 6308 } 6309 IndirectCommandsLayoutNV(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkIndirectCommandsLayoutNV indirectCommandsLayoutNV,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)6310 IndirectCommandsLayoutNV( 6311 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 6312 VkIndirectCommandsLayoutNV indirectCommandsLayoutNV, 6313 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 6314 : m_indirectCommandsLayoutNV( indirectCommandsLayoutNV ) 6315 , m_device( *device ) 6316 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 6317 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 6318 , m_dispatcher( device.getDispatcher() ) 6319 {} 6320 ~IndirectCommandsLayoutNV()6321 ~IndirectCommandsLayoutNV() 6322 { 6323 if ( m_indirectCommandsLayoutNV ) 6324 { 6325 getDispatcher()->vkDestroyIndirectCommandsLayoutNV( 6326 m_device, static_cast<VkIndirectCommandsLayoutNV>( m_indirectCommandsLayoutNV ), m_allocator ); 6327 } 6328 } 6329 6330 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 6331 IndirectCommandsLayoutNV() = default; 6332 # else 6333 IndirectCommandsLayoutNV() = delete; 6334 # endif 6335 IndirectCommandsLayoutNV( IndirectCommandsLayoutNV const & ) = delete; IndirectCommandsLayoutNV(IndirectCommandsLayoutNV && rhs)6336 IndirectCommandsLayoutNV( IndirectCommandsLayoutNV && rhs ) VULKAN_HPP_NOEXCEPT 6337 : m_indirectCommandsLayoutNV( 6338 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_indirectCommandsLayoutNV, {} ) ) 6339 , m_device( rhs.m_device ) 6340 , m_allocator( rhs.m_allocator ) 6341 , m_dispatcher( rhs.m_dispatcher ) 6342 {} 6343 IndirectCommandsLayoutNV & operator=( IndirectCommandsLayoutNV const & ) = delete; operator =(IndirectCommandsLayoutNV && rhs)6344 IndirectCommandsLayoutNV & operator=( IndirectCommandsLayoutNV && rhs ) VULKAN_HPP_NOEXCEPT 6345 { 6346 if ( this != &rhs ) 6347 { 6348 if ( m_indirectCommandsLayoutNV ) 6349 { 6350 getDispatcher()->vkDestroyIndirectCommandsLayoutNV( 6351 m_device, static_cast<VkIndirectCommandsLayoutNV>( m_indirectCommandsLayoutNV ), m_allocator ); 6352 } 6353 m_indirectCommandsLayoutNV = 6354 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_indirectCommandsLayoutNV, {} ); 6355 m_device = rhs.m_device; 6356 m_allocator = rhs.m_allocator; 6357 m_dispatcher = rhs.m_dispatcher; 6358 } 6359 return *this; 6360 } 6361 operator *() const6362 VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV const & operator*() const VULKAN_HPP_NOEXCEPT 6363 { 6364 return m_indirectCommandsLayoutNV; 6365 } 6366 getDispatcher() const6367 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 6368 { 6369 return m_dispatcher; 6370 } 6371 6372 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const6373 explicit operator bool() const VULKAN_HPP_NOEXCEPT 6374 { 6375 return m_indirectCommandsLayoutNV.operator bool(); 6376 } 6377 operator !() const6378 bool operator!() const VULKAN_HPP_NOEXCEPT 6379 { 6380 return m_indirectCommandsLayoutNV.operator!(); 6381 } 6382 # endif 6383 6384 private: 6385 VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV m_indirectCommandsLayoutNV; 6386 VkDevice m_device; 6387 const VkAllocationCallbacks * m_allocator; 6388 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 6389 }; 6390 6391 class PerformanceConfigurationINTEL 6392 { 6393 public: 6394 using CType = VkPerformanceConfigurationINTEL; 6395 6396 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 6397 VULKAN_HPP_NAMESPACE::ObjectType::ePerformanceConfigurationINTEL; 6398 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 6399 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown; 6400 6401 public: PerformanceConfigurationINTEL(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL const & acquireInfo)6402 PerformanceConfigurationINTEL( 6403 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 6404 VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL const & acquireInfo ) 6405 : m_device( *device ), m_dispatcher( device.getDispatcher() ) 6406 { 6407 VULKAN_HPP_NAMESPACE::Result result = 6408 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkAcquirePerformanceConfigurationINTEL( 6409 static_cast<VkDevice>( *device ), 6410 reinterpret_cast<const VkPerformanceConfigurationAcquireInfoINTEL *>( &acquireInfo ), 6411 reinterpret_cast<VkPerformanceConfigurationINTEL *>( &m_performanceConfigurationINTEL ) ) ); 6412 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 6413 { 6414 throwResultException( result, "vkAcquirePerformanceConfigurationINTEL" ); 6415 } 6416 } 6417 PerformanceConfigurationINTEL(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkPerformanceConfigurationINTEL performanceConfigurationINTEL)6418 PerformanceConfigurationINTEL( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 6419 VkPerformanceConfigurationINTEL performanceConfigurationINTEL ) 6420 : m_performanceConfigurationINTEL( performanceConfigurationINTEL ) 6421 , m_device( *device ) 6422 , m_dispatcher( device.getDispatcher() ) 6423 {} 6424 ~PerformanceConfigurationINTEL()6425 ~PerformanceConfigurationINTEL() 6426 { 6427 if ( m_performanceConfigurationINTEL ) 6428 { 6429 getDispatcher()->vkReleasePerformanceConfigurationINTEL( 6430 m_device, static_cast<VkPerformanceConfigurationINTEL>( m_performanceConfigurationINTEL ) ); 6431 } 6432 } 6433 6434 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 6435 PerformanceConfigurationINTEL() = default; 6436 # else 6437 PerformanceConfigurationINTEL() = delete; 6438 # endif 6439 PerformanceConfigurationINTEL( PerformanceConfigurationINTEL const & ) = delete; PerformanceConfigurationINTEL(PerformanceConfigurationINTEL && rhs)6440 PerformanceConfigurationINTEL( PerformanceConfigurationINTEL && rhs ) VULKAN_HPP_NOEXCEPT 6441 : m_performanceConfigurationINTEL( 6442 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_performanceConfigurationINTEL, {} ) ) 6443 , m_device( rhs.m_device ) 6444 , m_dispatcher( rhs.m_dispatcher ) 6445 {} 6446 PerformanceConfigurationINTEL & operator=( PerformanceConfigurationINTEL const & ) = delete; operator =(PerformanceConfigurationINTEL && rhs)6447 PerformanceConfigurationINTEL & operator=( PerformanceConfigurationINTEL && rhs ) VULKAN_HPP_NOEXCEPT 6448 { 6449 if ( this != &rhs ) 6450 { 6451 if ( m_performanceConfigurationINTEL ) 6452 { 6453 getDispatcher()->vkReleasePerformanceConfigurationINTEL( 6454 m_device, static_cast<VkPerformanceConfigurationINTEL>( m_performanceConfigurationINTEL ) ); 6455 } 6456 m_performanceConfigurationINTEL = 6457 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_performanceConfigurationINTEL, {} ); 6458 m_device = rhs.m_device; 6459 m_dispatcher = rhs.m_dispatcher; 6460 } 6461 return *this; 6462 } 6463 operator *() const6464 VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL const & operator*() const VULKAN_HPP_NOEXCEPT 6465 { 6466 return m_performanceConfigurationINTEL; 6467 } 6468 getDispatcher() const6469 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 6470 { 6471 return m_dispatcher; 6472 } 6473 6474 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const6475 explicit operator bool() const VULKAN_HPP_NOEXCEPT 6476 { 6477 return m_performanceConfigurationINTEL.operator bool(); 6478 } 6479 operator !() const6480 bool operator!() const VULKAN_HPP_NOEXCEPT 6481 { 6482 return m_performanceConfigurationINTEL.operator!(); 6483 } 6484 # endif 6485 6486 private: 6487 VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL m_performanceConfigurationINTEL; 6488 VkDevice m_device; 6489 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 6490 }; 6491 6492 class PipelineCache 6493 { 6494 public: 6495 using CType = VkPipelineCache; 6496 6497 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 6498 VULKAN_HPP_NAMESPACE::ObjectType::ePipelineCache; 6499 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 6500 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::ePipelineCache; 6501 6502 public: PipelineCache(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)6503 PipelineCache( 6504 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 6505 VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo const & createInfo, 6506 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 6507 : m_device( *device ) 6508 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 6509 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 6510 , m_dispatcher( device.getDispatcher() ) 6511 { 6512 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 6513 getDispatcher()->vkCreatePipelineCache( static_cast<VkDevice>( *device ), 6514 reinterpret_cast<const VkPipelineCacheCreateInfo *>( &createInfo ), 6515 m_allocator, 6516 reinterpret_cast<VkPipelineCache *>( &m_pipelineCache ) ) ); 6517 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 6518 { 6519 throwResultException( result, "vkCreatePipelineCache" ); 6520 } 6521 } 6522 PipelineCache(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkPipelineCache pipelineCache,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)6523 PipelineCache( 6524 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 6525 VkPipelineCache pipelineCache, 6526 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 6527 : m_pipelineCache( pipelineCache ) 6528 , m_device( *device ) 6529 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 6530 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 6531 , m_dispatcher( device.getDispatcher() ) 6532 {} 6533 ~PipelineCache()6534 ~PipelineCache() 6535 { 6536 if ( m_pipelineCache ) 6537 { 6538 getDispatcher()->vkDestroyPipelineCache( 6539 m_device, static_cast<VkPipelineCache>( m_pipelineCache ), m_allocator ); 6540 } 6541 } 6542 6543 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 6544 PipelineCache() = default; 6545 # else 6546 PipelineCache() = delete; 6547 # endif 6548 PipelineCache( PipelineCache const & ) = delete; PipelineCache(PipelineCache && rhs)6549 PipelineCache( PipelineCache && rhs ) VULKAN_HPP_NOEXCEPT 6550 : m_pipelineCache( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_pipelineCache, {} ) ) 6551 , m_device( rhs.m_device ) 6552 , m_allocator( rhs.m_allocator ) 6553 , m_dispatcher( rhs.m_dispatcher ) 6554 {} 6555 PipelineCache & operator=( PipelineCache const & ) = delete; operator =(PipelineCache && rhs)6556 PipelineCache & operator =( PipelineCache && rhs ) VULKAN_HPP_NOEXCEPT 6557 { 6558 if ( this != &rhs ) 6559 { 6560 if ( m_pipelineCache ) 6561 { 6562 getDispatcher()->vkDestroyPipelineCache( 6563 m_device, static_cast<VkPipelineCache>( m_pipelineCache ), m_allocator ); 6564 } 6565 m_pipelineCache = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_pipelineCache, {} ); 6566 m_device = rhs.m_device; 6567 m_allocator = rhs.m_allocator; 6568 m_dispatcher = rhs.m_dispatcher; 6569 } 6570 return *this; 6571 } 6572 operator *() const6573 VULKAN_HPP_NAMESPACE::PipelineCache const & operator*() const VULKAN_HPP_NOEXCEPT 6574 { 6575 return m_pipelineCache; 6576 } 6577 getDispatcher() const6578 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 6579 { 6580 return m_dispatcher; 6581 } 6582 6583 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const6584 explicit operator bool() const VULKAN_HPP_NOEXCEPT 6585 { 6586 return m_pipelineCache.operator bool(); 6587 } 6588 operator !() const6589 bool operator!() const VULKAN_HPP_NOEXCEPT 6590 { 6591 return m_pipelineCache.operator!(); 6592 } 6593 # endif 6594 6595 //=== VK_VERSION_1_0 === 6596 6597 VULKAN_HPP_NODISCARD std::vector<uint8_t> getData() const; 6598 6599 void merge( ArrayProxy<const VULKAN_HPP_NAMESPACE::PipelineCache> const & srcCaches ) const; 6600 6601 private: 6602 VULKAN_HPP_NAMESPACE::PipelineCache m_pipelineCache; 6603 VkDevice m_device; 6604 const VkAllocationCallbacks * m_allocator; 6605 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 6606 }; 6607 6608 class Pipeline 6609 { 6610 public: 6611 using CType = VkPipeline; 6612 6613 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 6614 VULKAN_HPP_NAMESPACE::ObjectType::ePipeline; 6615 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 6616 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::ePipeline; 6617 6618 public: Pipeline(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & pipelineCache,VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)6619 Pipeline( 6620 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 6621 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & 6622 pipelineCache, 6623 VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo const & createInfo, 6624 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 6625 : m_device( *device ) 6626 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 6627 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 6628 , m_dispatcher( device.getDispatcher() ) 6629 { 6630 m_constructorSuccessCode = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateComputePipelines( 6631 static_cast<VkDevice>( *device ), 6632 pipelineCache ? static_cast<VkPipelineCache>( **pipelineCache ) : 0, 6633 1, 6634 reinterpret_cast<const VkComputePipelineCreateInfo *>( &createInfo ), 6635 m_allocator, 6636 reinterpret_cast<VkPipeline *>( &m_pipeline ) ) ); 6637 if ( ( m_constructorSuccessCode != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && 6638 ( m_constructorSuccessCode != VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT ) ) 6639 { 6640 throwResultException( m_constructorSuccessCode, "vkCreateComputePipelines" ); 6641 } 6642 } 6643 Pipeline(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & pipelineCache,VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)6644 Pipeline( 6645 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 6646 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & 6647 pipelineCache, 6648 VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo const & createInfo, 6649 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 6650 : m_device( *device ) 6651 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 6652 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 6653 , m_dispatcher( device.getDispatcher() ) 6654 { 6655 m_constructorSuccessCode = 6656 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateGraphicsPipelines( 6657 static_cast<VkDevice>( *device ), 6658 pipelineCache ? static_cast<VkPipelineCache>( **pipelineCache ) : 0, 6659 1, 6660 reinterpret_cast<const VkGraphicsPipelineCreateInfo *>( &createInfo ), 6661 m_allocator, 6662 reinterpret_cast<VkPipeline *>( &m_pipeline ) ) ); 6663 if ( ( m_constructorSuccessCode != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && 6664 ( m_constructorSuccessCode != VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT ) ) 6665 { 6666 throwResultException( m_constructorSuccessCode, "vkCreateGraphicsPipelines" ); 6667 } 6668 } 6669 Pipeline(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeferredOperationKHR> const & deferredOperation,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & pipelineCache,VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)6670 Pipeline( 6671 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 6672 VULKAN_HPP_NAMESPACE::Optional< 6673 const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeferredOperationKHR> const & deferredOperation, 6674 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & 6675 pipelineCache, 6676 VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR const & createInfo, 6677 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 6678 : m_device( *device ) 6679 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 6680 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 6681 , m_dispatcher( device.getDispatcher() ) 6682 { 6683 m_constructorSuccessCode = 6684 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateRayTracingPipelinesKHR( 6685 static_cast<VkDevice>( *device ), 6686 deferredOperation ? static_cast<VkDeferredOperationKHR>( **deferredOperation ) : 0, 6687 pipelineCache ? static_cast<VkPipelineCache>( **pipelineCache ) : 0, 6688 1, 6689 reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( &createInfo ), 6690 m_allocator, 6691 reinterpret_cast<VkPipeline *>( &m_pipeline ) ) ); 6692 if ( ( m_constructorSuccessCode != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && 6693 ( m_constructorSuccessCode != VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR ) && 6694 ( m_constructorSuccessCode != VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR ) && 6695 ( m_constructorSuccessCode != VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT ) ) 6696 { 6697 throwResultException( m_constructorSuccessCode, "vkCreateRayTracingPipelinesKHR" ); 6698 } 6699 } 6700 Pipeline(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & pipelineCache,VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)6701 Pipeline( 6702 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 6703 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & 6704 pipelineCache, 6705 VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV const & createInfo, 6706 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 6707 : m_device( *device ) 6708 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 6709 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 6710 , m_dispatcher( device.getDispatcher() ) 6711 { 6712 m_constructorSuccessCode = 6713 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateRayTracingPipelinesNV( 6714 static_cast<VkDevice>( *device ), 6715 pipelineCache ? static_cast<VkPipelineCache>( **pipelineCache ) : 0, 6716 1, 6717 reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>( &createInfo ), 6718 m_allocator, 6719 reinterpret_cast<VkPipeline *>( &m_pipeline ) ) ); 6720 if ( ( m_constructorSuccessCode != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && 6721 ( m_constructorSuccessCode != VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT ) ) 6722 { 6723 throwResultException( m_constructorSuccessCode, "vkCreateRayTracingPipelinesNV" ); 6724 } 6725 } 6726 Pipeline(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkPipeline pipeline,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)6727 Pipeline( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 6728 VkPipeline pipeline, 6729 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 6730 : m_pipeline( pipeline ) 6731 , m_device( *device ) 6732 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 6733 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 6734 , m_dispatcher( device.getDispatcher() ) 6735 {} 6736 Pipeline(VkPipeline pipeline,VkDevice device,VkAllocationCallbacks const * allocator,VULKAN_HPP_NAMESPACE::Result successCode,VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * dispatcher)6737 Pipeline( VkPipeline pipeline, 6738 VkDevice device, 6739 VkAllocationCallbacks const * allocator, 6740 VULKAN_HPP_NAMESPACE::Result successCode, 6741 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * dispatcher ) 6742 : m_pipeline( pipeline ) 6743 , m_device( device ) 6744 , m_allocator( allocator ) 6745 , m_constructorSuccessCode( successCode ) 6746 , m_dispatcher( dispatcher ) 6747 {} 6748 ~Pipeline()6749 ~Pipeline() 6750 { 6751 if ( m_pipeline ) 6752 { 6753 getDispatcher()->vkDestroyPipeline( m_device, static_cast<VkPipeline>( m_pipeline ), m_allocator ); 6754 } 6755 } 6756 6757 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 6758 Pipeline() = default; 6759 # else 6760 Pipeline() = delete; 6761 # endif 6762 Pipeline( Pipeline const & ) = delete; Pipeline(Pipeline && rhs)6763 Pipeline( Pipeline && rhs ) VULKAN_HPP_NOEXCEPT 6764 : m_pipeline( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_pipeline, {} ) ) 6765 , m_device( rhs.m_device ) 6766 , m_allocator( rhs.m_allocator ) 6767 , m_dispatcher( rhs.m_dispatcher ) 6768 {} 6769 Pipeline & operator=( Pipeline const & ) = delete; operator =(Pipeline && rhs)6770 Pipeline & operator =( Pipeline && rhs ) VULKAN_HPP_NOEXCEPT 6771 { 6772 if ( this != &rhs ) 6773 { 6774 if ( m_pipeline ) 6775 { 6776 getDispatcher()->vkDestroyPipeline( m_device, static_cast<VkPipeline>( m_pipeline ), m_allocator ); 6777 } 6778 m_pipeline = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_pipeline, {} ); 6779 m_device = rhs.m_device; 6780 m_allocator = rhs.m_allocator; 6781 m_dispatcher = rhs.m_dispatcher; 6782 } 6783 return *this; 6784 } 6785 operator *() const6786 VULKAN_HPP_NAMESPACE::Pipeline const & operator*() const VULKAN_HPP_NOEXCEPT 6787 { 6788 return m_pipeline; 6789 } 6790 getConstructorSuccessCode() const6791 VULKAN_HPP_NAMESPACE::Result getConstructorSuccessCode() const 6792 { 6793 return m_constructorSuccessCode; 6794 } 6795 getDispatcher() const6796 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 6797 { 6798 return m_dispatcher; 6799 } 6800 6801 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const6802 explicit operator bool() const VULKAN_HPP_NOEXCEPT 6803 { 6804 return m_pipeline.operator bool(); 6805 } 6806 operator !() const6807 bool operator!() const VULKAN_HPP_NOEXCEPT 6808 { 6809 return m_pipeline.operator!(); 6810 } 6811 # endif 6812 6813 //=== VK_AMD_shader_info === 6814 6815 VULKAN_HPP_NODISCARD std::vector<uint8_t> 6816 getShaderInfoAMD( VULKAN_HPP_NAMESPACE::ShaderStageFlagBits shaderStage, 6817 VULKAN_HPP_NAMESPACE::ShaderInfoTypeAMD infoType ) const; 6818 6819 //=== VK_NV_ray_tracing === 6820 6821 template <typename T> 6822 VULKAN_HPP_NODISCARD std::vector<T> 6823 getRayTracingShaderGroupHandlesNV( uint32_t firstGroup, uint32_t groupCount, size_t dataSize ) const; 6824 6825 template <typename T> 6826 VULKAN_HPP_NODISCARD T getRayTracingShaderGroupHandleNV( uint32_t firstGroup, uint32_t groupCount ) const; 6827 6828 void compileDeferredNV( uint32_t shader ) const; 6829 6830 //=== VK_KHR_ray_tracing_pipeline === 6831 6832 template <typename T> 6833 VULKAN_HPP_NODISCARD std::vector<T> 6834 getRayTracingShaderGroupHandlesKHR( uint32_t firstGroup, uint32_t groupCount, size_t dataSize ) const; 6835 6836 template <typename T> 6837 VULKAN_HPP_NODISCARD T getRayTracingShaderGroupHandleKHR( uint32_t firstGroup, uint32_t groupCount ) const; 6838 6839 template <typename T> 6840 VULKAN_HPP_NODISCARD std::vector<T> getRayTracingCaptureReplayShaderGroupHandlesKHR( uint32_t firstGroup, 6841 uint32_t groupCount, 6842 size_t dataSize ) const; 6843 6844 template <typename T> 6845 VULKAN_HPP_NODISCARD T getRayTracingCaptureReplayShaderGroupHandleKHR( uint32_t firstGroup, 6846 uint32_t groupCount ) const; 6847 6848 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceSize getRayTracingShaderGroupStackSizeKHR( 6849 uint32_t group, VULKAN_HPP_NAMESPACE::ShaderGroupShaderKHR groupShader ) const VULKAN_HPP_NOEXCEPT; 6850 6851 private: 6852 VULKAN_HPP_NAMESPACE::Pipeline m_pipeline; 6853 VkDevice m_device; 6854 const VkAllocationCallbacks * m_allocator; 6855 VULKAN_HPP_NAMESPACE::Result m_constructorSuccessCode; 6856 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 6857 }; 6858 6859 class Pipelines : public std::vector<VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Pipeline> 6860 { 6861 public: Pipelines(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & pipelineCache,VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const & createInfos,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)6862 Pipelines( 6863 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 6864 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & 6865 pipelineCache, 6866 VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const & createInfos, 6867 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 6868 { 6869 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * dispatcher = device.getDispatcher(); 6870 std::vector<VkPipeline> pipelines( createInfos.size() ); 6871 VULKAN_HPP_NAMESPACE::Result result = 6872 static_cast<VULKAN_HPP_NAMESPACE::Result>( dispatcher->vkCreateComputePipelines( 6873 static_cast<VkDevice>( *device ), 6874 pipelineCache ? static_cast<VkPipelineCache>( **pipelineCache ) : 0, 6875 createInfos.size(), 6876 reinterpret_cast<const VkComputePipelineCreateInfo *>( createInfos.data() ), 6877 reinterpret_cast<const VkAllocationCallbacks *>( 6878 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 6879 pipelines.data() ) ); 6880 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) || 6881 ( result == VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT ) ) 6882 { 6883 this->reserve( createInfos.size() ); 6884 for ( auto const & pipeline : pipelines ) 6885 { 6886 this->emplace_back( pipeline, 6887 static_cast<VkDevice>( *device ), 6888 reinterpret_cast<const VkAllocationCallbacks *>( 6889 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 6890 result, 6891 dispatcher ); 6892 } 6893 } 6894 else 6895 { 6896 throwResultException( result, "vkCreateComputePipelines" ); 6897 } 6898 } 6899 Pipelines(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & pipelineCache,VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const & createInfos,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)6900 Pipelines( 6901 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 6902 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & 6903 pipelineCache, 6904 VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const & createInfos, 6905 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 6906 { 6907 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * dispatcher = device.getDispatcher(); 6908 std::vector<VkPipeline> pipelines( createInfos.size() ); 6909 VULKAN_HPP_NAMESPACE::Result result = 6910 static_cast<VULKAN_HPP_NAMESPACE::Result>( dispatcher->vkCreateGraphicsPipelines( 6911 static_cast<VkDevice>( *device ), 6912 pipelineCache ? static_cast<VkPipelineCache>( **pipelineCache ) : 0, 6913 createInfos.size(), 6914 reinterpret_cast<const VkGraphicsPipelineCreateInfo *>( createInfos.data() ), 6915 reinterpret_cast<const VkAllocationCallbacks *>( 6916 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 6917 pipelines.data() ) ); 6918 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) || 6919 ( result == VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT ) ) 6920 { 6921 this->reserve( createInfos.size() ); 6922 for ( auto const & pipeline : pipelines ) 6923 { 6924 this->emplace_back( pipeline, 6925 static_cast<VkDevice>( *device ), 6926 reinterpret_cast<const VkAllocationCallbacks *>( 6927 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 6928 result, 6929 dispatcher ); 6930 } 6931 } 6932 else 6933 { 6934 throwResultException( result, "vkCreateGraphicsPipelines" ); 6935 } 6936 } 6937 Pipelines(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeferredOperationKHR> const & deferredOperation,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & pipelineCache,VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)6938 Pipelines( 6939 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 6940 VULKAN_HPP_NAMESPACE::Optional< 6941 const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeferredOperationKHR> const & deferredOperation, 6942 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & 6943 pipelineCache, 6944 VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos, 6945 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 6946 { 6947 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * dispatcher = device.getDispatcher(); 6948 std::vector<VkPipeline> pipelines( createInfos.size() ); 6949 VULKAN_HPP_NAMESPACE::Result result = 6950 static_cast<VULKAN_HPP_NAMESPACE::Result>( dispatcher->vkCreateRayTracingPipelinesKHR( 6951 static_cast<VkDevice>( *device ), 6952 deferredOperation ? static_cast<VkDeferredOperationKHR>( **deferredOperation ) : 0, 6953 pipelineCache ? static_cast<VkPipelineCache>( **pipelineCache ) : 0, 6954 createInfos.size(), 6955 reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( createInfos.data() ), 6956 reinterpret_cast<const VkAllocationCallbacks *>( 6957 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 6958 pipelines.data() ) ); 6959 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) || 6960 ( result == VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR ) || 6961 ( result == VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR ) || 6962 ( result == VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT ) ) 6963 { 6964 this->reserve( createInfos.size() ); 6965 for ( auto const & pipeline : pipelines ) 6966 { 6967 this->emplace_back( pipeline, 6968 static_cast<VkDevice>( *device ), 6969 reinterpret_cast<const VkAllocationCallbacks *>( 6970 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 6971 result, 6972 dispatcher ); 6973 } 6974 } 6975 else 6976 { 6977 throwResultException( result, "vkCreateRayTracingPipelinesKHR" ); 6978 } 6979 } 6980 Pipelines(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & pipelineCache,VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const & createInfos,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)6981 Pipelines( 6982 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 6983 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & 6984 pipelineCache, 6985 VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const & createInfos, 6986 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 6987 { 6988 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * dispatcher = device.getDispatcher(); 6989 std::vector<VkPipeline> pipelines( createInfos.size() ); 6990 VULKAN_HPP_NAMESPACE::Result result = 6991 static_cast<VULKAN_HPP_NAMESPACE::Result>( dispatcher->vkCreateRayTracingPipelinesNV( 6992 static_cast<VkDevice>( *device ), 6993 pipelineCache ? static_cast<VkPipelineCache>( **pipelineCache ) : 0, 6994 createInfos.size(), 6995 reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>( createInfos.data() ), 6996 reinterpret_cast<const VkAllocationCallbacks *>( 6997 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 6998 pipelines.data() ) ); 6999 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) || 7000 ( result == VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT ) ) 7001 { 7002 this->reserve( createInfos.size() ); 7003 for ( auto const & pipeline : pipelines ) 7004 { 7005 this->emplace_back( pipeline, 7006 static_cast<VkDevice>( *device ), 7007 reinterpret_cast<const VkAllocationCallbacks *>( 7008 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 7009 result, 7010 dispatcher ); 7011 } 7012 } 7013 else 7014 { 7015 throwResultException( result, "vkCreateRayTracingPipelinesNV" ); 7016 } 7017 } 7018 7019 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 7020 Pipelines() = default; 7021 # else 7022 Pipelines() = delete; 7023 # endif 7024 Pipelines( Pipelines const & ) = delete; 7025 Pipelines( Pipelines && rhs ) = default; 7026 Pipelines & operator=( Pipelines const & ) = delete; 7027 Pipelines & operator=( Pipelines && rhs ) = default; 7028 }; 7029 7030 class PipelineLayout 7031 { 7032 public: 7033 using CType = VkPipelineLayout; 7034 7035 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 7036 VULKAN_HPP_NAMESPACE::ObjectType::ePipelineLayout; 7037 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 7038 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::ePipelineLayout; 7039 7040 public: PipelineLayout(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)7041 PipelineLayout( 7042 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 7043 VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo const & createInfo, 7044 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 7045 : m_device( *device ) 7046 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 7047 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 7048 , m_dispatcher( device.getDispatcher() ) 7049 { 7050 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 7051 getDispatcher()->vkCreatePipelineLayout( static_cast<VkDevice>( *device ), 7052 reinterpret_cast<const VkPipelineLayoutCreateInfo *>( &createInfo ), 7053 m_allocator, 7054 reinterpret_cast<VkPipelineLayout *>( &m_pipelineLayout ) ) ); 7055 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 7056 { 7057 throwResultException( result, "vkCreatePipelineLayout" ); 7058 } 7059 } 7060 PipelineLayout(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkPipelineLayout pipelineLayout,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)7061 PipelineLayout( 7062 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 7063 VkPipelineLayout pipelineLayout, 7064 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 7065 : m_pipelineLayout( pipelineLayout ) 7066 , m_device( *device ) 7067 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 7068 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 7069 , m_dispatcher( device.getDispatcher() ) 7070 {} 7071 ~PipelineLayout()7072 ~PipelineLayout() 7073 { 7074 if ( m_pipelineLayout ) 7075 { 7076 getDispatcher()->vkDestroyPipelineLayout( 7077 m_device, static_cast<VkPipelineLayout>( m_pipelineLayout ), m_allocator ); 7078 } 7079 } 7080 7081 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 7082 PipelineLayout() = default; 7083 # else 7084 PipelineLayout() = delete; 7085 # endif 7086 PipelineLayout( PipelineLayout const & ) = delete; PipelineLayout(PipelineLayout && rhs)7087 PipelineLayout( PipelineLayout && rhs ) VULKAN_HPP_NOEXCEPT 7088 : m_pipelineLayout( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_pipelineLayout, {} ) ) 7089 , m_device( rhs.m_device ) 7090 , m_allocator( rhs.m_allocator ) 7091 , m_dispatcher( rhs.m_dispatcher ) 7092 {} 7093 PipelineLayout & operator=( PipelineLayout const & ) = delete; operator =(PipelineLayout && rhs)7094 PipelineLayout & operator =( PipelineLayout && rhs ) VULKAN_HPP_NOEXCEPT 7095 { 7096 if ( this != &rhs ) 7097 { 7098 if ( m_pipelineLayout ) 7099 { 7100 getDispatcher()->vkDestroyPipelineLayout( 7101 m_device, static_cast<VkPipelineLayout>( m_pipelineLayout ), m_allocator ); 7102 } 7103 m_pipelineLayout = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_pipelineLayout, {} ); 7104 m_device = rhs.m_device; 7105 m_allocator = rhs.m_allocator; 7106 m_dispatcher = rhs.m_dispatcher; 7107 } 7108 return *this; 7109 } 7110 operator *() const7111 VULKAN_HPP_NAMESPACE::PipelineLayout const & operator*() const VULKAN_HPP_NOEXCEPT 7112 { 7113 return m_pipelineLayout; 7114 } 7115 getDispatcher() const7116 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 7117 { 7118 return m_dispatcher; 7119 } 7120 7121 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const7122 explicit operator bool() const VULKAN_HPP_NOEXCEPT 7123 { 7124 return m_pipelineLayout.operator bool(); 7125 } 7126 operator !() const7127 bool operator!() const VULKAN_HPP_NOEXCEPT 7128 { 7129 return m_pipelineLayout.operator!(); 7130 } 7131 # endif 7132 7133 private: 7134 VULKAN_HPP_NAMESPACE::PipelineLayout m_pipelineLayout; 7135 VkDevice m_device; 7136 const VkAllocationCallbacks * m_allocator; 7137 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 7138 }; 7139 7140 class PrivateDataSlotEXT 7141 { 7142 public: 7143 using CType = VkPrivateDataSlotEXT; 7144 7145 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 7146 VULKAN_HPP_NAMESPACE::ObjectType::ePrivateDataSlotEXT; 7147 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 7148 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown; 7149 7150 public: PrivateDataSlotEXT(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfoEXT const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)7151 PrivateDataSlotEXT( 7152 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 7153 VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfoEXT const & createInfo, 7154 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 7155 : m_device( *device ) 7156 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 7157 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 7158 , m_dispatcher( device.getDispatcher() ) 7159 { 7160 VULKAN_HPP_NAMESPACE::Result result = 7161 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreatePrivateDataSlotEXT( 7162 static_cast<VkDevice>( *device ), 7163 reinterpret_cast<const VkPrivateDataSlotCreateInfoEXT *>( &createInfo ), 7164 m_allocator, 7165 reinterpret_cast<VkPrivateDataSlotEXT *>( &m_privateDataSlotEXT ) ) ); 7166 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 7167 { 7168 throwResultException( result, "vkCreatePrivateDataSlotEXT" ); 7169 } 7170 } 7171 PrivateDataSlotEXT(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkPrivateDataSlotEXT privateDataSlotEXT,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)7172 PrivateDataSlotEXT( 7173 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 7174 VkPrivateDataSlotEXT privateDataSlotEXT, 7175 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 7176 : m_privateDataSlotEXT( privateDataSlotEXT ) 7177 , m_device( *device ) 7178 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 7179 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 7180 , m_dispatcher( device.getDispatcher() ) 7181 {} 7182 ~PrivateDataSlotEXT()7183 ~PrivateDataSlotEXT() 7184 { 7185 if ( m_privateDataSlotEXT ) 7186 { 7187 getDispatcher()->vkDestroyPrivateDataSlotEXT( 7188 m_device, static_cast<VkPrivateDataSlotEXT>( m_privateDataSlotEXT ), m_allocator ); 7189 } 7190 } 7191 7192 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 7193 PrivateDataSlotEXT() = default; 7194 # else 7195 PrivateDataSlotEXT() = delete; 7196 # endif 7197 PrivateDataSlotEXT( PrivateDataSlotEXT const & ) = delete; PrivateDataSlotEXT(PrivateDataSlotEXT && rhs)7198 PrivateDataSlotEXT( PrivateDataSlotEXT && rhs ) VULKAN_HPP_NOEXCEPT 7199 : m_privateDataSlotEXT( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_privateDataSlotEXT, 7200 {} ) ) 7201 , m_device( rhs.m_device ) 7202 , m_allocator( rhs.m_allocator ) 7203 , m_dispatcher( rhs.m_dispatcher ) 7204 {} 7205 PrivateDataSlotEXT & operator=( PrivateDataSlotEXT const & ) = delete; operator =(PrivateDataSlotEXT && rhs)7206 PrivateDataSlotEXT & operator =( PrivateDataSlotEXT && rhs ) VULKAN_HPP_NOEXCEPT 7207 { 7208 if ( this != &rhs ) 7209 { 7210 if ( m_privateDataSlotEXT ) 7211 { 7212 getDispatcher()->vkDestroyPrivateDataSlotEXT( 7213 m_device, static_cast<VkPrivateDataSlotEXT>( m_privateDataSlotEXT ), m_allocator ); 7214 } 7215 m_privateDataSlotEXT = 7216 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_privateDataSlotEXT, {} ); 7217 m_device = rhs.m_device; 7218 m_allocator = rhs.m_allocator; 7219 m_dispatcher = rhs.m_dispatcher; 7220 } 7221 return *this; 7222 } 7223 operator *() const7224 VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT const & operator*() const VULKAN_HPP_NOEXCEPT 7225 { 7226 return m_privateDataSlotEXT; 7227 } 7228 getDispatcher() const7229 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 7230 { 7231 return m_dispatcher; 7232 } 7233 7234 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const7235 explicit operator bool() const VULKAN_HPP_NOEXCEPT 7236 { 7237 return m_privateDataSlotEXT.operator bool(); 7238 } 7239 operator !() const7240 bool operator!() const VULKAN_HPP_NOEXCEPT 7241 { 7242 return m_privateDataSlotEXT.operator!(); 7243 } 7244 # endif 7245 7246 private: 7247 VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT m_privateDataSlotEXT; 7248 VkDevice m_device; 7249 const VkAllocationCallbacks * m_allocator; 7250 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 7251 }; 7252 7253 class QueryPool 7254 { 7255 public: 7256 using CType = VkQueryPool; 7257 7258 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 7259 VULKAN_HPP_NAMESPACE::ObjectType::eQueryPool; 7260 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 7261 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eQueryPool; 7262 7263 public: QueryPool(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)7264 QueryPool( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 7265 VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo const & createInfo, 7266 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 7267 : m_device( *device ) 7268 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 7269 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 7270 , m_dispatcher( device.getDispatcher() ) 7271 { 7272 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 7273 getDispatcher()->vkCreateQueryPool( static_cast<VkDevice>( *device ), 7274 reinterpret_cast<const VkQueryPoolCreateInfo *>( &createInfo ), 7275 m_allocator, 7276 reinterpret_cast<VkQueryPool *>( &m_queryPool ) ) ); 7277 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 7278 { 7279 throwResultException( result, "vkCreateQueryPool" ); 7280 } 7281 } 7282 QueryPool(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkQueryPool queryPool,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)7283 QueryPool( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 7284 VkQueryPool queryPool, 7285 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 7286 : m_queryPool( queryPool ) 7287 , m_device( *device ) 7288 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 7289 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 7290 , m_dispatcher( device.getDispatcher() ) 7291 {} 7292 ~QueryPool()7293 ~QueryPool() 7294 { 7295 if ( m_queryPool ) 7296 { 7297 getDispatcher()->vkDestroyQueryPool( m_device, static_cast<VkQueryPool>( m_queryPool ), m_allocator ); 7298 } 7299 } 7300 7301 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 7302 QueryPool() = default; 7303 # else 7304 QueryPool() = delete; 7305 # endif 7306 QueryPool( QueryPool const & ) = delete; QueryPool(QueryPool && rhs)7307 QueryPool( QueryPool && rhs ) VULKAN_HPP_NOEXCEPT 7308 : m_queryPool( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_queryPool, {} ) ) 7309 , m_device( rhs.m_device ) 7310 , m_allocator( rhs.m_allocator ) 7311 , m_dispatcher( rhs.m_dispatcher ) 7312 {} 7313 QueryPool & operator=( QueryPool const & ) = delete; operator =(QueryPool && rhs)7314 QueryPool & operator =( QueryPool && rhs ) VULKAN_HPP_NOEXCEPT 7315 { 7316 if ( this != &rhs ) 7317 { 7318 if ( m_queryPool ) 7319 { 7320 getDispatcher()->vkDestroyQueryPool( m_device, static_cast<VkQueryPool>( m_queryPool ), m_allocator ); 7321 } 7322 m_queryPool = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_queryPool, {} ); 7323 m_device = rhs.m_device; 7324 m_allocator = rhs.m_allocator; 7325 m_dispatcher = rhs.m_dispatcher; 7326 } 7327 return *this; 7328 } 7329 operator *() const7330 VULKAN_HPP_NAMESPACE::QueryPool const & operator*() const VULKAN_HPP_NOEXCEPT 7331 { 7332 return m_queryPool; 7333 } 7334 getDispatcher() const7335 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 7336 { 7337 return m_dispatcher; 7338 } 7339 7340 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const7341 explicit operator bool() const VULKAN_HPP_NOEXCEPT 7342 { 7343 return m_queryPool.operator bool(); 7344 } 7345 operator !() const7346 bool operator!() const VULKAN_HPP_NOEXCEPT 7347 { 7348 return m_queryPool.operator!(); 7349 } 7350 # endif 7351 7352 //=== VK_VERSION_1_0 === 7353 7354 template <typename T> 7355 VULKAN_HPP_NODISCARD std::pair<VULKAN_HPP_NAMESPACE::Result, std::vector<T>> 7356 getResults( uint32_t firstQuery, 7357 uint32_t queryCount, 7358 size_t dataSize, 7359 VULKAN_HPP_NAMESPACE::DeviceSize stride, 7360 VULKAN_HPP_NAMESPACE::QueryResultFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT ) const; 7361 7362 template <typename T> 7363 VULKAN_HPP_NODISCARD std::pair<VULKAN_HPP_NAMESPACE::Result, T> 7364 getResult( uint32_t firstQuery, 7365 uint32_t queryCount, 7366 VULKAN_HPP_NAMESPACE::DeviceSize stride, 7367 VULKAN_HPP_NAMESPACE::QueryResultFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT ) const; 7368 7369 //=== VK_VERSION_1_2 === 7370 7371 void reset( uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT; 7372 7373 //=== VK_EXT_host_query_reset === 7374 7375 void resetEXT( uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT; 7376 7377 private: 7378 VULKAN_HPP_NAMESPACE::QueryPool m_queryPool; 7379 VkDevice m_device; 7380 const VkAllocationCallbacks * m_allocator; 7381 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 7382 }; 7383 7384 class Queue 7385 { 7386 public: 7387 using CType = VkQueue; 7388 7389 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 7390 VULKAN_HPP_NAMESPACE::ObjectType::eQueue; 7391 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 7392 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eQueue; 7393 7394 public: Queue(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,uint32_t queueFamilyIndex,uint32_t queueIndex)7395 Queue( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 7396 uint32_t queueFamilyIndex, 7397 uint32_t queueIndex ) 7398 : m_dispatcher( device.getDispatcher() ) 7399 { 7400 getDispatcher()->vkGetDeviceQueue( 7401 static_cast<VkDevice>( *device ), queueFamilyIndex, queueIndex, reinterpret_cast<VkQueue *>( &m_queue ) ); 7402 } 7403 Queue(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::DeviceQueueInfo2 const & queueInfo)7404 Queue( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 7405 VULKAN_HPP_NAMESPACE::DeviceQueueInfo2 const & queueInfo ) 7406 : m_dispatcher( device.getDispatcher() ) 7407 { 7408 getDispatcher()->vkGetDeviceQueue2( static_cast<VkDevice>( *device ), 7409 reinterpret_cast<const VkDeviceQueueInfo2 *>( &queueInfo ), 7410 reinterpret_cast<VkQueue *>( &m_queue ) ); 7411 } 7412 Queue(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkQueue queue)7413 Queue( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkQueue queue ) 7414 : m_queue( queue ), m_dispatcher( device.getDispatcher() ) 7415 {} 7416 7417 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 7418 Queue() = default; 7419 # else 7420 Queue() = delete; 7421 # endif 7422 Queue( Queue const & ) = delete; Queue(Queue && rhs)7423 Queue( Queue && rhs ) VULKAN_HPP_NOEXCEPT 7424 : m_queue( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_queue, {} ) ) 7425 , m_dispatcher( rhs.m_dispatcher ) 7426 {} 7427 Queue & operator=( Queue const & ) = delete; operator =(Queue && rhs)7428 Queue & operator =( Queue && rhs ) VULKAN_HPP_NOEXCEPT 7429 { 7430 if ( this != &rhs ) 7431 { 7432 m_queue = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_queue, {} ); 7433 m_dispatcher = rhs.m_dispatcher; 7434 } 7435 return *this; 7436 } 7437 operator *() const7438 VULKAN_HPP_NAMESPACE::Queue const & operator*() const VULKAN_HPP_NOEXCEPT 7439 { 7440 return m_queue; 7441 } 7442 getDispatcher() const7443 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 7444 { 7445 return m_dispatcher; 7446 } 7447 7448 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const7449 explicit operator bool() const VULKAN_HPP_NOEXCEPT 7450 { 7451 return m_queue.operator bool(); 7452 } 7453 operator !() const7454 bool operator!() const VULKAN_HPP_NOEXCEPT 7455 { 7456 return m_queue.operator!(); 7457 } 7458 # endif 7459 7460 //=== VK_VERSION_1_0 === 7461 7462 void submit( ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo> const & submits, 7463 VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT ) const; 7464 7465 void waitIdle() const; 7466 7467 void bindSparse( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindSparseInfo> const & bindInfo, 7468 VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT ) const; 7469 7470 //=== VK_KHR_swapchain === 7471 7472 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result presentKHR( const PresentInfoKHR & presentInfo ) const; 7473 7474 //=== VK_EXT_debug_utils === 7475 7476 void beginDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo ) const VULKAN_HPP_NOEXCEPT; 7477 7478 void endDebugUtilsLabelEXT() const VULKAN_HPP_NOEXCEPT; 7479 7480 void insertDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo ) const VULKAN_HPP_NOEXCEPT; 7481 7482 //=== VK_NV_device_diagnostic_checkpoints === 7483 7484 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::CheckpointDataNV> 7485 getCheckpointDataNV() const VULKAN_HPP_NOEXCEPT; 7486 7487 //=== VK_INTEL_performance_query === 7488 7489 void setPerformanceConfigurationINTEL( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration ) const; 7490 7491 //=== VK_KHR_synchronization2 === 7492 7493 void submit2KHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo2KHR> const & submits, 7494 VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT ) const; 7495 7496 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::CheckpointData2NV> 7497 getCheckpointData2NV() const VULKAN_HPP_NOEXCEPT; 7498 7499 private: 7500 VULKAN_HPP_NAMESPACE::Queue m_queue; 7501 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 7502 }; 7503 7504 class RenderPass 7505 { 7506 public: 7507 using CType = VkRenderPass; 7508 7509 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 7510 VULKAN_HPP_NAMESPACE::ObjectType::eRenderPass; 7511 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 7512 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eRenderPass; 7513 7514 public: RenderPass(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::RenderPassCreateInfo const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)7515 RenderPass( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 7516 VULKAN_HPP_NAMESPACE::RenderPassCreateInfo const & createInfo, 7517 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 7518 : m_device( *device ) 7519 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 7520 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 7521 , m_dispatcher( device.getDispatcher() ) 7522 { 7523 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 7524 getDispatcher()->vkCreateRenderPass( static_cast<VkDevice>( *device ), 7525 reinterpret_cast<const VkRenderPassCreateInfo *>( &createInfo ), 7526 m_allocator, 7527 reinterpret_cast<VkRenderPass *>( &m_renderPass ) ) ); 7528 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 7529 { 7530 throwResultException( result, "vkCreateRenderPass" ); 7531 } 7532 } 7533 RenderPass(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)7534 RenderPass( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 7535 VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 const & createInfo, 7536 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 7537 : m_device( *device ) 7538 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 7539 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 7540 , m_dispatcher( device.getDispatcher() ) 7541 { 7542 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 7543 getDispatcher()->vkCreateRenderPass2( static_cast<VkDevice>( *device ), 7544 reinterpret_cast<const VkRenderPassCreateInfo2 *>( &createInfo ), 7545 m_allocator, 7546 reinterpret_cast<VkRenderPass *>( &m_renderPass ) ) ); 7547 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 7548 { 7549 throwResultException( result, "vkCreateRenderPass2" ); 7550 } 7551 } 7552 RenderPass(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkRenderPass renderPass,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)7553 RenderPass( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 7554 VkRenderPass renderPass, 7555 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 7556 : m_renderPass( renderPass ) 7557 , m_device( *device ) 7558 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 7559 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 7560 , m_dispatcher( device.getDispatcher() ) 7561 {} 7562 ~RenderPass()7563 ~RenderPass() 7564 { 7565 if ( m_renderPass ) 7566 { 7567 getDispatcher()->vkDestroyRenderPass( m_device, static_cast<VkRenderPass>( m_renderPass ), m_allocator ); 7568 } 7569 } 7570 7571 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 7572 RenderPass() = default; 7573 # else 7574 RenderPass() = delete; 7575 # endif 7576 RenderPass( RenderPass const & ) = delete; RenderPass(RenderPass && rhs)7577 RenderPass( RenderPass && rhs ) VULKAN_HPP_NOEXCEPT 7578 : m_renderPass( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_renderPass, {} ) ) 7579 , m_device( rhs.m_device ) 7580 , m_allocator( rhs.m_allocator ) 7581 , m_dispatcher( rhs.m_dispatcher ) 7582 {} 7583 RenderPass & operator=( RenderPass const & ) = delete; operator =(RenderPass && rhs)7584 RenderPass & operator =( RenderPass && rhs ) VULKAN_HPP_NOEXCEPT 7585 { 7586 if ( this != &rhs ) 7587 { 7588 if ( m_renderPass ) 7589 { 7590 getDispatcher()->vkDestroyRenderPass( m_device, static_cast<VkRenderPass>( m_renderPass ), m_allocator ); 7591 } 7592 m_renderPass = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_renderPass, {} ); 7593 m_device = rhs.m_device; 7594 m_allocator = rhs.m_allocator; 7595 m_dispatcher = rhs.m_dispatcher; 7596 } 7597 return *this; 7598 } 7599 operator *() const7600 VULKAN_HPP_NAMESPACE::RenderPass const & operator*() const VULKAN_HPP_NOEXCEPT 7601 { 7602 return m_renderPass; 7603 } 7604 getDispatcher() const7605 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 7606 { 7607 return m_dispatcher; 7608 } 7609 7610 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const7611 explicit operator bool() const VULKAN_HPP_NOEXCEPT 7612 { 7613 return m_renderPass.operator bool(); 7614 } 7615 operator !() const7616 bool operator!() const VULKAN_HPP_NOEXCEPT 7617 { 7618 return m_renderPass.operator!(); 7619 } 7620 # endif 7621 7622 //=== VK_VERSION_1_0 === 7623 7624 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Extent2D getRenderAreaGranularity() const VULKAN_HPP_NOEXCEPT; 7625 7626 //=== VK_HUAWEI_subpass_shading === 7627 7628 VULKAN_HPP_NODISCARD std::pair<VULKAN_HPP_NAMESPACE::Result, VULKAN_HPP_NAMESPACE::Extent2D> 7629 getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI() const; 7630 7631 private: 7632 VULKAN_HPP_NAMESPACE::RenderPass m_renderPass; 7633 VkDevice m_device; 7634 const VkAllocationCallbacks * m_allocator; 7635 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 7636 }; 7637 7638 class Sampler 7639 { 7640 public: 7641 using CType = VkSampler; 7642 7643 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 7644 VULKAN_HPP_NAMESPACE::ObjectType::eSampler; 7645 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 7646 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSampler; 7647 7648 public: Sampler(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::SamplerCreateInfo const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)7649 Sampler( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 7650 VULKAN_HPP_NAMESPACE::SamplerCreateInfo const & createInfo, 7651 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 7652 : m_device( *device ) 7653 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 7654 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 7655 , m_dispatcher( device.getDispatcher() ) 7656 { 7657 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 7658 getDispatcher()->vkCreateSampler( static_cast<VkDevice>( *device ), 7659 reinterpret_cast<const VkSamplerCreateInfo *>( &createInfo ), 7660 m_allocator, 7661 reinterpret_cast<VkSampler *>( &m_sampler ) ) ); 7662 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 7663 { 7664 throwResultException( result, "vkCreateSampler" ); 7665 } 7666 } 7667 Sampler(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkSampler sampler,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)7668 Sampler( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 7669 VkSampler sampler, 7670 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 7671 : m_sampler( sampler ) 7672 , m_device( *device ) 7673 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 7674 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 7675 , m_dispatcher( device.getDispatcher() ) 7676 {} 7677 ~Sampler()7678 ~Sampler() 7679 { 7680 if ( m_sampler ) 7681 { 7682 getDispatcher()->vkDestroySampler( m_device, static_cast<VkSampler>( m_sampler ), m_allocator ); 7683 } 7684 } 7685 7686 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 7687 Sampler() = default; 7688 # else 7689 Sampler() = delete; 7690 # endif 7691 Sampler( Sampler const & ) = delete; Sampler(Sampler && rhs)7692 Sampler( Sampler && rhs ) VULKAN_HPP_NOEXCEPT 7693 : m_sampler( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_sampler, {} ) ) 7694 , m_device( rhs.m_device ) 7695 , m_allocator( rhs.m_allocator ) 7696 , m_dispatcher( rhs.m_dispatcher ) 7697 {} 7698 Sampler & operator=( Sampler const & ) = delete; operator =(Sampler && rhs)7699 Sampler & operator =( Sampler && rhs ) VULKAN_HPP_NOEXCEPT 7700 { 7701 if ( this != &rhs ) 7702 { 7703 if ( m_sampler ) 7704 { 7705 getDispatcher()->vkDestroySampler( m_device, static_cast<VkSampler>( m_sampler ), m_allocator ); 7706 } 7707 m_sampler = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_sampler, {} ); 7708 m_device = rhs.m_device; 7709 m_allocator = rhs.m_allocator; 7710 m_dispatcher = rhs.m_dispatcher; 7711 } 7712 return *this; 7713 } 7714 operator *() const7715 VULKAN_HPP_NAMESPACE::Sampler const & operator*() const VULKAN_HPP_NOEXCEPT 7716 { 7717 return m_sampler; 7718 } 7719 getDispatcher() const7720 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 7721 { 7722 return m_dispatcher; 7723 } 7724 7725 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const7726 explicit operator bool() const VULKAN_HPP_NOEXCEPT 7727 { 7728 return m_sampler.operator bool(); 7729 } 7730 operator !() const7731 bool operator!() const VULKAN_HPP_NOEXCEPT 7732 { 7733 return m_sampler.operator!(); 7734 } 7735 # endif 7736 7737 private: 7738 VULKAN_HPP_NAMESPACE::Sampler m_sampler; 7739 VkDevice m_device; 7740 const VkAllocationCallbacks * m_allocator; 7741 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 7742 }; 7743 7744 class SamplerYcbcrConversion 7745 { 7746 public: 7747 using CType = VkSamplerYcbcrConversion; 7748 7749 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 7750 VULKAN_HPP_NAMESPACE::ObjectType::eSamplerYcbcrConversion; 7751 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 7752 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSamplerYcbcrConversion; 7753 7754 public: SamplerYcbcrConversion(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)7755 SamplerYcbcrConversion( 7756 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 7757 VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo const & createInfo, 7758 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 7759 : m_device( *device ) 7760 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 7761 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 7762 , m_dispatcher( device.getDispatcher() ) 7763 { 7764 VULKAN_HPP_NAMESPACE::Result result = 7765 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateSamplerYcbcrConversion( 7766 static_cast<VkDevice>( *device ), 7767 reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo *>( &createInfo ), 7768 m_allocator, 7769 reinterpret_cast<VkSamplerYcbcrConversion *>( &m_samplerYcbcrConversion ) ) ); 7770 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 7771 { 7772 throwResultException( result, "vkCreateSamplerYcbcrConversion" ); 7773 } 7774 } 7775 SamplerYcbcrConversion(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkSamplerYcbcrConversion samplerYcbcrConversion,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)7776 SamplerYcbcrConversion( 7777 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 7778 VkSamplerYcbcrConversion samplerYcbcrConversion, 7779 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 7780 : m_samplerYcbcrConversion( samplerYcbcrConversion ) 7781 , m_device( *device ) 7782 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 7783 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 7784 , m_dispatcher( device.getDispatcher() ) 7785 {} 7786 ~SamplerYcbcrConversion()7787 ~SamplerYcbcrConversion() 7788 { 7789 if ( m_samplerYcbcrConversion ) 7790 { 7791 getDispatcher()->vkDestroySamplerYcbcrConversion( 7792 m_device, static_cast<VkSamplerYcbcrConversion>( m_samplerYcbcrConversion ), m_allocator ); 7793 } 7794 } 7795 7796 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 7797 SamplerYcbcrConversion() = default; 7798 # else 7799 SamplerYcbcrConversion() = delete; 7800 # endif 7801 SamplerYcbcrConversion( SamplerYcbcrConversion const & ) = delete; SamplerYcbcrConversion(SamplerYcbcrConversion && rhs)7802 SamplerYcbcrConversion( SamplerYcbcrConversion && rhs ) VULKAN_HPP_NOEXCEPT 7803 : m_samplerYcbcrConversion( 7804 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_samplerYcbcrConversion, {} ) ) 7805 , m_device( rhs.m_device ) 7806 , m_allocator( rhs.m_allocator ) 7807 , m_dispatcher( rhs.m_dispatcher ) 7808 {} 7809 SamplerYcbcrConversion & operator=( SamplerYcbcrConversion const & ) = delete; operator =(SamplerYcbcrConversion && rhs)7810 SamplerYcbcrConversion & operator=( SamplerYcbcrConversion && rhs ) VULKAN_HPP_NOEXCEPT 7811 { 7812 if ( this != &rhs ) 7813 { 7814 if ( m_samplerYcbcrConversion ) 7815 { 7816 getDispatcher()->vkDestroySamplerYcbcrConversion( 7817 m_device, static_cast<VkSamplerYcbcrConversion>( m_samplerYcbcrConversion ), m_allocator ); 7818 } 7819 m_samplerYcbcrConversion = 7820 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_samplerYcbcrConversion, {} ); 7821 m_device = rhs.m_device; 7822 m_allocator = rhs.m_allocator; 7823 m_dispatcher = rhs.m_dispatcher; 7824 } 7825 return *this; 7826 } 7827 operator *() const7828 VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion const & operator*() const VULKAN_HPP_NOEXCEPT 7829 { 7830 return m_samplerYcbcrConversion; 7831 } 7832 getDispatcher() const7833 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 7834 { 7835 return m_dispatcher; 7836 } 7837 7838 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const7839 explicit operator bool() const VULKAN_HPP_NOEXCEPT 7840 { 7841 return m_samplerYcbcrConversion.operator bool(); 7842 } 7843 operator !() const7844 bool operator!() const VULKAN_HPP_NOEXCEPT 7845 { 7846 return m_samplerYcbcrConversion.operator!(); 7847 } 7848 # endif 7849 7850 private: 7851 VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion m_samplerYcbcrConversion; 7852 VkDevice m_device; 7853 const VkAllocationCallbacks * m_allocator; 7854 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 7855 }; 7856 7857 class Semaphore 7858 { 7859 public: 7860 using CType = VkSemaphore; 7861 7862 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 7863 VULKAN_HPP_NAMESPACE::ObjectType::eSemaphore; 7864 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 7865 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSemaphore; 7866 7867 public: Semaphore(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)7868 Semaphore( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 7869 VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo const & createInfo, 7870 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 7871 : m_device( *device ) 7872 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 7873 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 7874 , m_dispatcher( device.getDispatcher() ) 7875 { 7876 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 7877 getDispatcher()->vkCreateSemaphore( static_cast<VkDevice>( *device ), 7878 reinterpret_cast<const VkSemaphoreCreateInfo *>( &createInfo ), 7879 m_allocator, 7880 reinterpret_cast<VkSemaphore *>( &m_semaphore ) ) ); 7881 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 7882 { 7883 throwResultException( result, "vkCreateSemaphore" ); 7884 } 7885 } 7886 Semaphore(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkSemaphore semaphore,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)7887 Semaphore( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 7888 VkSemaphore semaphore, 7889 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 7890 : m_semaphore( semaphore ) 7891 , m_device( *device ) 7892 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 7893 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 7894 , m_dispatcher( device.getDispatcher() ) 7895 {} 7896 ~Semaphore()7897 ~Semaphore() 7898 { 7899 if ( m_semaphore ) 7900 { 7901 getDispatcher()->vkDestroySemaphore( m_device, static_cast<VkSemaphore>( m_semaphore ), m_allocator ); 7902 } 7903 } 7904 7905 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 7906 Semaphore() = default; 7907 # else 7908 Semaphore() = delete; 7909 # endif 7910 Semaphore( Semaphore const & ) = delete; Semaphore(Semaphore && rhs)7911 Semaphore( Semaphore && rhs ) VULKAN_HPP_NOEXCEPT 7912 : m_semaphore( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_semaphore, {} ) ) 7913 , m_device( rhs.m_device ) 7914 , m_allocator( rhs.m_allocator ) 7915 , m_dispatcher( rhs.m_dispatcher ) 7916 {} 7917 Semaphore & operator=( Semaphore const & ) = delete; operator =(Semaphore && rhs)7918 Semaphore & operator =( Semaphore && rhs ) VULKAN_HPP_NOEXCEPT 7919 { 7920 if ( this != &rhs ) 7921 { 7922 if ( m_semaphore ) 7923 { 7924 getDispatcher()->vkDestroySemaphore( m_device, static_cast<VkSemaphore>( m_semaphore ), m_allocator ); 7925 } 7926 m_semaphore = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_semaphore, {} ); 7927 m_device = rhs.m_device; 7928 m_allocator = rhs.m_allocator; 7929 m_dispatcher = rhs.m_dispatcher; 7930 } 7931 return *this; 7932 } 7933 operator *() const7934 VULKAN_HPP_NAMESPACE::Semaphore const & operator*() const VULKAN_HPP_NOEXCEPT 7935 { 7936 return m_semaphore; 7937 } 7938 getDispatcher() const7939 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 7940 { 7941 return m_dispatcher; 7942 } 7943 7944 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const7945 explicit operator bool() const VULKAN_HPP_NOEXCEPT 7946 { 7947 return m_semaphore.operator bool(); 7948 } 7949 operator !() const7950 bool operator!() const VULKAN_HPP_NOEXCEPT 7951 { 7952 return m_semaphore.operator!(); 7953 } 7954 # endif 7955 7956 //=== VK_VERSION_1_2 === 7957 7958 VULKAN_HPP_NODISCARD uint64_t getCounterValue() const; 7959 7960 //=== VK_KHR_timeline_semaphore === 7961 7962 VULKAN_HPP_NODISCARD uint64_t getCounterValueKHR() const; 7963 7964 private: 7965 VULKAN_HPP_NAMESPACE::Semaphore m_semaphore; 7966 VkDevice m_device; 7967 const VkAllocationCallbacks * m_allocator; 7968 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 7969 }; 7970 7971 class ShaderModule 7972 { 7973 public: 7974 using CType = VkShaderModule; 7975 7976 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 7977 VULKAN_HPP_NAMESPACE::ObjectType::eShaderModule; 7978 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 7979 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eShaderModule; 7980 7981 public: ShaderModule(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)7982 ShaderModule( 7983 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 7984 VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo const & createInfo, 7985 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 7986 : m_device( *device ) 7987 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 7988 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 7989 , m_dispatcher( device.getDispatcher() ) 7990 { 7991 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 7992 getDispatcher()->vkCreateShaderModule( static_cast<VkDevice>( *device ), 7993 reinterpret_cast<const VkShaderModuleCreateInfo *>( &createInfo ), 7994 m_allocator, 7995 reinterpret_cast<VkShaderModule *>( &m_shaderModule ) ) ); 7996 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 7997 { 7998 throwResultException( result, "vkCreateShaderModule" ); 7999 } 8000 } 8001 ShaderModule(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkShaderModule shaderModule,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)8002 ShaderModule( 8003 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 8004 VkShaderModule shaderModule, 8005 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 8006 : m_shaderModule( shaderModule ) 8007 , m_device( *device ) 8008 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 8009 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 8010 , m_dispatcher( device.getDispatcher() ) 8011 {} 8012 ~ShaderModule()8013 ~ShaderModule() 8014 { 8015 if ( m_shaderModule ) 8016 { 8017 getDispatcher()->vkDestroyShaderModule( 8018 m_device, static_cast<VkShaderModule>( m_shaderModule ), m_allocator ); 8019 } 8020 } 8021 8022 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 8023 ShaderModule() = default; 8024 # else 8025 ShaderModule() = delete; 8026 # endif 8027 ShaderModule( ShaderModule const & ) = delete; ShaderModule(ShaderModule && rhs)8028 ShaderModule( ShaderModule && rhs ) VULKAN_HPP_NOEXCEPT 8029 : m_shaderModule( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_shaderModule, {} ) ) 8030 , m_device( rhs.m_device ) 8031 , m_allocator( rhs.m_allocator ) 8032 , m_dispatcher( rhs.m_dispatcher ) 8033 {} 8034 ShaderModule & operator=( ShaderModule const & ) = delete; operator =(ShaderModule && rhs)8035 ShaderModule & operator =( ShaderModule && rhs ) VULKAN_HPP_NOEXCEPT 8036 { 8037 if ( this != &rhs ) 8038 { 8039 if ( m_shaderModule ) 8040 { 8041 getDispatcher()->vkDestroyShaderModule( 8042 m_device, static_cast<VkShaderModule>( m_shaderModule ), m_allocator ); 8043 } 8044 m_shaderModule = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_shaderModule, {} ); 8045 m_device = rhs.m_device; 8046 m_allocator = rhs.m_allocator; 8047 m_dispatcher = rhs.m_dispatcher; 8048 } 8049 return *this; 8050 } 8051 operator *() const8052 VULKAN_HPP_NAMESPACE::ShaderModule const & operator*() const VULKAN_HPP_NOEXCEPT 8053 { 8054 return m_shaderModule; 8055 } 8056 getDispatcher() const8057 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 8058 { 8059 return m_dispatcher; 8060 } 8061 8062 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const8063 explicit operator bool() const VULKAN_HPP_NOEXCEPT 8064 { 8065 return m_shaderModule.operator bool(); 8066 } 8067 operator !() const8068 bool operator!() const VULKAN_HPP_NOEXCEPT 8069 { 8070 return m_shaderModule.operator!(); 8071 } 8072 # endif 8073 8074 private: 8075 VULKAN_HPP_NAMESPACE::ShaderModule m_shaderModule; 8076 VkDevice m_device; 8077 const VkAllocationCallbacks * m_allocator; 8078 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 8079 }; 8080 8081 class SurfaceKHR 8082 { 8083 public: 8084 using CType = VkSurfaceKHR; 8085 8086 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 8087 VULKAN_HPP_NAMESPACE::ObjectType::eSurfaceKHR; 8088 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 8089 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSurfaceKHR; 8090 8091 public: 8092 # if defined( VK_USE_PLATFORM_ANDROID_KHR ) SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)8093 SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, 8094 VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR const & createInfo, 8095 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 8096 : m_instance( *instance ) 8097 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 8098 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 8099 , m_dispatcher( instance.getDispatcher() ) 8100 { 8101 VULKAN_HPP_NAMESPACE::Result result = 8102 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateAndroidSurfaceKHR( 8103 static_cast<VkInstance>( *instance ), 8104 reinterpret_cast<const VkAndroidSurfaceCreateInfoKHR *>( &createInfo ), 8105 m_allocator, 8106 reinterpret_cast<VkSurfaceKHR *>( &m_surfaceKHR ) ) ); 8107 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 8108 { 8109 throwResultException( result, "vkCreateAndroidSurfaceKHR" ); 8110 } 8111 } 8112 # endif /*VK_USE_PLATFORM_ANDROID_KHR*/ 8113 8114 # if defined( VK_USE_PLATFORM_DIRECTFB_EXT ) SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)8115 SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, 8116 VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT const & createInfo, 8117 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 8118 : m_instance( *instance ) 8119 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 8120 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 8121 , m_dispatcher( instance.getDispatcher() ) 8122 { 8123 VULKAN_HPP_NAMESPACE::Result result = 8124 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateDirectFBSurfaceEXT( 8125 static_cast<VkInstance>( *instance ), 8126 reinterpret_cast<const VkDirectFBSurfaceCreateInfoEXT *>( &createInfo ), 8127 m_allocator, 8128 reinterpret_cast<VkSurfaceKHR *>( &m_surfaceKHR ) ) ); 8129 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 8130 { 8131 throwResultException( result, "vkCreateDirectFBSurfaceEXT" ); 8132 } 8133 } 8134 # endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/ 8135 SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)8136 SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, 8137 VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR const & createInfo, 8138 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 8139 : m_instance( *instance ) 8140 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 8141 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 8142 , m_dispatcher( instance.getDispatcher() ) 8143 { 8144 VULKAN_HPP_NAMESPACE::Result result = 8145 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateDisplayPlaneSurfaceKHR( 8146 static_cast<VkInstance>( *instance ), 8147 reinterpret_cast<const VkDisplaySurfaceCreateInfoKHR *>( &createInfo ), 8148 m_allocator, 8149 reinterpret_cast<VkSurfaceKHR *>( &m_surfaceKHR ) ) ); 8150 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 8151 { 8152 throwResultException( result, "vkCreateDisplayPlaneSurfaceKHR" ); 8153 } 8154 } 8155 SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)8156 SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, 8157 VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT const & createInfo, 8158 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 8159 : m_instance( *instance ) 8160 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 8161 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 8162 , m_dispatcher( instance.getDispatcher() ) 8163 { 8164 VULKAN_HPP_NAMESPACE::Result result = 8165 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateHeadlessSurfaceEXT( 8166 static_cast<VkInstance>( *instance ), 8167 reinterpret_cast<const VkHeadlessSurfaceCreateInfoEXT *>( &createInfo ), 8168 m_allocator, 8169 reinterpret_cast<VkSurfaceKHR *>( &m_surfaceKHR ) ) ); 8170 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 8171 { 8172 throwResultException( result, "vkCreateHeadlessSurfaceEXT" ); 8173 } 8174 } 8175 8176 # if defined( VK_USE_PLATFORM_IOS_MVK ) SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)8177 SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, 8178 VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK const & createInfo, 8179 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 8180 : m_instance( *instance ) 8181 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 8182 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 8183 , m_dispatcher( instance.getDispatcher() ) 8184 { 8185 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 8186 getDispatcher()->vkCreateIOSSurfaceMVK( static_cast<VkInstance>( *instance ), 8187 reinterpret_cast<const VkIOSSurfaceCreateInfoMVK *>( &createInfo ), 8188 m_allocator, 8189 reinterpret_cast<VkSurfaceKHR *>( &m_surfaceKHR ) ) ); 8190 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 8191 { 8192 throwResultException( result, "vkCreateIOSSurfaceMVK" ); 8193 } 8194 } 8195 # endif /*VK_USE_PLATFORM_IOS_MVK*/ 8196 8197 # if defined( VK_USE_PLATFORM_FUCHSIA ) SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)8198 SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, 8199 VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA const & createInfo, 8200 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 8201 : m_instance( *instance ) 8202 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 8203 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 8204 , m_dispatcher( instance.getDispatcher() ) 8205 { 8206 VULKAN_HPP_NAMESPACE::Result result = 8207 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateImagePipeSurfaceFUCHSIA( 8208 static_cast<VkInstance>( *instance ), 8209 reinterpret_cast<const VkImagePipeSurfaceCreateInfoFUCHSIA *>( &createInfo ), 8210 m_allocator, 8211 reinterpret_cast<VkSurfaceKHR *>( &m_surfaceKHR ) ) ); 8212 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 8213 { 8214 throwResultException( result, "vkCreateImagePipeSurfaceFUCHSIA" ); 8215 } 8216 } 8217 # endif /*VK_USE_PLATFORM_FUCHSIA*/ 8218 8219 # if defined( VK_USE_PLATFORM_MACOS_MVK ) SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)8220 SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, 8221 VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK const & createInfo, 8222 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 8223 : m_instance( *instance ) 8224 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 8225 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 8226 , m_dispatcher( instance.getDispatcher() ) 8227 { 8228 VULKAN_HPP_NAMESPACE::Result result = 8229 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateMacOSSurfaceMVK( 8230 static_cast<VkInstance>( *instance ), 8231 reinterpret_cast<const VkMacOSSurfaceCreateInfoMVK *>( &createInfo ), 8232 m_allocator, 8233 reinterpret_cast<VkSurfaceKHR *>( &m_surfaceKHR ) ) ); 8234 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 8235 { 8236 throwResultException( result, "vkCreateMacOSSurfaceMVK" ); 8237 } 8238 } 8239 # endif /*VK_USE_PLATFORM_MACOS_MVK*/ 8240 8241 # if defined( VK_USE_PLATFORM_METAL_EXT ) SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)8242 SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, 8243 VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT const & createInfo, 8244 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 8245 : m_instance( *instance ) 8246 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 8247 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 8248 , m_dispatcher( instance.getDispatcher() ) 8249 { 8250 VULKAN_HPP_NAMESPACE::Result result = 8251 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateMetalSurfaceEXT( 8252 static_cast<VkInstance>( *instance ), 8253 reinterpret_cast<const VkMetalSurfaceCreateInfoEXT *>( &createInfo ), 8254 m_allocator, 8255 reinterpret_cast<VkSurfaceKHR *>( &m_surfaceKHR ) ) ); 8256 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 8257 { 8258 throwResultException( result, "vkCreateMetalSurfaceEXT" ); 8259 } 8260 } 8261 # endif /*VK_USE_PLATFORM_METAL_EXT*/ 8262 8263 # if defined( VK_USE_PLATFORM_SCREEN_QNX ) SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateInfoQNX const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)8264 SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, 8265 VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateInfoQNX const & createInfo, 8266 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 8267 : m_instance( *instance ) 8268 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 8269 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 8270 , m_dispatcher( instance.getDispatcher() ) 8271 { 8272 VULKAN_HPP_NAMESPACE::Result result = 8273 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateScreenSurfaceQNX( 8274 static_cast<VkInstance>( *instance ), 8275 reinterpret_cast<const VkScreenSurfaceCreateInfoQNX *>( &createInfo ), 8276 m_allocator, 8277 reinterpret_cast<VkSurfaceKHR *>( &m_surfaceKHR ) ) ); 8278 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 8279 { 8280 throwResultException( result, "vkCreateScreenSurfaceQNX" ); 8281 } 8282 } 8283 # endif /*VK_USE_PLATFORM_SCREEN_QNX*/ 8284 8285 # if defined( VK_USE_PLATFORM_GGP ) SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)8286 SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, 8287 VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP const & createInfo, 8288 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 8289 : m_instance( *instance ) 8290 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 8291 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 8292 , m_dispatcher( instance.getDispatcher() ) 8293 { 8294 VULKAN_HPP_NAMESPACE::Result result = 8295 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateStreamDescriptorSurfaceGGP( 8296 static_cast<VkInstance>( *instance ), 8297 reinterpret_cast<const VkStreamDescriptorSurfaceCreateInfoGGP *>( &createInfo ), 8298 m_allocator, 8299 reinterpret_cast<VkSurfaceKHR *>( &m_surfaceKHR ) ) ); 8300 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 8301 { 8302 throwResultException( result, "vkCreateStreamDescriptorSurfaceGGP" ); 8303 } 8304 } 8305 # endif /*VK_USE_PLATFORM_GGP*/ 8306 8307 # if defined( VK_USE_PLATFORM_VI_NN ) SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)8308 SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, 8309 VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN const & createInfo, 8310 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 8311 : m_instance( *instance ) 8312 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 8313 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 8314 , m_dispatcher( instance.getDispatcher() ) 8315 { 8316 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 8317 getDispatcher()->vkCreateViSurfaceNN( static_cast<VkInstance>( *instance ), 8318 reinterpret_cast<const VkViSurfaceCreateInfoNN *>( &createInfo ), 8319 m_allocator, 8320 reinterpret_cast<VkSurfaceKHR *>( &m_surfaceKHR ) ) ); 8321 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 8322 { 8323 throwResultException( result, "vkCreateViSurfaceNN" ); 8324 } 8325 } 8326 # endif /*VK_USE_PLATFORM_VI_NN*/ 8327 8328 # if defined( VK_USE_PLATFORM_WAYLAND_KHR ) SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)8329 SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, 8330 VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR const & createInfo, 8331 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 8332 : m_instance( *instance ) 8333 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 8334 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 8335 , m_dispatcher( instance.getDispatcher() ) 8336 { 8337 VULKAN_HPP_NAMESPACE::Result result = 8338 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateWaylandSurfaceKHR( 8339 static_cast<VkInstance>( *instance ), 8340 reinterpret_cast<const VkWaylandSurfaceCreateInfoKHR *>( &createInfo ), 8341 m_allocator, 8342 reinterpret_cast<VkSurfaceKHR *>( &m_surfaceKHR ) ) ); 8343 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 8344 { 8345 throwResultException( result, "vkCreateWaylandSurfaceKHR" ); 8346 } 8347 } 8348 # endif /*VK_USE_PLATFORM_WAYLAND_KHR*/ 8349 8350 # if defined( VK_USE_PLATFORM_WIN32_KHR ) SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)8351 SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, 8352 VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR const & createInfo, 8353 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 8354 : m_instance( *instance ) 8355 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 8356 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 8357 , m_dispatcher( instance.getDispatcher() ) 8358 { 8359 VULKAN_HPP_NAMESPACE::Result result = 8360 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateWin32SurfaceKHR( 8361 static_cast<VkInstance>( *instance ), 8362 reinterpret_cast<const VkWin32SurfaceCreateInfoKHR *>( &createInfo ), 8363 m_allocator, 8364 reinterpret_cast<VkSurfaceKHR *>( &m_surfaceKHR ) ) ); 8365 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 8366 { 8367 throwResultException( result, "vkCreateWin32SurfaceKHR" ); 8368 } 8369 } 8370 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 8371 8372 # if defined( VK_USE_PLATFORM_XCB_KHR ) SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)8373 SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, 8374 VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR const & createInfo, 8375 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 8376 : m_instance( *instance ) 8377 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 8378 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 8379 , m_dispatcher( instance.getDispatcher() ) 8380 { 8381 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 8382 getDispatcher()->vkCreateXcbSurfaceKHR( static_cast<VkInstance>( *instance ), 8383 reinterpret_cast<const VkXcbSurfaceCreateInfoKHR *>( &createInfo ), 8384 m_allocator, 8385 reinterpret_cast<VkSurfaceKHR *>( &m_surfaceKHR ) ) ); 8386 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 8387 { 8388 throwResultException( result, "vkCreateXcbSurfaceKHR" ); 8389 } 8390 } 8391 # endif /*VK_USE_PLATFORM_XCB_KHR*/ 8392 8393 # if defined( VK_USE_PLATFORM_XLIB_KHR ) SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)8394 SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, 8395 VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR const & createInfo, 8396 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 8397 : m_instance( *instance ) 8398 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 8399 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 8400 , m_dispatcher( instance.getDispatcher() ) 8401 { 8402 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 8403 getDispatcher()->vkCreateXlibSurfaceKHR( static_cast<VkInstance>( *instance ), 8404 reinterpret_cast<const VkXlibSurfaceCreateInfoKHR *>( &createInfo ), 8405 m_allocator, 8406 reinterpret_cast<VkSurfaceKHR *>( &m_surfaceKHR ) ) ); 8407 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 8408 { 8409 throwResultException( result, "vkCreateXlibSurfaceKHR" ); 8410 } 8411 } 8412 # endif /*VK_USE_PLATFORM_XLIB_KHR*/ 8413 SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance,VkSurfaceKHR surfaceKHR,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)8414 SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, 8415 VkSurfaceKHR surfaceKHR, 8416 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 8417 : m_surfaceKHR( surfaceKHR ) 8418 , m_instance( *instance ) 8419 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 8420 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 8421 , m_dispatcher( instance.getDispatcher() ) 8422 {} 8423 ~SurfaceKHR()8424 ~SurfaceKHR() 8425 { 8426 if ( m_surfaceKHR ) 8427 { 8428 getDispatcher()->vkDestroySurfaceKHR( m_instance, static_cast<VkSurfaceKHR>( m_surfaceKHR ), m_allocator ); 8429 } 8430 } 8431 8432 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 8433 SurfaceKHR() = default; 8434 # else 8435 SurfaceKHR() = delete; 8436 # endif 8437 SurfaceKHR( SurfaceKHR const & ) = delete; SurfaceKHR(SurfaceKHR && rhs)8438 SurfaceKHR( SurfaceKHR && rhs ) VULKAN_HPP_NOEXCEPT 8439 : m_surfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_surfaceKHR, {} ) ) 8440 , m_instance( rhs.m_instance ) 8441 , m_allocator( rhs.m_allocator ) 8442 , m_dispatcher( rhs.m_dispatcher ) 8443 {} 8444 SurfaceKHR & operator=( SurfaceKHR const & ) = delete; operator =(SurfaceKHR && rhs)8445 SurfaceKHR & operator =( SurfaceKHR && rhs ) VULKAN_HPP_NOEXCEPT 8446 { 8447 if ( this != &rhs ) 8448 { 8449 if ( m_surfaceKHR ) 8450 { 8451 getDispatcher()->vkDestroySurfaceKHR( m_instance, static_cast<VkSurfaceKHR>( m_surfaceKHR ), m_allocator ); 8452 } 8453 m_surfaceKHR = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_surfaceKHR, {} ); 8454 m_instance = rhs.m_instance; 8455 m_allocator = rhs.m_allocator; 8456 m_dispatcher = rhs.m_dispatcher; 8457 } 8458 return *this; 8459 } 8460 operator *() const8461 VULKAN_HPP_NAMESPACE::SurfaceKHR const & operator*() const VULKAN_HPP_NOEXCEPT 8462 { 8463 return m_surfaceKHR; 8464 } 8465 getDispatcher() const8466 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * getDispatcher() const 8467 { 8468 return m_dispatcher; 8469 } 8470 8471 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const8472 explicit operator bool() const VULKAN_HPP_NOEXCEPT 8473 { 8474 return m_surfaceKHR.operator bool(); 8475 } 8476 operator !() const8477 bool operator!() const VULKAN_HPP_NOEXCEPT 8478 { 8479 return m_surfaceKHR.operator!(); 8480 } 8481 # endif 8482 8483 private: 8484 VULKAN_HPP_NAMESPACE::SurfaceKHR m_surfaceKHR; 8485 VkInstance m_instance; 8486 const VkAllocationCallbacks * m_allocator; 8487 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * m_dispatcher; 8488 }; 8489 8490 class SwapchainKHR 8491 { 8492 public: 8493 using CType = VkSwapchainKHR; 8494 8495 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 8496 VULKAN_HPP_NAMESPACE::ObjectType::eSwapchainKHR; 8497 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 8498 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSwapchainKHR; 8499 8500 public: SwapchainKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)8501 SwapchainKHR( 8502 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 8503 VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR const & createInfo, 8504 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 8505 : m_device( *device ) 8506 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 8507 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 8508 , m_dispatcher( device.getDispatcher() ) 8509 { 8510 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 8511 getDispatcher()->vkCreateSwapchainKHR( static_cast<VkDevice>( *device ), 8512 reinterpret_cast<const VkSwapchainCreateInfoKHR *>( &createInfo ), 8513 m_allocator, 8514 reinterpret_cast<VkSwapchainKHR *>( &m_swapchainKHR ) ) ); 8515 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 8516 { 8517 throwResultException( result, "vkCreateSwapchainKHR" ); 8518 } 8519 } 8520 SwapchainKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkSwapchainKHR swapchainKHR,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)8521 SwapchainKHR( 8522 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 8523 VkSwapchainKHR swapchainKHR, 8524 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 8525 : m_swapchainKHR( swapchainKHR ) 8526 , m_device( *device ) 8527 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 8528 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 8529 , m_dispatcher( device.getDispatcher() ) 8530 {} 8531 SwapchainKHR(VkSwapchainKHR swapchainKHR,VkDevice device,VkAllocationCallbacks const * allocator,VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * dispatcher)8532 SwapchainKHR( VkSwapchainKHR swapchainKHR, 8533 VkDevice device, 8534 VkAllocationCallbacks const * allocator, 8535 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * dispatcher ) 8536 : m_swapchainKHR( swapchainKHR ), m_device( device ), m_allocator( allocator ), m_dispatcher( dispatcher ) 8537 {} 8538 ~SwapchainKHR()8539 ~SwapchainKHR() 8540 { 8541 if ( m_swapchainKHR ) 8542 { 8543 getDispatcher()->vkDestroySwapchainKHR( 8544 m_device, static_cast<VkSwapchainKHR>( m_swapchainKHR ), m_allocator ); 8545 } 8546 } 8547 8548 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 8549 SwapchainKHR() = default; 8550 # else 8551 SwapchainKHR() = delete; 8552 # endif 8553 SwapchainKHR( SwapchainKHR const & ) = delete; SwapchainKHR(SwapchainKHR && rhs)8554 SwapchainKHR( SwapchainKHR && rhs ) VULKAN_HPP_NOEXCEPT 8555 : m_swapchainKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_swapchainKHR, {} ) ) 8556 , m_device( rhs.m_device ) 8557 , m_allocator( rhs.m_allocator ) 8558 , m_dispatcher( rhs.m_dispatcher ) 8559 {} 8560 SwapchainKHR & operator=( SwapchainKHR const & ) = delete; operator =(SwapchainKHR && rhs)8561 SwapchainKHR & operator =( SwapchainKHR && rhs ) VULKAN_HPP_NOEXCEPT 8562 { 8563 if ( this != &rhs ) 8564 { 8565 if ( m_swapchainKHR ) 8566 { 8567 getDispatcher()->vkDestroySwapchainKHR( 8568 m_device, static_cast<VkSwapchainKHR>( m_swapchainKHR ), m_allocator ); 8569 } 8570 m_swapchainKHR = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_swapchainKHR, {} ); 8571 m_device = rhs.m_device; 8572 m_allocator = rhs.m_allocator; 8573 m_dispatcher = rhs.m_dispatcher; 8574 } 8575 return *this; 8576 } 8577 operator *() const8578 VULKAN_HPP_NAMESPACE::SwapchainKHR const & operator*() const VULKAN_HPP_NOEXCEPT 8579 { 8580 return m_swapchainKHR; 8581 } 8582 getDispatcher() const8583 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 8584 { 8585 return m_dispatcher; 8586 } 8587 8588 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const8589 explicit operator bool() const VULKAN_HPP_NOEXCEPT 8590 { 8591 return m_swapchainKHR.operator bool(); 8592 } 8593 operator !() const8594 bool operator!() const VULKAN_HPP_NOEXCEPT 8595 { 8596 return m_swapchainKHR.operator!(); 8597 } 8598 # endif 8599 8600 //=== VK_KHR_swapchain === 8601 8602 VULKAN_HPP_NODISCARD std::vector<VkImage> getImages() const; 8603 8604 VULKAN_HPP_NODISCARD std::pair<VULKAN_HPP_NAMESPACE::Result, uint32_t> 8605 acquireNextImage( uint64_t timeout, 8606 VULKAN_HPP_NAMESPACE::Semaphore semaphore VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT, 8607 VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT ) const; 8608 8609 //=== VK_EXT_display_control === 8610 8611 VULKAN_HPP_NODISCARD uint64_t getCounterEXT( VULKAN_HPP_NAMESPACE::SurfaceCounterFlagBitsEXT counter ) const; 8612 8613 //=== VK_GOOGLE_display_timing === 8614 8615 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE getRefreshCycleDurationGOOGLE() const; 8616 8617 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE> 8618 getPastPresentationTimingGOOGLE() const; 8619 8620 //=== VK_KHR_shared_presentable_image === 8621 8622 VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result getStatus() const; 8623 8624 //=== VK_AMD_display_native_hdr === 8625 8626 void setLocalDimmingAMD( VULKAN_HPP_NAMESPACE::Bool32 localDimmingEnable ) const VULKAN_HPP_NOEXCEPT; 8627 8628 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 8629 //=== VK_EXT_full_screen_exclusive === 8630 8631 void acquireFullScreenExclusiveModeEXT() const; 8632 8633 void releaseFullScreenExclusiveModeEXT() const; 8634 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 8635 8636 private: 8637 VULKAN_HPP_NAMESPACE::SwapchainKHR m_swapchainKHR; 8638 VkDevice m_device; 8639 const VkAllocationCallbacks * m_allocator; 8640 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 8641 }; 8642 8643 class SwapchainKHRs : public std::vector<VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::SwapchainKHR> 8644 { 8645 public: SwapchainKHRs(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const & createInfos,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)8646 SwapchainKHRs( 8647 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 8648 VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const & createInfos, 8649 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 8650 { 8651 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * dispatcher = device.getDispatcher(); 8652 std::vector<VkSwapchainKHR> swapchains( createInfos.size() ); 8653 VULKAN_HPP_NAMESPACE::Result result = 8654 static_cast<VULKAN_HPP_NAMESPACE::Result>( dispatcher->vkCreateSharedSwapchainsKHR( 8655 static_cast<VkDevice>( *device ), 8656 createInfos.size(), 8657 reinterpret_cast<const VkSwapchainCreateInfoKHR *>( createInfos.data() ), 8658 reinterpret_cast<const VkAllocationCallbacks *>( 8659 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 8660 swapchains.data() ) ); 8661 if ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) 8662 { 8663 this->reserve( createInfos.size() ); 8664 for ( auto const & swapchainKHR : swapchains ) 8665 { 8666 this->emplace_back( swapchainKHR, 8667 static_cast<VkDevice>( *device ), 8668 reinterpret_cast<const VkAllocationCallbacks *>( 8669 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 8670 dispatcher ); 8671 } 8672 } 8673 else 8674 { 8675 throwResultException( result, "vkCreateSharedSwapchainsKHR" ); 8676 } 8677 } 8678 8679 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 8680 SwapchainKHRs() = default; 8681 # else 8682 SwapchainKHRs() = delete; 8683 # endif 8684 SwapchainKHRs( SwapchainKHRs const & ) = delete; 8685 SwapchainKHRs( SwapchainKHRs && rhs ) = default; 8686 SwapchainKHRs & operator=( SwapchainKHRs const & ) = delete; 8687 SwapchainKHRs & operator=( SwapchainKHRs && rhs ) = default; 8688 }; 8689 8690 class ValidationCacheEXT 8691 { 8692 public: 8693 using CType = VkValidationCacheEXT; 8694 8695 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 8696 VULKAN_HPP_NAMESPACE::ObjectType::eValidationCacheEXT; 8697 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 8698 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eValidationCacheEXT; 8699 8700 public: ValidationCacheEXT(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)8701 ValidationCacheEXT( 8702 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 8703 VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT const & createInfo, 8704 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 8705 : m_device( *device ) 8706 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 8707 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 8708 , m_dispatcher( device.getDispatcher() ) 8709 { 8710 VULKAN_HPP_NAMESPACE::Result result = 8711 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateValidationCacheEXT( 8712 static_cast<VkDevice>( *device ), 8713 reinterpret_cast<const VkValidationCacheCreateInfoEXT *>( &createInfo ), 8714 m_allocator, 8715 reinterpret_cast<VkValidationCacheEXT *>( &m_validationCacheEXT ) ) ); 8716 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 8717 { 8718 throwResultException( result, "vkCreateValidationCacheEXT" ); 8719 } 8720 } 8721 ValidationCacheEXT(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkValidationCacheEXT validationCacheEXT,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)8722 ValidationCacheEXT( 8723 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 8724 VkValidationCacheEXT validationCacheEXT, 8725 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 8726 : m_validationCacheEXT( validationCacheEXT ) 8727 , m_device( *device ) 8728 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 8729 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 8730 , m_dispatcher( device.getDispatcher() ) 8731 {} 8732 ~ValidationCacheEXT()8733 ~ValidationCacheEXT() 8734 { 8735 if ( m_validationCacheEXT ) 8736 { 8737 getDispatcher()->vkDestroyValidationCacheEXT( 8738 m_device, static_cast<VkValidationCacheEXT>( m_validationCacheEXT ), m_allocator ); 8739 } 8740 } 8741 8742 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 8743 ValidationCacheEXT() = default; 8744 # else 8745 ValidationCacheEXT() = delete; 8746 # endif 8747 ValidationCacheEXT( ValidationCacheEXT const & ) = delete; ValidationCacheEXT(ValidationCacheEXT && rhs)8748 ValidationCacheEXT( ValidationCacheEXT && rhs ) VULKAN_HPP_NOEXCEPT 8749 : m_validationCacheEXT( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_validationCacheEXT, 8750 {} ) ) 8751 , m_device( rhs.m_device ) 8752 , m_allocator( rhs.m_allocator ) 8753 , m_dispatcher( rhs.m_dispatcher ) 8754 {} 8755 ValidationCacheEXT & operator=( ValidationCacheEXT const & ) = delete; operator =(ValidationCacheEXT && rhs)8756 ValidationCacheEXT & operator =( ValidationCacheEXT && rhs ) VULKAN_HPP_NOEXCEPT 8757 { 8758 if ( this != &rhs ) 8759 { 8760 if ( m_validationCacheEXT ) 8761 { 8762 getDispatcher()->vkDestroyValidationCacheEXT( 8763 m_device, static_cast<VkValidationCacheEXT>( m_validationCacheEXT ), m_allocator ); 8764 } 8765 m_validationCacheEXT = 8766 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_validationCacheEXT, {} ); 8767 m_device = rhs.m_device; 8768 m_allocator = rhs.m_allocator; 8769 m_dispatcher = rhs.m_dispatcher; 8770 } 8771 return *this; 8772 } 8773 operator *() const8774 VULKAN_HPP_NAMESPACE::ValidationCacheEXT const & operator*() const VULKAN_HPP_NOEXCEPT 8775 { 8776 return m_validationCacheEXT; 8777 } 8778 getDispatcher() const8779 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 8780 { 8781 return m_dispatcher; 8782 } 8783 8784 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const8785 explicit operator bool() const VULKAN_HPP_NOEXCEPT 8786 { 8787 return m_validationCacheEXT.operator bool(); 8788 } 8789 operator !() const8790 bool operator!() const VULKAN_HPP_NOEXCEPT 8791 { 8792 return m_validationCacheEXT.operator!(); 8793 } 8794 # endif 8795 8796 //=== VK_EXT_validation_cache === 8797 8798 void merge( ArrayProxy<const VULKAN_HPP_NAMESPACE::ValidationCacheEXT> const & srcCaches ) const; 8799 8800 VULKAN_HPP_NODISCARD std::vector<uint8_t> getData() const; 8801 8802 private: 8803 VULKAN_HPP_NAMESPACE::ValidationCacheEXT m_validationCacheEXT; 8804 VkDevice m_device; 8805 const VkAllocationCallbacks * m_allocator; 8806 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 8807 }; 8808 8809 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 8810 class VideoSessionKHR 8811 { 8812 public: 8813 using CType = VkVideoSessionKHR; 8814 8815 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 8816 VULKAN_HPP_NAMESPACE::ObjectType::eVideoSessionKHR; 8817 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 8818 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown; 8819 8820 public: VideoSessionKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::VideoSessionCreateInfoKHR const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)8821 VideoSessionKHR( 8822 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 8823 VULKAN_HPP_NAMESPACE::VideoSessionCreateInfoKHR const & createInfo, 8824 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 8825 : m_device( *device ) 8826 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 8827 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 8828 , m_dispatcher( device.getDispatcher() ) 8829 { 8830 VULKAN_HPP_NAMESPACE::Result result = 8831 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateVideoSessionKHR( 8832 static_cast<VkDevice>( *device ), 8833 reinterpret_cast<const VkVideoSessionCreateInfoKHR *>( &createInfo ), 8834 m_allocator, 8835 reinterpret_cast<VkVideoSessionKHR *>( &m_videoSessionKHR ) ) ); 8836 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 8837 { 8838 throwResultException( result, "vkCreateVideoSessionKHR" ); 8839 } 8840 } 8841 VideoSessionKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkVideoSessionKHR videoSessionKHR,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)8842 VideoSessionKHR( 8843 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 8844 VkVideoSessionKHR videoSessionKHR, 8845 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 8846 : m_videoSessionKHR( videoSessionKHR ) 8847 , m_device( *device ) 8848 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 8849 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 8850 , m_dispatcher( device.getDispatcher() ) 8851 {} 8852 ~VideoSessionKHR()8853 ~VideoSessionKHR() 8854 { 8855 if ( m_videoSessionKHR ) 8856 { 8857 getDispatcher()->vkDestroyVideoSessionKHR( 8858 m_device, static_cast<VkVideoSessionKHR>( m_videoSessionKHR ), m_allocator ); 8859 } 8860 } 8861 8862 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 8863 VideoSessionKHR() = default; 8864 # else 8865 VideoSessionKHR() = delete; 8866 # endif 8867 VideoSessionKHR( VideoSessionKHR const & ) = delete; VideoSessionKHR(VideoSessionKHR && rhs)8868 VideoSessionKHR( VideoSessionKHR && rhs ) VULKAN_HPP_NOEXCEPT 8869 : m_videoSessionKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_videoSessionKHR, {} ) ) 8870 , m_device( rhs.m_device ) 8871 , m_allocator( rhs.m_allocator ) 8872 , m_dispatcher( rhs.m_dispatcher ) 8873 {} 8874 VideoSessionKHR & operator=( VideoSessionKHR const & ) = delete; operator =(VideoSessionKHR && rhs)8875 VideoSessionKHR & operator =( VideoSessionKHR && rhs ) VULKAN_HPP_NOEXCEPT 8876 { 8877 if ( this != &rhs ) 8878 { 8879 if ( m_videoSessionKHR ) 8880 { 8881 getDispatcher()->vkDestroyVideoSessionKHR( 8882 m_device, static_cast<VkVideoSessionKHR>( m_videoSessionKHR ), m_allocator ); 8883 } 8884 m_videoSessionKHR = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_videoSessionKHR, {} ); 8885 m_device = rhs.m_device; 8886 m_allocator = rhs.m_allocator; 8887 m_dispatcher = rhs.m_dispatcher; 8888 } 8889 return *this; 8890 } 8891 operator *() const8892 VULKAN_HPP_NAMESPACE::VideoSessionKHR const & operator*() const VULKAN_HPP_NOEXCEPT 8893 { 8894 return m_videoSessionKHR; 8895 } 8896 getDispatcher() const8897 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 8898 { 8899 return m_dispatcher; 8900 } 8901 8902 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const8903 explicit operator bool() const VULKAN_HPP_NOEXCEPT 8904 { 8905 return m_videoSessionKHR.operator bool(); 8906 } 8907 operator !() const8908 bool operator!() const VULKAN_HPP_NOEXCEPT 8909 { 8910 return m_videoSessionKHR.operator!(); 8911 } 8912 # endif 8913 8914 //=== VK_KHR_video_queue === 8915 8916 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::VideoGetMemoryPropertiesKHR> getMemoryRequirements() const; 8917 8918 void 8919 bindMemory( ArrayProxy<const VULKAN_HPP_NAMESPACE::VideoBindMemoryKHR> const & videoSessionBindMemories ) const; 8920 8921 private: 8922 VULKAN_HPP_NAMESPACE::VideoSessionKHR m_videoSessionKHR; 8923 VkDevice m_device; 8924 const VkAllocationCallbacks * m_allocator; 8925 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 8926 }; 8927 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 8928 8929 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 8930 class VideoSessionParametersKHR 8931 { 8932 public: 8933 using CType = VkVideoSessionParametersKHR; 8934 8935 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = 8936 VULKAN_HPP_NAMESPACE::ObjectType::eVideoSessionParametersKHR; 8937 static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType = 8938 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown; 8939 8940 public: VideoSessionParametersKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VULKAN_HPP_NAMESPACE::VideoSessionParametersCreateInfoKHR const & createInfo,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)8941 VideoSessionParametersKHR( 8942 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 8943 VULKAN_HPP_NAMESPACE::VideoSessionParametersCreateInfoKHR const & createInfo, 8944 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 8945 : m_device( *device ) 8946 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 8947 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 8948 , m_dispatcher( device.getDispatcher() ) 8949 { 8950 VULKAN_HPP_NAMESPACE::Result result = 8951 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateVideoSessionParametersKHR( 8952 static_cast<VkDevice>( *device ), 8953 reinterpret_cast<const VkVideoSessionParametersCreateInfoKHR *>( &createInfo ), 8954 m_allocator, 8955 reinterpret_cast<VkVideoSessionParametersKHR *>( &m_videoSessionParametersKHR ) ) ); 8956 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 8957 { 8958 throwResultException( result, "vkCreateVideoSessionParametersKHR" ); 8959 } 8960 } 8961 VideoSessionParametersKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,VkVideoSessionParametersKHR videoSessionParametersKHR,VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator=nullptr)8962 VideoSessionParametersKHR( 8963 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, 8964 VkVideoSessionParametersKHR videoSessionParametersKHR, 8965 VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) 8966 : m_videoSessionParametersKHR( videoSessionParametersKHR ) 8967 , m_device( *device ) 8968 , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( 8969 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) 8970 , m_dispatcher( device.getDispatcher() ) 8971 {} 8972 ~VideoSessionParametersKHR()8973 ~VideoSessionParametersKHR() 8974 { 8975 if ( m_videoSessionParametersKHR ) 8976 { 8977 getDispatcher()->vkDestroyVideoSessionParametersKHR( 8978 m_device, static_cast<VkVideoSessionParametersKHR>( m_videoSessionParametersKHR ), m_allocator ); 8979 } 8980 } 8981 8982 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) 8983 VideoSessionParametersKHR() = default; 8984 # else 8985 VideoSessionParametersKHR() = delete; 8986 # endif 8987 VideoSessionParametersKHR( VideoSessionParametersKHR const & ) = delete; VideoSessionParametersKHR(VideoSessionParametersKHR && rhs)8988 VideoSessionParametersKHR( VideoSessionParametersKHR && rhs ) VULKAN_HPP_NOEXCEPT 8989 : m_videoSessionParametersKHR( 8990 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_videoSessionParametersKHR, {} ) ) 8991 , m_device( rhs.m_device ) 8992 , m_allocator( rhs.m_allocator ) 8993 , m_dispatcher( rhs.m_dispatcher ) 8994 {} 8995 VideoSessionParametersKHR & operator=( VideoSessionParametersKHR const & ) = delete; operator =(VideoSessionParametersKHR && rhs)8996 VideoSessionParametersKHR & operator=( VideoSessionParametersKHR && rhs ) VULKAN_HPP_NOEXCEPT 8997 { 8998 if ( this != &rhs ) 8999 { 9000 if ( m_videoSessionParametersKHR ) 9001 { 9002 getDispatcher()->vkDestroyVideoSessionParametersKHR( 9003 m_device, static_cast<VkVideoSessionParametersKHR>( m_videoSessionParametersKHR ), m_allocator ); 9004 } 9005 m_videoSessionParametersKHR = 9006 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_videoSessionParametersKHR, {} ); 9007 m_device = rhs.m_device; 9008 m_allocator = rhs.m_allocator; 9009 m_dispatcher = rhs.m_dispatcher; 9010 } 9011 return *this; 9012 } 9013 operator *() const9014 VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR const & operator*() const VULKAN_HPP_NOEXCEPT 9015 { 9016 return m_videoSessionParametersKHR; 9017 } 9018 getDispatcher() const9019 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const 9020 { 9021 return m_dispatcher; 9022 } 9023 9024 # if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) operator bool() const9025 explicit operator bool() const VULKAN_HPP_NOEXCEPT 9026 { 9027 return m_videoSessionParametersKHR.operator bool(); 9028 } 9029 operator !() const9030 bool operator!() const VULKAN_HPP_NOEXCEPT 9031 { 9032 return m_videoSessionParametersKHR.operator!(); 9033 } 9034 # endif 9035 9036 //=== VK_KHR_video_queue === 9037 9038 void update( const VideoSessionParametersUpdateInfoKHR & updateInfo ) const; 9039 9040 private: 9041 VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR m_videoSessionParametersKHR; 9042 VkDevice m_device; 9043 const VkAllocationCallbacks * m_allocator; 9044 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; 9045 }; 9046 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 9047 9048 //=========================== 9049 //=== COMMAND Definitions === 9050 //=========================== 9051 9052 //=== VK_VERSION_1_0 === 9053 9054 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures getFeatures() const9055 PhysicalDevice::getFeatures() const VULKAN_HPP_NOEXCEPT 9056 { 9057 VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures features; 9058 getDispatcher()->vkGetPhysicalDeviceFeatures( static_cast<VkPhysicalDevice>( m_physicalDevice ), 9059 reinterpret_cast<VkPhysicalDeviceFeatures *>( &features ) ); 9060 return features; 9061 } 9062 9063 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::FormatProperties getFormatProperties(VULKAN_HPP_NAMESPACE::Format format) const9064 PhysicalDevice::getFormatProperties( VULKAN_HPP_NAMESPACE::Format format ) const VULKAN_HPP_NOEXCEPT 9065 { 9066 VULKAN_HPP_NAMESPACE::FormatProperties formatProperties; 9067 getDispatcher()->vkGetPhysicalDeviceFormatProperties( 9068 static_cast<VkPhysicalDevice>( m_physicalDevice ), 9069 static_cast<VkFormat>( format ), 9070 reinterpret_cast<VkFormatProperties *>( &formatProperties ) ); 9071 return formatProperties; 9072 } 9073 9074 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ImageFormatProperties 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) const9075 PhysicalDevice::getImageFormatProperties( VULKAN_HPP_NAMESPACE::Format format, 9076 VULKAN_HPP_NAMESPACE::ImageType type, 9077 VULKAN_HPP_NAMESPACE::ImageTiling tiling, 9078 VULKAN_HPP_NAMESPACE::ImageUsageFlags usage, 9079 VULKAN_HPP_NAMESPACE::ImageCreateFlags flags ) const 9080 { 9081 VULKAN_HPP_NAMESPACE::ImageFormatProperties imageFormatProperties; 9082 VULKAN_HPP_NAMESPACE::Result result = 9083 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceImageFormatProperties( 9084 static_cast<VkPhysicalDevice>( m_physicalDevice ), 9085 static_cast<VkFormat>( format ), 9086 static_cast<VkImageType>( type ), 9087 static_cast<VkImageTiling>( tiling ), 9088 static_cast<VkImageUsageFlags>( usage ), 9089 static_cast<VkImageCreateFlags>( flags ), 9090 reinterpret_cast<VkImageFormatProperties *>( &imageFormatProperties ) ) ); 9091 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 9092 { 9093 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties" ); 9094 } 9095 return imageFormatProperties; 9096 } 9097 9098 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties getProperties() const9099 PhysicalDevice::getProperties() const VULKAN_HPP_NOEXCEPT 9100 { 9101 VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties properties; 9102 getDispatcher()->vkGetPhysicalDeviceProperties( static_cast<VkPhysicalDevice>( m_physicalDevice ), 9103 reinterpret_cast<VkPhysicalDeviceProperties *>( &properties ) ); 9104 return properties; 9105 } 9106 9107 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties> getQueueFamilyProperties() const9108 PhysicalDevice::getQueueFamilyProperties() const VULKAN_HPP_NOEXCEPT 9109 { 9110 uint32_t queueFamilyPropertyCount; 9111 getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties( 9112 static_cast<VkPhysicalDevice>( m_physicalDevice ), &queueFamilyPropertyCount, nullptr ); 9113 std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties> queueFamilyProperties( queueFamilyPropertyCount ); 9114 getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties( 9115 static_cast<VkPhysicalDevice>( m_physicalDevice ), 9116 &queueFamilyPropertyCount, 9117 reinterpret_cast<VkQueueFamilyProperties *>( queueFamilyProperties.data() ) ); 9118 VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); 9119 return queueFamilyProperties; 9120 } 9121 9122 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties getMemoryProperties() const9123 PhysicalDevice::getMemoryProperties() const VULKAN_HPP_NOEXCEPT 9124 { 9125 VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties memoryProperties; 9126 getDispatcher()->vkGetPhysicalDeviceMemoryProperties( 9127 static_cast<VkPhysicalDevice>( m_physicalDevice ), 9128 reinterpret_cast<VkPhysicalDeviceMemoryProperties *>( &memoryProperties ) ); 9129 return memoryProperties; 9130 } 9131 9132 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE PFN_vkVoidFunction getProcAddr(const std::string & name) const9133 Instance::getProcAddr( const std::string & name ) const VULKAN_HPP_NOEXCEPT 9134 { 9135 return getDispatcher()->vkGetInstanceProcAddr( static_cast<VkInstance>( m_instance ), name.c_str() ); 9136 } 9137 9138 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE PFN_vkVoidFunction getProcAddr(const std::string & name) const9139 Device::getProcAddr( const std::string & name ) const VULKAN_HPP_NOEXCEPT 9140 { 9141 return getDispatcher()->vkGetDeviceProcAddr( static_cast<VkDevice>( m_device ), name.c_str() ); 9142 } 9143 9144 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties> enumerateInstanceExtensionProperties(Optional<const std::string> layerName) const9145 Context::enumerateInstanceExtensionProperties( Optional<const std::string> layerName ) const 9146 { 9147 std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties> properties; 9148 uint32_t propertyCount; 9149 VULKAN_HPP_NAMESPACE::Result result; 9150 do 9151 { 9152 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkEnumerateInstanceExtensionProperties( 9153 layerName ? layerName->c_str() : nullptr, &propertyCount, nullptr ) ); 9154 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 9155 { 9156 properties.resize( propertyCount ); 9157 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkEnumerateInstanceExtensionProperties( 9158 layerName ? layerName->c_str() : nullptr, 9159 &propertyCount, 9160 reinterpret_cast<VkExtensionProperties *>( properties.data() ) ) ); 9161 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 9162 } 9163 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 9164 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( propertyCount < properties.size() ) ) 9165 { 9166 properties.resize( propertyCount ); 9167 } 9168 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 9169 { 9170 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Context::enumerateInstanceExtensionProperties" ); 9171 } 9172 return properties; 9173 } 9174 9175 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties> enumerateDeviceExtensionProperties(Optional<const std::string> layerName) const9176 PhysicalDevice::enumerateDeviceExtensionProperties( Optional<const std::string> layerName ) const 9177 { 9178 std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties> properties; 9179 uint32_t propertyCount; 9180 VULKAN_HPP_NAMESPACE::Result result; 9181 do 9182 { 9183 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 9184 getDispatcher()->vkEnumerateDeviceExtensionProperties( static_cast<VkPhysicalDevice>( m_physicalDevice ), 9185 layerName ? layerName->c_str() : nullptr, 9186 &propertyCount, 9187 nullptr ) ); 9188 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 9189 { 9190 properties.resize( propertyCount ); 9191 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkEnumerateDeviceExtensionProperties( 9192 static_cast<VkPhysicalDevice>( m_physicalDevice ), 9193 layerName ? layerName->c_str() : nullptr, 9194 &propertyCount, 9195 reinterpret_cast<VkExtensionProperties *>( properties.data() ) ) ); 9196 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 9197 } 9198 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 9199 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( propertyCount < properties.size() ) ) 9200 { 9201 properties.resize( propertyCount ); 9202 } 9203 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 9204 { 9205 throwResultException( result, 9206 VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateDeviceExtensionProperties" ); 9207 } 9208 return properties; 9209 } 9210 9211 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::LayerProperties> enumerateInstanceLayerProperties() const9212 Context::enumerateInstanceLayerProperties() const 9213 { 9214 std::vector<VULKAN_HPP_NAMESPACE::LayerProperties> properties; 9215 uint32_t propertyCount; 9216 VULKAN_HPP_NAMESPACE::Result result; 9217 do 9218 { 9219 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 9220 getDispatcher()->vkEnumerateInstanceLayerProperties( &propertyCount, nullptr ) ); 9221 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 9222 { 9223 properties.resize( propertyCount ); 9224 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkEnumerateInstanceLayerProperties( 9225 &propertyCount, reinterpret_cast<VkLayerProperties *>( properties.data() ) ) ); 9226 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 9227 } 9228 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 9229 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( propertyCount < properties.size() ) ) 9230 { 9231 properties.resize( propertyCount ); 9232 } 9233 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 9234 { 9235 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Context::enumerateInstanceLayerProperties" ); 9236 } 9237 return properties; 9238 } 9239 9240 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::LayerProperties> enumerateDeviceLayerProperties() const9241 PhysicalDevice::enumerateDeviceLayerProperties() const 9242 { 9243 std::vector<VULKAN_HPP_NAMESPACE::LayerProperties> properties; 9244 uint32_t propertyCount; 9245 VULKAN_HPP_NAMESPACE::Result result; 9246 do 9247 { 9248 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkEnumerateDeviceLayerProperties( 9249 static_cast<VkPhysicalDevice>( m_physicalDevice ), &propertyCount, nullptr ) ); 9250 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 9251 { 9252 properties.resize( propertyCount ); 9253 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkEnumerateDeviceLayerProperties( 9254 static_cast<VkPhysicalDevice>( m_physicalDevice ), 9255 &propertyCount, 9256 reinterpret_cast<VkLayerProperties *>( properties.data() ) ) ); 9257 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 9258 } 9259 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 9260 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( propertyCount < properties.size() ) ) 9261 { 9262 properties.resize( propertyCount ); 9263 } 9264 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 9265 { 9266 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateDeviceLayerProperties" ); 9267 } 9268 return properties; 9269 } 9270 submit(ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo> const & submits,VULKAN_HPP_NAMESPACE::Fence fence) const9271 VULKAN_HPP_INLINE void Queue::submit( ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo> const & submits, 9272 VULKAN_HPP_NAMESPACE::Fence fence ) const 9273 { 9274 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 9275 getDispatcher()->vkQueueSubmit( static_cast<VkQueue>( m_queue ), 9276 submits.size(), 9277 reinterpret_cast<const VkSubmitInfo *>( submits.data() ), 9278 static_cast<VkFence>( fence ) ) ); 9279 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 9280 { 9281 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Queue::submit" ); 9282 } 9283 } 9284 waitIdle() const9285 VULKAN_HPP_INLINE void Queue::waitIdle() const 9286 { 9287 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 9288 getDispatcher()->vkQueueWaitIdle( static_cast<VkQueue>( m_queue ) ) ); 9289 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 9290 { 9291 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Queue::waitIdle" ); 9292 } 9293 } 9294 waitIdle() const9295 VULKAN_HPP_INLINE void Device::waitIdle() const 9296 { 9297 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 9298 getDispatcher()->vkDeviceWaitIdle( static_cast<VkDevice>( m_device ) ) ); 9299 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 9300 { 9301 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::waitIdle" ); 9302 } 9303 } 9304 9305 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE void * mapMemory(VULKAN_HPP_NAMESPACE::DeviceSize offset,VULKAN_HPP_NAMESPACE::DeviceSize size,VULKAN_HPP_NAMESPACE::MemoryMapFlags flags) const9306 DeviceMemory::mapMemory( VULKAN_HPP_NAMESPACE::DeviceSize offset, 9307 VULKAN_HPP_NAMESPACE::DeviceSize size, 9308 VULKAN_HPP_NAMESPACE::MemoryMapFlags flags ) const 9309 { 9310 void * pData; 9311 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 9312 getDispatcher()->vkMapMemory( static_cast<VkDevice>( m_device ), 9313 static_cast<VkDeviceMemory>( m_deviceMemory ), 9314 static_cast<VkDeviceSize>( offset ), 9315 static_cast<VkDeviceSize>( size ), 9316 static_cast<VkMemoryMapFlags>( flags ), 9317 &pData ) ); 9318 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 9319 { 9320 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::DeviceMemory::mapMemory" ); 9321 } 9322 return pData; 9323 } 9324 unmapMemory() const9325 VULKAN_HPP_INLINE void DeviceMemory::unmapMemory() const VULKAN_HPP_NOEXCEPT 9326 { 9327 getDispatcher()->vkUnmapMemory( static_cast<VkDevice>( m_device ), 9328 static_cast<VkDeviceMemory>( m_deviceMemory ) ); 9329 } 9330 flushMappedMemoryRanges(ArrayProxy<const VULKAN_HPP_NAMESPACE::MappedMemoryRange> const & memoryRanges) const9331 VULKAN_HPP_INLINE void Device::flushMappedMemoryRanges( 9332 ArrayProxy<const VULKAN_HPP_NAMESPACE::MappedMemoryRange> const & memoryRanges ) const 9333 { 9334 VULKAN_HPP_NAMESPACE::Result result = 9335 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkFlushMappedMemoryRanges( 9336 static_cast<VkDevice>( m_device ), 9337 memoryRanges.size(), 9338 reinterpret_cast<const VkMappedMemoryRange *>( memoryRanges.data() ) ) ); 9339 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 9340 { 9341 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::flushMappedMemoryRanges" ); 9342 } 9343 } 9344 invalidateMappedMemoryRanges(ArrayProxy<const VULKAN_HPP_NAMESPACE::MappedMemoryRange> const & memoryRanges) const9345 VULKAN_HPP_INLINE void Device::invalidateMappedMemoryRanges( 9346 ArrayProxy<const VULKAN_HPP_NAMESPACE::MappedMemoryRange> const & memoryRanges ) const 9347 { 9348 VULKAN_HPP_NAMESPACE::Result result = 9349 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkInvalidateMappedMemoryRanges( 9350 static_cast<VkDevice>( m_device ), 9351 memoryRanges.size(), 9352 reinterpret_cast<const VkMappedMemoryRange *>( memoryRanges.data() ) ) ); 9353 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 9354 { 9355 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::invalidateMappedMemoryRanges" ); 9356 } 9357 } 9358 9359 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceSize getCommitment() const9360 DeviceMemory::getCommitment() const VULKAN_HPP_NOEXCEPT 9361 { 9362 VULKAN_HPP_NAMESPACE::DeviceSize committedMemoryInBytes; 9363 getDispatcher()->vkGetDeviceMemoryCommitment( static_cast<VkDevice>( m_device ), 9364 static_cast<VkDeviceMemory>( m_deviceMemory ), 9365 reinterpret_cast<VkDeviceSize *>( &committedMemoryInBytes ) ); 9366 return committedMemoryInBytes; 9367 } 9368 bindMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory,VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset) const9369 VULKAN_HPP_INLINE void Buffer::bindMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory, 9370 VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset ) const 9371 { 9372 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 9373 getDispatcher()->vkBindBufferMemory( static_cast<VkDevice>( m_device ), 9374 static_cast<VkBuffer>( m_buffer ), 9375 static_cast<VkDeviceMemory>( memory ), 9376 static_cast<VkDeviceSize>( memoryOffset ) ) ); 9377 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 9378 { 9379 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Buffer::bindMemory" ); 9380 } 9381 } 9382 bindMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory,VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset) const9383 VULKAN_HPP_INLINE void Image::bindMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory, 9384 VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset ) const 9385 { 9386 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 9387 getDispatcher()->vkBindImageMemory( static_cast<VkDevice>( m_device ), 9388 static_cast<VkImage>( m_image ), 9389 static_cast<VkDeviceMemory>( memory ), 9390 static_cast<VkDeviceSize>( memoryOffset ) ) ); 9391 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 9392 { 9393 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Image::bindMemory" ); 9394 } 9395 } 9396 9397 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements getMemoryRequirements() const9398 Buffer::getMemoryRequirements() const VULKAN_HPP_NOEXCEPT 9399 { 9400 VULKAN_HPP_NAMESPACE::MemoryRequirements memoryRequirements; 9401 getDispatcher()->vkGetBufferMemoryRequirements( static_cast<VkDevice>( m_device ), 9402 static_cast<VkBuffer>( m_buffer ), 9403 reinterpret_cast<VkMemoryRequirements *>( &memoryRequirements ) ); 9404 return memoryRequirements; 9405 } 9406 9407 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements getMemoryRequirements() const9408 Image::getMemoryRequirements() const VULKAN_HPP_NOEXCEPT 9409 { 9410 VULKAN_HPP_NAMESPACE::MemoryRequirements memoryRequirements; 9411 getDispatcher()->vkGetImageMemoryRequirements( static_cast<VkDevice>( m_device ), 9412 static_cast<VkImage>( m_image ), 9413 reinterpret_cast<VkMemoryRequirements *>( &memoryRequirements ) ); 9414 return memoryRequirements; 9415 } 9416 9417 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements> getSparseMemoryRequirements() const9418 Image::getSparseMemoryRequirements() const VULKAN_HPP_NOEXCEPT 9419 { 9420 uint32_t sparseMemoryRequirementCount; 9421 getDispatcher()->vkGetImageSparseMemoryRequirements( 9422 static_cast<VkDevice>( m_device ), static_cast<VkImage>( m_image ), &sparseMemoryRequirementCount, nullptr ); 9423 std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements> sparseMemoryRequirements( 9424 sparseMemoryRequirementCount ); 9425 getDispatcher()->vkGetImageSparseMemoryRequirements( 9426 static_cast<VkDevice>( m_device ), 9427 static_cast<VkImage>( m_image ), 9428 &sparseMemoryRequirementCount, 9429 reinterpret_cast<VkSparseImageMemoryRequirements *>( sparseMemoryRequirements.data() ) ); 9430 VULKAN_HPP_ASSERT( sparseMemoryRequirementCount <= sparseMemoryRequirements.size() ); 9431 return sparseMemoryRequirements; 9432 } 9433 9434 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties> 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) const9435 PhysicalDevice::getSparseImageFormatProperties( VULKAN_HPP_NAMESPACE::Format format, 9436 VULKAN_HPP_NAMESPACE::ImageType type, 9437 VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples, 9438 VULKAN_HPP_NAMESPACE::ImageUsageFlags usage, 9439 VULKAN_HPP_NAMESPACE::ImageTiling tiling ) const 9440 VULKAN_HPP_NOEXCEPT 9441 { 9442 uint32_t propertyCount; 9443 getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties( 9444 static_cast<VkPhysicalDevice>( m_physicalDevice ), 9445 static_cast<VkFormat>( format ), 9446 static_cast<VkImageType>( type ), 9447 static_cast<VkSampleCountFlagBits>( samples ), 9448 static_cast<VkImageUsageFlags>( usage ), 9449 static_cast<VkImageTiling>( tiling ), 9450 &propertyCount, 9451 nullptr ); 9452 std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties> properties( propertyCount ); 9453 getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties( 9454 static_cast<VkPhysicalDevice>( m_physicalDevice ), 9455 static_cast<VkFormat>( format ), 9456 static_cast<VkImageType>( type ), 9457 static_cast<VkSampleCountFlagBits>( samples ), 9458 static_cast<VkImageUsageFlags>( usage ), 9459 static_cast<VkImageTiling>( tiling ), 9460 &propertyCount, 9461 reinterpret_cast<VkSparseImageFormatProperties *>( properties.data() ) ); 9462 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 9463 return properties; 9464 } 9465 bindSparse(ArrayProxy<const VULKAN_HPP_NAMESPACE::BindSparseInfo> const & bindInfo,VULKAN_HPP_NAMESPACE::Fence fence) const9466 VULKAN_HPP_INLINE void Queue::bindSparse( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindSparseInfo> const & bindInfo, 9467 VULKAN_HPP_NAMESPACE::Fence fence ) const 9468 { 9469 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 9470 getDispatcher()->vkQueueBindSparse( static_cast<VkQueue>( m_queue ), 9471 bindInfo.size(), 9472 reinterpret_cast<const VkBindSparseInfo *>( bindInfo.data() ), 9473 static_cast<VkFence>( fence ) ) ); 9474 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 9475 { 9476 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Queue::bindSparse" ); 9477 } 9478 } 9479 resetFences(ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const & fences) const9480 VULKAN_HPP_INLINE void Device::resetFences( ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const & fences ) const 9481 { 9482 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkResetFences( 9483 static_cast<VkDevice>( m_device ), fences.size(), reinterpret_cast<const VkFence *>( fences.data() ) ) ); 9484 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 9485 { 9486 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::resetFences" ); 9487 } 9488 } 9489 getStatus() const9490 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result Fence::getStatus() const 9491 { 9492 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 9493 getDispatcher()->vkGetFenceStatus( static_cast<VkDevice>( m_device ), static_cast<VkFence>( m_fence ) ) ); 9494 if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && 9495 ( result != VULKAN_HPP_NAMESPACE::Result::eNotReady ) ) 9496 { 9497 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Fence::getStatus" ); 9498 } 9499 return result; 9500 } 9501 9502 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result waitForFences(ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const & fences,VULKAN_HPP_NAMESPACE::Bool32 waitAll,uint64_t timeout) const9503 Device::waitForFences( ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const & fences, 9504 VULKAN_HPP_NAMESPACE::Bool32 waitAll, 9505 uint64_t timeout ) const 9506 { 9507 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 9508 getDispatcher()->vkWaitForFences( static_cast<VkDevice>( m_device ), 9509 fences.size(), 9510 reinterpret_cast<const VkFence *>( fences.data() ), 9511 static_cast<VkBool32>( waitAll ), 9512 timeout ) ); 9513 if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && 9514 ( result != VULKAN_HPP_NAMESPACE::Result::eTimeout ) ) 9515 { 9516 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::waitForFences" ); 9517 } 9518 return result; 9519 } 9520 getStatus() const9521 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result Event::getStatus() const 9522 { 9523 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 9524 getDispatcher()->vkGetEventStatus( static_cast<VkDevice>( m_device ), static_cast<VkEvent>( m_event ) ) ); 9525 if ( ( result != VULKAN_HPP_NAMESPACE::Result::eEventSet ) && 9526 ( result != VULKAN_HPP_NAMESPACE::Result::eEventReset ) ) 9527 { 9528 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Event::getStatus" ); 9529 } 9530 return result; 9531 } 9532 set() const9533 VULKAN_HPP_INLINE void Event::set() const 9534 { 9535 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 9536 getDispatcher()->vkSetEvent( static_cast<VkDevice>( m_device ), static_cast<VkEvent>( m_event ) ) ); 9537 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 9538 { 9539 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Event::set" ); 9540 } 9541 } 9542 reset() const9543 VULKAN_HPP_INLINE void Event::reset() const 9544 { 9545 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 9546 getDispatcher()->vkResetEvent( static_cast<VkDevice>( m_device ), static_cast<VkEvent>( m_event ) ) ); 9547 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 9548 { 9549 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Event::reset" ); 9550 } 9551 } 9552 9553 template <typename T> 9554 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::pair<VULKAN_HPP_NAMESPACE::Result, std::vector<T>> getResults(uint32_t firstQuery,uint32_t queryCount,size_t dataSize,VULKAN_HPP_NAMESPACE::DeviceSize stride,VULKAN_HPP_NAMESPACE::QueryResultFlags flags) const9555 QueryPool::getResults( uint32_t firstQuery, 9556 uint32_t queryCount, 9557 size_t dataSize, 9558 VULKAN_HPP_NAMESPACE::DeviceSize stride, 9559 VULKAN_HPP_NAMESPACE::QueryResultFlags flags ) const 9560 { 9561 VULKAN_HPP_ASSERT( dataSize % sizeof( T ) == 0 ); 9562 std::vector<T> data( dataSize / sizeof( T ) ); 9563 Result result = 9564 static_cast<Result>( getDispatcher()->vkGetQueryPoolResults( static_cast<VkDevice>( m_device ), 9565 static_cast<VkQueryPool>( m_queryPool ), 9566 firstQuery, 9567 queryCount, 9568 data.size() * sizeof( T ), 9569 reinterpret_cast<void *>( data.data() ), 9570 static_cast<VkDeviceSize>( stride ), 9571 static_cast<VkQueryResultFlags>( flags ) ) ); 9572 if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && 9573 ( result != VULKAN_HPP_NAMESPACE::Result::eNotReady ) ) 9574 { 9575 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::QueryPool::getResults" ); 9576 } 9577 return std::make_pair( result, data ); 9578 } 9579 9580 template <typename T> 9581 VULKAN_HPP_NODISCARD std::pair<VULKAN_HPP_NAMESPACE::Result, T> getResult(uint32_t firstQuery,uint32_t queryCount,VULKAN_HPP_NAMESPACE::DeviceSize stride,VULKAN_HPP_NAMESPACE::QueryResultFlags flags) const9582 QueryPool::getResult( uint32_t firstQuery, 9583 uint32_t queryCount, 9584 VULKAN_HPP_NAMESPACE::DeviceSize stride, 9585 VULKAN_HPP_NAMESPACE::QueryResultFlags flags ) const 9586 { 9587 T data; 9588 Result result = 9589 static_cast<Result>( getDispatcher()->vkGetQueryPoolResults( static_cast<VkDevice>( m_device ), 9590 static_cast<VkQueryPool>( m_queryPool ), 9591 firstQuery, 9592 queryCount, 9593 sizeof( T ), 9594 reinterpret_cast<void *>( &data ), 9595 static_cast<VkDeviceSize>( stride ), 9596 static_cast<VkQueryResultFlags>( flags ) ) ); 9597 if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && 9598 ( result != VULKAN_HPP_NAMESPACE::Result::eNotReady ) ) 9599 { 9600 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::QueryPool::getResult" ); 9601 } 9602 return std::make_pair( result, data ); 9603 } 9604 9605 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::SubresourceLayout getSubresourceLayout(const ImageSubresource & subresource) const9606 Image::getSubresourceLayout( const ImageSubresource & subresource ) const VULKAN_HPP_NOEXCEPT 9607 { 9608 VULKAN_HPP_NAMESPACE::SubresourceLayout layout; 9609 getDispatcher()->vkGetImageSubresourceLayout( static_cast<VkDevice>( m_device ), 9610 static_cast<VkImage>( m_image ), 9611 reinterpret_cast<const VkImageSubresource *>( &subresource ), 9612 reinterpret_cast<VkSubresourceLayout *>( &layout ) ); 9613 return layout; 9614 } 9615 getData() const9616 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<uint8_t> PipelineCache::getData() const 9617 { 9618 std::vector<uint8_t> data; 9619 size_t dataSize; 9620 VULKAN_HPP_NAMESPACE::Result result; 9621 do 9622 { 9623 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPipelineCacheData( 9624 static_cast<VkDevice>( m_device ), static_cast<VkPipelineCache>( m_pipelineCache ), &dataSize, nullptr ) ); 9625 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && dataSize ) 9626 { 9627 data.resize( dataSize ); 9628 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 9629 getDispatcher()->vkGetPipelineCacheData( static_cast<VkDevice>( m_device ), 9630 static_cast<VkPipelineCache>( m_pipelineCache ), 9631 &dataSize, 9632 reinterpret_cast<void *>( data.data() ) ) ); 9633 VULKAN_HPP_ASSERT( dataSize <= data.size() ); 9634 } 9635 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 9636 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( dataSize < data.size() ) ) 9637 { 9638 data.resize( dataSize ); 9639 } 9640 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 9641 { 9642 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PipelineCache::getData" ); 9643 } 9644 return data; 9645 } 9646 9647 VULKAN_HPP_INLINE void merge(ArrayProxy<const VULKAN_HPP_NAMESPACE::PipelineCache> const & srcCaches) const9648 PipelineCache::merge( ArrayProxy<const VULKAN_HPP_NAMESPACE::PipelineCache> const & srcCaches ) const 9649 { 9650 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 9651 getDispatcher()->vkMergePipelineCaches( static_cast<VkDevice>( m_device ), 9652 static_cast<VkPipelineCache>( m_pipelineCache ), 9653 srcCaches.size(), 9654 reinterpret_cast<const VkPipelineCache *>( srcCaches.data() ) ) ); 9655 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 9656 { 9657 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PipelineCache::merge" ); 9658 } 9659 } 9660 9661 VULKAN_HPP_INLINE void reset(VULKAN_HPP_NAMESPACE::DescriptorPoolResetFlags flags) const9662 DescriptorPool::reset( VULKAN_HPP_NAMESPACE::DescriptorPoolResetFlags flags ) const VULKAN_HPP_NOEXCEPT 9663 { 9664 getDispatcher()->vkResetDescriptorPool( static_cast<VkDevice>( m_device ), 9665 static_cast<VkDescriptorPool>( m_descriptorPool ), 9666 static_cast<VkDescriptorPoolResetFlags>( flags ) ); 9667 } 9668 updateDescriptorSets(ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const & descriptorWrites,ArrayProxy<const VULKAN_HPP_NAMESPACE::CopyDescriptorSet> const & descriptorCopies) const9669 VULKAN_HPP_INLINE void Device::updateDescriptorSets( 9670 ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const & descriptorWrites, 9671 ArrayProxy<const VULKAN_HPP_NAMESPACE::CopyDescriptorSet> const & descriptorCopies ) const VULKAN_HPP_NOEXCEPT 9672 { 9673 getDispatcher()->vkUpdateDescriptorSets( 9674 static_cast<VkDevice>( m_device ), 9675 descriptorWrites.size(), 9676 reinterpret_cast<const VkWriteDescriptorSet *>( descriptorWrites.data() ), 9677 descriptorCopies.size(), 9678 reinterpret_cast<const VkCopyDescriptorSet *>( descriptorCopies.data() ) ); 9679 } 9680 9681 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Extent2D getRenderAreaGranularity() const9682 RenderPass::getRenderAreaGranularity() const VULKAN_HPP_NOEXCEPT 9683 { 9684 VULKAN_HPP_NAMESPACE::Extent2D granularity; 9685 getDispatcher()->vkGetRenderAreaGranularity( static_cast<VkDevice>( m_device ), 9686 static_cast<VkRenderPass>( m_renderPass ), 9687 reinterpret_cast<VkExtent2D *>( &granularity ) ); 9688 return granularity; 9689 } 9690 reset(VULKAN_HPP_NAMESPACE::CommandPoolResetFlags flags) const9691 VULKAN_HPP_INLINE void CommandPool::reset( VULKAN_HPP_NAMESPACE::CommandPoolResetFlags flags ) const 9692 { 9693 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 9694 getDispatcher()->vkResetCommandPool( static_cast<VkDevice>( m_device ), 9695 static_cast<VkCommandPool>( m_commandPool ), 9696 static_cast<VkCommandPoolResetFlags>( flags ) ) ); 9697 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 9698 { 9699 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::CommandPool::reset" ); 9700 } 9701 } 9702 begin(const CommandBufferBeginInfo & beginInfo) const9703 VULKAN_HPP_INLINE void CommandBuffer::begin( const CommandBufferBeginInfo & beginInfo ) const 9704 { 9705 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 9706 getDispatcher()->vkBeginCommandBuffer( static_cast<VkCommandBuffer>( m_commandBuffer ), 9707 reinterpret_cast<const VkCommandBufferBeginInfo *>( &beginInfo ) ) ); 9708 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 9709 { 9710 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::begin" ); 9711 } 9712 } 9713 end() const9714 VULKAN_HPP_INLINE void CommandBuffer::end() const 9715 { 9716 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 9717 getDispatcher()->vkEndCommandBuffer( static_cast<VkCommandBuffer>( m_commandBuffer ) ) ); 9718 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 9719 { 9720 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::end" ); 9721 } 9722 } 9723 reset(VULKAN_HPP_NAMESPACE::CommandBufferResetFlags flags) const9724 VULKAN_HPP_INLINE void CommandBuffer::reset( VULKAN_HPP_NAMESPACE::CommandBufferResetFlags flags ) const 9725 { 9726 VULKAN_HPP_NAMESPACE::Result result = 9727 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkResetCommandBuffer( 9728 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkCommandBufferResetFlags>( flags ) ) ); 9729 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 9730 { 9731 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::reset" ); 9732 } 9733 } 9734 9735 VULKAN_HPP_INLINE void bindPipeline(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,VULKAN_HPP_NAMESPACE::Pipeline pipeline) const9736 CommandBuffer::bindPipeline( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint, 9737 VULKAN_HPP_NAMESPACE::Pipeline pipeline ) const VULKAN_HPP_NOEXCEPT 9738 { 9739 getDispatcher()->vkCmdBindPipeline( static_cast<VkCommandBuffer>( m_commandBuffer ), 9740 static_cast<VkPipelineBindPoint>( pipelineBindPoint ), 9741 static_cast<VkPipeline>( pipeline ) ); 9742 } 9743 setViewport(uint32_t firstViewport,ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const & viewports) const9744 VULKAN_HPP_INLINE void CommandBuffer::setViewport( 9745 uint32_t firstViewport, 9746 ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const & viewports ) const VULKAN_HPP_NOEXCEPT 9747 { 9748 getDispatcher()->vkCmdSetViewport( static_cast<VkCommandBuffer>( m_commandBuffer ), 9749 firstViewport, 9750 viewports.size(), 9751 reinterpret_cast<const VkViewport *>( viewports.data() ) ); 9752 } 9753 setScissor(uint32_t firstScissor,ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & scissors) const9754 VULKAN_HPP_INLINE void CommandBuffer::setScissor( 9755 uint32_t firstScissor, ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & scissors ) const VULKAN_HPP_NOEXCEPT 9756 { 9757 getDispatcher()->vkCmdSetScissor( static_cast<VkCommandBuffer>( m_commandBuffer ), 9758 firstScissor, 9759 scissors.size(), 9760 reinterpret_cast<const VkRect2D *>( scissors.data() ) ); 9761 } 9762 setLineWidth(float lineWidth) const9763 VULKAN_HPP_INLINE void CommandBuffer::setLineWidth( float lineWidth ) const VULKAN_HPP_NOEXCEPT 9764 { 9765 getDispatcher()->vkCmdSetLineWidth( static_cast<VkCommandBuffer>( m_commandBuffer ), lineWidth ); 9766 } 9767 setDepthBias(float depthBiasConstantFactor,float depthBiasClamp,float depthBiasSlopeFactor) const9768 VULKAN_HPP_INLINE void CommandBuffer::setDepthBias( float depthBiasConstantFactor, 9769 float depthBiasClamp, 9770 float depthBiasSlopeFactor ) const VULKAN_HPP_NOEXCEPT 9771 { 9772 getDispatcher()->vkCmdSetDepthBias( static_cast<VkCommandBuffer>( m_commandBuffer ), 9773 depthBiasConstantFactor, 9774 depthBiasClamp, 9775 depthBiasSlopeFactor ); 9776 } 9777 setBlendConstants(const float blendConstants[4]) const9778 VULKAN_HPP_INLINE void CommandBuffer::setBlendConstants( const float blendConstants[4] ) const VULKAN_HPP_NOEXCEPT 9779 { 9780 getDispatcher()->vkCmdSetBlendConstants( static_cast<VkCommandBuffer>( m_commandBuffer ), blendConstants ); 9781 } 9782 setDepthBounds(float minDepthBounds,float maxDepthBounds) const9783 VULKAN_HPP_INLINE void CommandBuffer::setDepthBounds( float minDepthBounds, 9784 float maxDepthBounds ) const VULKAN_HPP_NOEXCEPT 9785 { 9786 getDispatcher()->vkCmdSetDepthBounds( 9787 static_cast<VkCommandBuffer>( m_commandBuffer ), minDepthBounds, maxDepthBounds ); 9788 } 9789 setStencilCompareMask(VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,uint32_t compareMask) const9790 VULKAN_HPP_INLINE void CommandBuffer::setStencilCompareMask( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask, 9791 uint32_t compareMask ) const VULKAN_HPP_NOEXCEPT 9792 { 9793 getDispatcher()->vkCmdSetStencilCompareMask( 9794 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkStencilFaceFlags>( faceMask ), compareMask ); 9795 } 9796 setStencilWriteMask(VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,uint32_t writeMask) const9797 VULKAN_HPP_INLINE void CommandBuffer::setStencilWriteMask( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask, 9798 uint32_t writeMask ) const VULKAN_HPP_NOEXCEPT 9799 { 9800 getDispatcher()->vkCmdSetStencilWriteMask( 9801 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkStencilFaceFlags>( faceMask ), writeMask ); 9802 } 9803 setStencilReference(VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,uint32_t reference) const9804 VULKAN_HPP_INLINE void CommandBuffer::setStencilReference( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask, 9805 uint32_t reference ) const VULKAN_HPP_NOEXCEPT 9806 { 9807 getDispatcher()->vkCmdSetStencilReference( 9808 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkStencilFaceFlags>( faceMask ), reference ); 9809 } 9810 9811 VULKAN_HPP_INLINE void bindDescriptorSets(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,VULKAN_HPP_NAMESPACE::PipelineLayout layout,uint32_t firstSet,ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorSet> const & descriptorSets,ArrayProxy<const uint32_t> const & dynamicOffsets) const9812 CommandBuffer::bindDescriptorSets( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint, 9813 VULKAN_HPP_NAMESPACE::PipelineLayout layout, 9814 uint32_t firstSet, 9815 ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorSet> const & descriptorSets, 9816 ArrayProxy<const uint32_t> const & dynamicOffsets ) const VULKAN_HPP_NOEXCEPT 9817 { 9818 getDispatcher()->vkCmdBindDescriptorSets( static_cast<VkCommandBuffer>( m_commandBuffer ), 9819 static_cast<VkPipelineBindPoint>( pipelineBindPoint ), 9820 static_cast<VkPipelineLayout>( layout ), 9821 firstSet, 9822 descriptorSets.size(), 9823 reinterpret_cast<const VkDescriptorSet *>( descriptorSets.data() ), 9824 dynamicOffsets.size(), 9825 dynamicOffsets.data() ); 9826 } 9827 9828 VULKAN_HPP_INLINE void bindIndexBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer,VULKAN_HPP_NAMESPACE::DeviceSize offset,VULKAN_HPP_NAMESPACE::IndexType indexType) const9829 CommandBuffer::bindIndexBuffer( VULKAN_HPP_NAMESPACE::Buffer buffer, 9830 VULKAN_HPP_NAMESPACE::DeviceSize offset, 9831 VULKAN_HPP_NAMESPACE::IndexType indexType ) const VULKAN_HPP_NOEXCEPT 9832 { 9833 getDispatcher()->vkCmdBindIndexBuffer( static_cast<VkCommandBuffer>( m_commandBuffer ), 9834 static_cast<VkBuffer>( buffer ), 9835 static_cast<VkDeviceSize>( offset ), 9836 static_cast<VkIndexType>( indexType ) ); 9837 } 9838 bindVertexBuffers(uint32_t firstBinding,ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers,ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets) const9839 VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers( 9840 uint32_t firstBinding, 9841 ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers, 9842 ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS 9843 { 9844 # ifdef VULKAN_HPP_NO_EXCEPTIONS 9845 VULKAN_HPP_ASSERT( buffers.size() == offsets.size() ); 9846 # else 9847 if ( buffers.size() != offsets.size() ) 9848 { 9849 throw LogicError( VULKAN_HPP_NAMESPACE_STRING 9850 "::CommandBuffer::bindVertexBuffers: buffers.size() != offsets.size()" ); 9851 } 9852 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ 9853 9854 getDispatcher()->vkCmdBindVertexBuffers( static_cast<VkCommandBuffer>( m_commandBuffer ), 9855 firstBinding, 9856 buffers.size(), 9857 reinterpret_cast<const VkBuffer *>( buffers.data() ), 9858 reinterpret_cast<const VkDeviceSize *>( offsets.data() ) ); 9859 } 9860 draw(uint32_t vertexCount,uint32_t instanceCount,uint32_t firstVertex,uint32_t firstInstance) const9861 VULKAN_HPP_INLINE void CommandBuffer::draw( uint32_t vertexCount, 9862 uint32_t instanceCount, 9863 uint32_t firstVertex, 9864 uint32_t firstInstance ) const VULKAN_HPP_NOEXCEPT 9865 { 9866 getDispatcher()->vkCmdDraw( 9867 static_cast<VkCommandBuffer>( m_commandBuffer ), vertexCount, instanceCount, firstVertex, firstInstance ); 9868 } 9869 drawIndexed(uint32_t indexCount,uint32_t instanceCount,uint32_t firstIndex,int32_t vertexOffset,uint32_t firstInstance) const9870 VULKAN_HPP_INLINE void CommandBuffer::drawIndexed( uint32_t indexCount, 9871 uint32_t instanceCount, 9872 uint32_t firstIndex, 9873 int32_t vertexOffset, 9874 uint32_t firstInstance ) const VULKAN_HPP_NOEXCEPT 9875 { 9876 getDispatcher()->vkCmdDrawIndexed( static_cast<VkCommandBuffer>( m_commandBuffer ), 9877 indexCount, 9878 instanceCount, 9879 firstIndex, 9880 vertexOffset, 9881 firstInstance ); 9882 } 9883 drawIndirect(VULKAN_HPP_NAMESPACE::Buffer buffer,VULKAN_HPP_NAMESPACE::DeviceSize offset,uint32_t drawCount,uint32_t stride) const9884 VULKAN_HPP_INLINE void CommandBuffer::drawIndirect( VULKAN_HPP_NAMESPACE::Buffer buffer, 9885 VULKAN_HPP_NAMESPACE::DeviceSize offset, 9886 uint32_t drawCount, 9887 uint32_t stride ) const VULKAN_HPP_NOEXCEPT 9888 { 9889 getDispatcher()->vkCmdDrawIndirect( static_cast<VkCommandBuffer>( m_commandBuffer ), 9890 static_cast<VkBuffer>( buffer ), 9891 static_cast<VkDeviceSize>( offset ), 9892 drawCount, 9893 stride ); 9894 } 9895 drawIndexedIndirect(VULKAN_HPP_NAMESPACE::Buffer buffer,VULKAN_HPP_NAMESPACE::DeviceSize offset,uint32_t drawCount,uint32_t stride) const9896 VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirect( VULKAN_HPP_NAMESPACE::Buffer buffer, 9897 VULKAN_HPP_NAMESPACE::DeviceSize offset, 9898 uint32_t drawCount, 9899 uint32_t stride ) const VULKAN_HPP_NOEXCEPT 9900 { 9901 getDispatcher()->vkCmdDrawIndexedIndirect( static_cast<VkCommandBuffer>( m_commandBuffer ), 9902 static_cast<VkBuffer>( buffer ), 9903 static_cast<VkDeviceSize>( offset ), 9904 drawCount, 9905 stride ); 9906 } 9907 dispatch(uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const9908 VULKAN_HPP_INLINE void CommandBuffer::dispatch( uint32_t groupCountX, 9909 uint32_t groupCountY, 9910 uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT 9911 { 9912 getDispatcher()->vkCmdDispatch( 9913 static_cast<VkCommandBuffer>( m_commandBuffer ), groupCountX, groupCountY, groupCountZ ); 9914 } 9915 9916 VULKAN_HPP_INLINE void dispatchIndirect(VULKAN_HPP_NAMESPACE::Buffer buffer,VULKAN_HPP_NAMESPACE::DeviceSize offset) const9917 CommandBuffer::dispatchIndirect( VULKAN_HPP_NAMESPACE::Buffer buffer, 9918 VULKAN_HPP_NAMESPACE::DeviceSize offset ) const VULKAN_HPP_NOEXCEPT 9919 { 9920 getDispatcher()->vkCmdDispatchIndirect( static_cast<VkCommandBuffer>( m_commandBuffer ), 9921 static_cast<VkBuffer>( buffer ), 9922 static_cast<VkDeviceSize>( offset ) ); 9923 } 9924 copyBuffer(VULKAN_HPP_NAMESPACE::Buffer srcBuffer,VULKAN_HPP_NAMESPACE::Buffer dstBuffer,ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferCopy> const & regions) const9925 VULKAN_HPP_INLINE void CommandBuffer::copyBuffer( 9926 VULKAN_HPP_NAMESPACE::Buffer srcBuffer, 9927 VULKAN_HPP_NAMESPACE::Buffer dstBuffer, 9928 ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferCopy> const & regions ) const VULKAN_HPP_NOEXCEPT 9929 { 9930 getDispatcher()->vkCmdCopyBuffer( static_cast<VkCommandBuffer>( m_commandBuffer ), 9931 static_cast<VkBuffer>( srcBuffer ), 9932 static_cast<VkBuffer>( dstBuffer ), 9933 regions.size(), 9934 reinterpret_cast<const VkBufferCopy *>( regions.data() ) ); 9935 } 9936 copyImage(VULKAN_HPP_NAMESPACE::Image srcImage,VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,VULKAN_HPP_NAMESPACE::Image dstImage,VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageCopy> const & regions) const9937 VULKAN_HPP_INLINE void CommandBuffer::copyImage( 9938 VULKAN_HPP_NAMESPACE::Image srcImage, 9939 VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout, 9940 VULKAN_HPP_NAMESPACE::Image dstImage, 9941 VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout, 9942 ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageCopy> const & regions ) const VULKAN_HPP_NOEXCEPT 9943 { 9944 getDispatcher()->vkCmdCopyImage( static_cast<VkCommandBuffer>( m_commandBuffer ), 9945 static_cast<VkImage>( srcImage ), 9946 static_cast<VkImageLayout>( srcImageLayout ), 9947 static_cast<VkImage>( dstImage ), 9948 static_cast<VkImageLayout>( dstImageLayout ), 9949 regions.size(), 9950 reinterpret_cast<const VkImageCopy *>( regions.data() ) ); 9951 } 9952 blitImage(VULKAN_HPP_NAMESPACE::Image srcImage,VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,VULKAN_HPP_NAMESPACE::Image dstImage,VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageBlit> const & regions,VULKAN_HPP_NAMESPACE::Filter filter) const9953 VULKAN_HPP_INLINE void CommandBuffer::blitImage( VULKAN_HPP_NAMESPACE::Image srcImage, 9954 VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout, 9955 VULKAN_HPP_NAMESPACE::Image dstImage, 9956 VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout, 9957 ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageBlit> const & regions, 9958 VULKAN_HPP_NAMESPACE::Filter filter ) const VULKAN_HPP_NOEXCEPT 9959 { 9960 getDispatcher()->vkCmdBlitImage( static_cast<VkCommandBuffer>( m_commandBuffer ), 9961 static_cast<VkImage>( srcImage ), 9962 static_cast<VkImageLayout>( srcImageLayout ), 9963 static_cast<VkImage>( dstImage ), 9964 static_cast<VkImageLayout>( dstImageLayout ), 9965 regions.size(), 9966 reinterpret_cast<const VkImageBlit *>( regions.data() ), 9967 static_cast<VkFilter>( filter ) ); 9968 } 9969 copyBufferToImage(VULKAN_HPP_NAMESPACE::Buffer srcBuffer,VULKAN_HPP_NAMESPACE::Image dstImage,VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferImageCopy> const & regions) const9970 VULKAN_HPP_INLINE void CommandBuffer::copyBufferToImage( 9971 VULKAN_HPP_NAMESPACE::Buffer srcBuffer, 9972 VULKAN_HPP_NAMESPACE::Image dstImage, 9973 VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout, 9974 ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferImageCopy> const & regions ) const VULKAN_HPP_NOEXCEPT 9975 { 9976 getDispatcher()->vkCmdCopyBufferToImage( static_cast<VkCommandBuffer>( m_commandBuffer ), 9977 static_cast<VkBuffer>( srcBuffer ), 9978 static_cast<VkImage>( dstImage ), 9979 static_cast<VkImageLayout>( dstImageLayout ), 9980 regions.size(), 9981 reinterpret_cast<const VkBufferImageCopy *>( regions.data() ) ); 9982 } 9983 copyImageToBuffer(VULKAN_HPP_NAMESPACE::Image srcImage,VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,VULKAN_HPP_NAMESPACE::Buffer dstBuffer,ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferImageCopy> const & regions) const9984 VULKAN_HPP_INLINE void CommandBuffer::copyImageToBuffer( 9985 VULKAN_HPP_NAMESPACE::Image srcImage, 9986 VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout, 9987 VULKAN_HPP_NAMESPACE::Buffer dstBuffer, 9988 ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferImageCopy> const & regions ) const VULKAN_HPP_NOEXCEPT 9989 { 9990 getDispatcher()->vkCmdCopyImageToBuffer( static_cast<VkCommandBuffer>( m_commandBuffer ), 9991 static_cast<VkImage>( srcImage ), 9992 static_cast<VkImageLayout>( srcImageLayout ), 9993 static_cast<VkBuffer>( dstBuffer ), 9994 regions.size(), 9995 reinterpret_cast<const VkBufferImageCopy *>( regions.data() ) ); 9996 } 9997 9998 template <typename T> updateBuffer(VULKAN_HPP_NAMESPACE::Buffer dstBuffer,VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,ArrayProxy<const T> const & data) const9999 VULKAN_HPP_INLINE void CommandBuffer::updateBuffer( VULKAN_HPP_NAMESPACE::Buffer dstBuffer, 10000 VULKAN_HPP_NAMESPACE::DeviceSize dstOffset, 10001 ArrayProxy<const T> const & data ) const VULKAN_HPP_NOEXCEPT 10002 { 10003 getDispatcher()->vkCmdUpdateBuffer( static_cast<VkCommandBuffer>( m_commandBuffer ), 10004 static_cast<VkBuffer>( dstBuffer ), 10005 static_cast<VkDeviceSize>( dstOffset ), 10006 data.size() * sizeof( T ), 10007 reinterpret_cast<const void *>( data.data() ) ); 10008 } 10009 fillBuffer(VULKAN_HPP_NAMESPACE::Buffer dstBuffer,VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,VULKAN_HPP_NAMESPACE::DeviceSize size,uint32_t data) const10010 VULKAN_HPP_INLINE void CommandBuffer::fillBuffer( VULKAN_HPP_NAMESPACE::Buffer dstBuffer, 10011 VULKAN_HPP_NAMESPACE::DeviceSize dstOffset, 10012 VULKAN_HPP_NAMESPACE::DeviceSize size, 10013 uint32_t data ) const VULKAN_HPP_NOEXCEPT 10014 { 10015 getDispatcher()->vkCmdFillBuffer( static_cast<VkCommandBuffer>( m_commandBuffer ), 10016 static_cast<VkBuffer>( dstBuffer ), 10017 static_cast<VkDeviceSize>( dstOffset ), 10018 static_cast<VkDeviceSize>( size ), 10019 data ); 10020 } 10021 clearColorImage(VULKAN_HPP_NAMESPACE::Image image,VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,const ClearColorValue & color,ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageSubresourceRange> const & ranges) const10022 VULKAN_HPP_INLINE void CommandBuffer::clearColorImage( 10023 VULKAN_HPP_NAMESPACE::Image image, 10024 VULKAN_HPP_NAMESPACE::ImageLayout imageLayout, 10025 const ClearColorValue & color, 10026 ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageSubresourceRange> const & ranges ) const VULKAN_HPP_NOEXCEPT 10027 { 10028 getDispatcher()->vkCmdClearColorImage( static_cast<VkCommandBuffer>( m_commandBuffer ), 10029 static_cast<VkImage>( image ), 10030 static_cast<VkImageLayout>( imageLayout ), 10031 reinterpret_cast<const VkClearColorValue *>( &color ), 10032 ranges.size(), 10033 reinterpret_cast<const VkImageSubresourceRange *>( ranges.data() ) ); 10034 } 10035 clearDepthStencilImage(VULKAN_HPP_NAMESPACE::Image image,VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,const ClearDepthStencilValue & depthStencil,ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageSubresourceRange> const & ranges) const10036 VULKAN_HPP_INLINE void CommandBuffer::clearDepthStencilImage( 10037 VULKAN_HPP_NAMESPACE::Image image, 10038 VULKAN_HPP_NAMESPACE::ImageLayout imageLayout, 10039 const ClearDepthStencilValue & depthStencil, 10040 ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageSubresourceRange> const & ranges ) const VULKAN_HPP_NOEXCEPT 10041 { 10042 getDispatcher()->vkCmdClearDepthStencilImage( 10043 static_cast<VkCommandBuffer>( m_commandBuffer ), 10044 static_cast<VkImage>( image ), 10045 static_cast<VkImageLayout>( imageLayout ), 10046 reinterpret_cast<const VkClearDepthStencilValue *>( &depthStencil ), 10047 ranges.size(), 10048 reinterpret_cast<const VkImageSubresourceRange *>( ranges.data() ) ); 10049 } 10050 clearAttachments(ArrayProxy<const VULKAN_HPP_NAMESPACE::ClearAttachment> const & attachments,ArrayProxy<const VULKAN_HPP_NAMESPACE::ClearRect> const & rects) const10051 VULKAN_HPP_INLINE void CommandBuffer::clearAttachments( 10052 ArrayProxy<const VULKAN_HPP_NAMESPACE::ClearAttachment> const & attachments, 10053 ArrayProxy<const VULKAN_HPP_NAMESPACE::ClearRect> const & rects ) const VULKAN_HPP_NOEXCEPT 10054 { 10055 getDispatcher()->vkCmdClearAttachments( static_cast<VkCommandBuffer>( m_commandBuffer ), 10056 attachments.size(), 10057 reinterpret_cast<const VkClearAttachment *>( attachments.data() ), 10058 rects.size(), 10059 reinterpret_cast<const VkClearRect *>( rects.data() ) ); 10060 } 10061 resolveImage(VULKAN_HPP_NAMESPACE::Image srcImage,VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,VULKAN_HPP_NAMESPACE::Image dstImage,VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageResolve> const & regions) const10062 VULKAN_HPP_INLINE void CommandBuffer::resolveImage( 10063 VULKAN_HPP_NAMESPACE::Image srcImage, 10064 VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout, 10065 VULKAN_HPP_NAMESPACE::Image dstImage, 10066 VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout, 10067 ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageResolve> const & regions ) const VULKAN_HPP_NOEXCEPT 10068 { 10069 getDispatcher()->vkCmdResolveImage( static_cast<VkCommandBuffer>( m_commandBuffer ), 10070 static_cast<VkImage>( srcImage ), 10071 static_cast<VkImageLayout>( srcImageLayout ), 10072 static_cast<VkImage>( dstImage ), 10073 static_cast<VkImageLayout>( dstImageLayout ), 10074 regions.size(), 10075 reinterpret_cast<const VkImageResolve *>( regions.data() ) ); 10076 } 10077 10078 VULKAN_HPP_INLINE void setEvent(VULKAN_HPP_NAMESPACE::Event event,VULKAN_HPP_NAMESPACE::PipelineStageFlags stageMask) const10079 CommandBuffer::setEvent( VULKAN_HPP_NAMESPACE::Event event, 10080 VULKAN_HPP_NAMESPACE::PipelineStageFlags stageMask ) const VULKAN_HPP_NOEXCEPT 10081 { 10082 getDispatcher()->vkCmdSetEvent( static_cast<VkCommandBuffer>( m_commandBuffer ), 10083 static_cast<VkEvent>( event ), 10084 static_cast<VkPipelineStageFlags>( stageMask ) ); 10085 } 10086 10087 VULKAN_HPP_INLINE void resetEvent(VULKAN_HPP_NAMESPACE::Event event,VULKAN_HPP_NAMESPACE::PipelineStageFlags stageMask) const10088 CommandBuffer::resetEvent( VULKAN_HPP_NAMESPACE::Event event, 10089 VULKAN_HPP_NAMESPACE::PipelineStageFlags stageMask ) const VULKAN_HPP_NOEXCEPT 10090 { 10091 getDispatcher()->vkCmdResetEvent( static_cast<VkCommandBuffer>( m_commandBuffer ), 10092 static_cast<VkEvent>( event ), 10093 static_cast<VkPipelineStageFlags>( stageMask ) ); 10094 } 10095 waitEvents(ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const & events,VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask,VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask,ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryBarrier> const & memoryBarriers,ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier> const & bufferMemoryBarriers,ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier> const & imageMemoryBarriers) const10096 VULKAN_HPP_INLINE void CommandBuffer::waitEvents( 10097 ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const & events, 10098 VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask, 10099 VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask, 10100 ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryBarrier> const & memoryBarriers, 10101 ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier> const & bufferMemoryBarriers, 10102 ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier> const & imageMemoryBarriers ) const VULKAN_HPP_NOEXCEPT 10103 { 10104 getDispatcher()->vkCmdWaitEvents( static_cast<VkCommandBuffer>( m_commandBuffer ), 10105 events.size(), 10106 reinterpret_cast<const VkEvent *>( events.data() ), 10107 static_cast<VkPipelineStageFlags>( srcStageMask ), 10108 static_cast<VkPipelineStageFlags>( dstStageMask ), 10109 memoryBarriers.size(), 10110 reinterpret_cast<const VkMemoryBarrier *>( memoryBarriers.data() ), 10111 bufferMemoryBarriers.size(), 10112 reinterpret_cast<const VkBufferMemoryBarrier *>( bufferMemoryBarriers.data() ), 10113 imageMemoryBarriers.size(), 10114 reinterpret_cast<const VkImageMemoryBarrier *>( imageMemoryBarriers.data() ) ); 10115 } 10116 pipelineBarrier(VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask,VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask,VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags,ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryBarrier> const & memoryBarriers,ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier> const & bufferMemoryBarriers,ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier> const & imageMemoryBarriers) const10117 VULKAN_HPP_INLINE void CommandBuffer::pipelineBarrier( 10118 VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask, 10119 VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask, 10120 VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags, 10121 ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryBarrier> const & memoryBarriers, 10122 ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier> const & bufferMemoryBarriers, 10123 ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier> const & imageMemoryBarriers ) const VULKAN_HPP_NOEXCEPT 10124 { 10125 getDispatcher()->vkCmdPipelineBarrier( 10126 static_cast<VkCommandBuffer>( m_commandBuffer ), 10127 static_cast<VkPipelineStageFlags>( srcStageMask ), 10128 static_cast<VkPipelineStageFlags>( dstStageMask ), 10129 static_cast<VkDependencyFlags>( dependencyFlags ), 10130 memoryBarriers.size(), 10131 reinterpret_cast<const VkMemoryBarrier *>( memoryBarriers.data() ), 10132 bufferMemoryBarriers.size(), 10133 reinterpret_cast<const VkBufferMemoryBarrier *>( bufferMemoryBarriers.data() ), 10134 imageMemoryBarriers.size(), 10135 reinterpret_cast<const VkImageMemoryBarrier *>( imageMemoryBarriers.data() ) ); 10136 } 10137 10138 VULKAN_HPP_INLINE void beginQuery(VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t query,VULKAN_HPP_NAMESPACE::QueryControlFlags flags) const10139 CommandBuffer::beginQuery( VULKAN_HPP_NAMESPACE::QueryPool queryPool, 10140 uint32_t query, 10141 VULKAN_HPP_NAMESPACE::QueryControlFlags flags ) const VULKAN_HPP_NOEXCEPT 10142 { 10143 getDispatcher()->vkCmdBeginQuery( static_cast<VkCommandBuffer>( m_commandBuffer ), 10144 static_cast<VkQueryPool>( queryPool ), 10145 query, 10146 static_cast<VkQueryControlFlags>( flags ) ); 10147 } 10148 endQuery(VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t query) const10149 VULKAN_HPP_INLINE void CommandBuffer::endQuery( VULKAN_HPP_NAMESPACE::QueryPool queryPool, 10150 uint32_t query ) const VULKAN_HPP_NOEXCEPT 10151 { 10152 getDispatcher()->vkCmdEndQuery( 10153 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkQueryPool>( queryPool ), query ); 10154 } 10155 resetQueryPool(VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t firstQuery,uint32_t queryCount) const10156 VULKAN_HPP_INLINE void CommandBuffer::resetQueryPool( VULKAN_HPP_NAMESPACE::QueryPool queryPool, 10157 uint32_t firstQuery, 10158 uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT 10159 { 10160 getDispatcher()->vkCmdResetQueryPool( static_cast<VkCommandBuffer>( m_commandBuffer ), 10161 static_cast<VkQueryPool>( queryPool ), 10162 firstQuery, 10163 queryCount ); 10164 } 10165 writeTimestamp(VULKAN_HPP_NAMESPACE::PipelineStageFlagBits pipelineStage,VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t query) const10166 VULKAN_HPP_INLINE void CommandBuffer::writeTimestamp( VULKAN_HPP_NAMESPACE::PipelineStageFlagBits pipelineStage, 10167 VULKAN_HPP_NAMESPACE::QueryPool queryPool, 10168 uint32_t query ) const VULKAN_HPP_NOEXCEPT 10169 { 10170 getDispatcher()->vkCmdWriteTimestamp( static_cast<VkCommandBuffer>( m_commandBuffer ), 10171 static_cast<VkPipelineStageFlagBits>( pipelineStage ), 10172 static_cast<VkQueryPool>( queryPool ), 10173 query ); 10174 } 10175 10176 VULKAN_HPP_INLINE void 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) const10177 CommandBuffer::copyQueryPoolResults( VULKAN_HPP_NAMESPACE::QueryPool queryPool, 10178 uint32_t firstQuery, 10179 uint32_t queryCount, 10180 VULKAN_HPP_NAMESPACE::Buffer dstBuffer, 10181 VULKAN_HPP_NAMESPACE::DeviceSize dstOffset, 10182 VULKAN_HPP_NAMESPACE::DeviceSize stride, 10183 VULKAN_HPP_NAMESPACE::QueryResultFlags flags ) const VULKAN_HPP_NOEXCEPT 10184 { 10185 getDispatcher()->vkCmdCopyQueryPoolResults( static_cast<VkCommandBuffer>( m_commandBuffer ), 10186 static_cast<VkQueryPool>( queryPool ), 10187 firstQuery, 10188 queryCount, 10189 static_cast<VkBuffer>( dstBuffer ), 10190 static_cast<VkDeviceSize>( dstOffset ), 10191 static_cast<VkDeviceSize>( stride ), 10192 static_cast<VkQueryResultFlags>( flags ) ); 10193 } 10194 10195 template <typename T> pushConstants(VULKAN_HPP_NAMESPACE::PipelineLayout layout,VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags,uint32_t offset,ArrayProxy<const T> const & values) const10196 VULKAN_HPP_INLINE void CommandBuffer::pushConstants( VULKAN_HPP_NAMESPACE::PipelineLayout layout, 10197 VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags, 10198 uint32_t offset, 10199 ArrayProxy<const T> const & values ) const VULKAN_HPP_NOEXCEPT 10200 { 10201 getDispatcher()->vkCmdPushConstants( static_cast<VkCommandBuffer>( m_commandBuffer ), 10202 static_cast<VkPipelineLayout>( layout ), 10203 static_cast<VkShaderStageFlags>( stageFlags ), 10204 offset, 10205 values.size() * sizeof( T ), 10206 reinterpret_cast<const void *>( values.data() ) ); 10207 } 10208 10209 VULKAN_HPP_INLINE void beginRenderPass(const RenderPassBeginInfo & renderPassBegin,VULKAN_HPP_NAMESPACE::SubpassContents contents) const10210 CommandBuffer::beginRenderPass( const RenderPassBeginInfo & renderPassBegin, 10211 VULKAN_HPP_NAMESPACE::SubpassContents contents ) const VULKAN_HPP_NOEXCEPT 10212 { 10213 getDispatcher()->vkCmdBeginRenderPass( static_cast<VkCommandBuffer>( m_commandBuffer ), 10214 reinterpret_cast<const VkRenderPassBeginInfo *>( &renderPassBegin ), 10215 static_cast<VkSubpassContents>( contents ) ); 10216 } 10217 10218 VULKAN_HPP_INLINE void nextSubpass(VULKAN_HPP_NAMESPACE::SubpassContents contents) const10219 CommandBuffer::nextSubpass( VULKAN_HPP_NAMESPACE::SubpassContents contents ) const VULKAN_HPP_NOEXCEPT 10220 { 10221 getDispatcher()->vkCmdNextSubpass( static_cast<VkCommandBuffer>( m_commandBuffer ), 10222 static_cast<VkSubpassContents>( contents ) ); 10223 } 10224 endRenderPass() const10225 VULKAN_HPP_INLINE void CommandBuffer::endRenderPass() const VULKAN_HPP_NOEXCEPT 10226 { 10227 getDispatcher()->vkCmdEndRenderPass( static_cast<VkCommandBuffer>( m_commandBuffer ) ); 10228 } 10229 executeCommands(ArrayProxy<const VULKAN_HPP_NAMESPACE::CommandBuffer> const & commandBuffers) const10230 VULKAN_HPP_INLINE void CommandBuffer::executeCommands( 10231 ArrayProxy<const VULKAN_HPP_NAMESPACE::CommandBuffer> const & commandBuffers ) const VULKAN_HPP_NOEXCEPT 10232 { 10233 getDispatcher()->vkCmdExecuteCommands( static_cast<VkCommandBuffer>( m_commandBuffer ), 10234 commandBuffers.size(), 10235 reinterpret_cast<const VkCommandBuffer *>( commandBuffers.data() ) ); 10236 } 10237 10238 //=== VK_VERSION_1_1 === 10239 enumerateInstanceVersion() const10240 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint32_t Context::enumerateInstanceVersion() const 10241 { 10242 uint32_t apiVersion; 10243 VULKAN_HPP_NAMESPACE::Result result = 10244 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkEnumerateInstanceVersion( &apiVersion ) ); 10245 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 10246 { 10247 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Context::enumerateInstanceVersion" ); 10248 } 10249 return apiVersion; 10250 } 10251 10252 VULKAN_HPP_INLINE void bindBufferMemory2(ArrayProxy<const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo> const & bindInfos) const10253 Device::bindBufferMemory2( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo> const & bindInfos ) const 10254 { 10255 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 10256 getDispatcher()->vkBindBufferMemory2( static_cast<VkDevice>( m_device ), 10257 bindInfos.size(), 10258 reinterpret_cast<const VkBindBufferMemoryInfo *>( bindInfos.data() ) ) ); 10259 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 10260 { 10261 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindBufferMemory2" ); 10262 } 10263 } 10264 10265 VULKAN_HPP_INLINE void bindImageMemory2(ArrayProxy<const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo> const & bindInfos) const10266 Device::bindImageMemory2( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo> const & bindInfos ) const 10267 { 10268 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 10269 getDispatcher()->vkBindImageMemory2( static_cast<VkDevice>( m_device ), 10270 bindInfos.size(), 10271 reinterpret_cast<const VkBindImageMemoryInfo *>( bindInfos.data() ) ) ); 10272 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 10273 { 10274 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindImageMemory2" ); 10275 } 10276 } 10277 10278 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags getGroupPeerMemoryFeatures(uint32_t heapIndex,uint32_t localDeviceIndex,uint32_t remoteDeviceIndex) const10279 Device::getGroupPeerMemoryFeatures( uint32_t heapIndex, 10280 uint32_t localDeviceIndex, 10281 uint32_t remoteDeviceIndex ) const VULKAN_HPP_NOEXCEPT 10282 { 10283 VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags peerMemoryFeatures; 10284 getDispatcher()->vkGetDeviceGroupPeerMemoryFeatures( 10285 static_cast<VkDevice>( m_device ), 10286 heapIndex, 10287 localDeviceIndex, 10288 remoteDeviceIndex, 10289 reinterpret_cast<VkPeerMemoryFeatureFlags *>( &peerMemoryFeatures ) ); 10290 return peerMemoryFeatures; 10291 } 10292 setDeviceMask(uint32_t deviceMask) const10293 VULKAN_HPP_INLINE void CommandBuffer::setDeviceMask( uint32_t deviceMask ) const VULKAN_HPP_NOEXCEPT 10294 { 10295 getDispatcher()->vkCmdSetDeviceMask( static_cast<VkCommandBuffer>( m_commandBuffer ), deviceMask ); 10296 } 10297 dispatchBase(uint32_t baseGroupX,uint32_t baseGroupY,uint32_t baseGroupZ,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const10298 VULKAN_HPP_INLINE void CommandBuffer::dispatchBase( uint32_t baseGroupX, 10299 uint32_t baseGroupY, 10300 uint32_t baseGroupZ, 10301 uint32_t groupCountX, 10302 uint32_t groupCountY, 10303 uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT 10304 { 10305 getDispatcher()->vkCmdDispatchBase( static_cast<VkCommandBuffer>( m_commandBuffer ), 10306 baseGroupX, 10307 baseGroupY, 10308 baseGroupZ, 10309 groupCountX, 10310 groupCountY, 10311 groupCountZ ); 10312 } 10313 10314 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties> enumeratePhysicalDeviceGroups() const10315 Instance::enumeratePhysicalDeviceGroups() const 10316 { 10317 std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties> physicalDeviceGroupProperties; 10318 uint32_t physicalDeviceGroupCount; 10319 VULKAN_HPP_NAMESPACE::Result result; 10320 do 10321 { 10322 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkEnumeratePhysicalDeviceGroups( 10323 static_cast<VkInstance>( m_instance ), &physicalDeviceGroupCount, nullptr ) ); 10324 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && physicalDeviceGroupCount ) 10325 { 10326 physicalDeviceGroupProperties.resize( physicalDeviceGroupCount ); 10327 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkEnumeratePhysicalDeviceGroups( 10328 static_cast<VkInstance>( m_instance ), 10329 &physicalDeviceGroupCount, 10330 reinterpret_cast<VkPhysicalDeviceGroupProperties *>( physicalDeviceGroupProperties.data() ) ) ); 10331 VULKAN_HPP_ASSERT( physicalDeviceGroupCount <= physicalDeviceGroupProperties.size() ); 10332 } 10333 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 10334 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && 10335 ( physicalDeviceGroupCount < physicalDeviceGroupProperties.size() ) ) 10336 { 10337 physicalDeviceGroupProperties.resize( physicalDeviceGroupCount ); 10338 } 10339 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 10340 { 10341 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::enumeratePhysicalDeviceGroups" ); 10342 } 10343 return physicalDeviceGroupProperties; 10344 } 10345 10346 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2 getImageMemoryRequirements2(const ImageMemoryRequirementsInfo2 & info) const10347 Device::getImageMemoryRequirements2( const ImageMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT 10348 { 10349 VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements; 10350 getDispatcher()->vkGetImageMemoryRequirements2( 10351 static_cast<VkDevice>( m_device ), 10352 reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>( &info ), 10353 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 10354 return memoryRequirements; 10355 } 10356 10357 template <typename X, typename Y, typename... Z> 10358 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> getImageMemoryRequirements2(const ImageMemoryRequirementsInfo2 & info) const10359 Device::getImageMemoryRequirements2( const ImageMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT 10360 { 10361 StructureChain<X, Y, Z...> structureChain; 10362 VULKAN_HPP_NAMESPACE::MemoryRequirements2 & memoryRequirements = 10363 structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>(); 10364 getDispatcher()->vkGetImageMemoryRequirements2( 10365 static_cast<VkDevice>( m_device ), 10366 reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>( &info ), 10367 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 10368 return structureChain; 10369 } 10370 10371 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2 getBufferMemoryRequirements2(const BufferMemoryRequirementsInfo2 & info) const10372 Device::getBufferMemoryRequirements2( const BufferMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT 10373 { 10374 VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements; 10375 getDispatcher()->vkGetBufferMemoryRequirements2( 10376 static_cast<VkDevice>( m_device ), 10377 reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>( &info ), 10378 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 10379 return memoryRequirements; 10380 } 10381 10382 template <typename X, typename Y, typename... Z> 10383 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> getBufferMemoryRequirements2(const BufferMemoryRequirementsInfo2 & info) const10384 Device::getBufferMemoryRequirements2( const BufferMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT 10385 { 10386 StructureChain<X, Y, Z...> structureChain; 10387 VULKAN_HPP_NAMESPACE::MemoryRequirements2 & memoryRequirements = 10388 structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>(); 10389 getDispatcher()->vkGetBufferMemoryRequirements2( 10390 static_cast<VkDevice>( m_device ), 10391 reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>( &info ), 10392 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 10393 return structureChain; 10394 } 10395 10396 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2> getImageSparseMemoryRequirements2(const ImageSparseMemoryRequirementsInfo2 & info) const10397 Device::getImageSparseMemoryRequirements2( const ImageSparseMemoryRequirementsInfo2 & info ) const 10398 VULKAN_HPP_NOEXCEPT 10399 { 10400 uint32_t sparseMemoryRequirementCount; 10401 getDispatcher()->vkGetImageSparseMemoryRequirements2( 10402 static_cast<VkDevice>( m_device ), 10403 reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ), 10404 &sparseMemoryRequirementCount, 10405 nullptr ); 10406 std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2> sparseMemoryRequirements( 10407 sparseMemoryRequirementCount ); 10408 getDispatcher()->vkGetImageSparseMemoryRequirements2( 10409 static_cast<VkDevice>( m_device ), 10410 reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ), 10411 &sparseMemoryRequirementCount, 10412 reinterpret_cast<VkSparseImageMemoryRequirements2 *>( sparseMemoryRequirements.data() ) ); 10413 VULKAN_HPP_ASSERT( sparseMemoryRequirementCount <= sparseMemoryRequirements.size() ); 10414 return sparseMemoryRequirements; 10415 } 10416 10417 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 getFeatures2() const10418 PhysicalDevice::getFeatures2() const VULKAN_HPP_NOEXCEPT 10419 { 10420 VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 features; 10421 getDispatcher()->vkGetPhysicalDeviceFeatures2( static_cast<VkPhysicalDevice>( m_physicalDevice ), 10422 reinterpret_cast<VkPhysicalDeviceFeatures2 *>( &features ) ); 10423 return features; 10424 } 10425 10426 template <typename X, typename Y, typename... Z> 10427 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> getFeatures2() const10428 PhysicalDevice::getFeatures2() const VULKAN_HPP_NOEXCEPT 10429 { 10430 StructureChain<X, Y, Z...> structureChain; 10431 VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 & features = 10432 structureChain.template get<VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2>(); 10433 getDispatcher()->vkGetPhysicalDeviceFeatures2( static_cast<VkPhysicalDevice>( m_physicalDevice ), 10434 reinterpret_cast<VkPhysicalDeviceFeatures2 *>( &features ) ); 10435 return structureChain; 10436 } 10437 10438 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 getProperties2() const10439 PhysicalDevice::getProperties2() const VULKAN_HPP_NOEXCEPT 10440 { 10441 VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 properties; 10442 getDispatcher()->vkGetPhysicalDeviceProperties2( static_cast<VkPhysicalDevice>( m_physicalDevice ), 10443 reinterpret_cast<VkPhysicalDeviceProperties2 *>( &properties ) ); 10444 return properties; 10445 } 10446 10447 template <typename X, typename Y, typename... Z> 10448 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> getProperties2() const10449 PhysicalDevice::getProperties2() const VULKAN_HPP_NOEXCEPT 10450 { 10451 StructureChain<X, Y, Z...> structureChain; 10452 VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 & properties = 10453 structureChain.template get<VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2>(); 10454 getDispatcher()->vkGetPhysicalDeviceProperties2( static_cast<VkPhysicalDevice>( m_physicalDevice ), 10455 reinterpret_cast<VkPhysicalDeviceProperties2 *>( &properties ) ); 10456 return structureChain; 10457 } 10458 10459 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::FormatProperties2 getFormatProperties2(VULKAN_HPP_NAMESPACE::Format format) const10460 PhysicalDevice::getFormatProperties2( VULKAN_HPP_NAMESPACE::Format format ) const VULKAN_HPP_NOEXCEPT 10461 { 10462 VULKAN_HPP_NAMESPACE::FormatProperties2 formatProperties; 10463 getDispatcher()->vkGetPhysicalDeviceFormatProperties2( 10464 static_cast<VkPhysicalDevice>( m_physicalDevice ), 10465 static_cast<VkFormat>( format ), 10466 reinterpret_cast<VkFormatProperties2 *>( &formatProperties ) ); 10467 return formatProperties; 10468 } 10469 10470 template <typename X, typename Y, typename... Z> 10471 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> getFormatProperties2(VULKAN_HPP_NAMESPACE::Format format) const10472 PhysicalDevice::getFormatProperties2( VULKAN_HPP_NAMESPACE::Format format ) const VULKAN_HPP_NOEXCEPT 10473 { 10474 StructureChain<X, Y, Z...> structureChain; 10475 VULKAN_HPP_NAMESPACE::FormatProperties2 & formatProperties = 10476 structureChain.template get<VULKAN_HPP_NAMESPACE::FormatProperties2>(); 10477 getDispatcher()->vkGetPhysicalDeviceFormatProperties2( 10478 static_cast<VkPhysicalDevice>( m_physicalDevice ), 10479 static_cast<VkFormat>( format ), 10480 reinterpret_cast<VkFormatProperties2 *>( &formatProperties ) ); 10481 return structureChain; 10482 } 10483 10484 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ImageFormatProperties2 getImageFormatProperties2(const PhysicalDeviceImageFormatInfo2 & imageFormatInfo) const10485 PhysicalDevice::getImageFormatProperties2( const PhysicalDeviceImageFormatInfo2 & imageFormatInfo ) const 10486 { 10487 VULKAN_HPP_NAMESPACE::ImageFormatProperties2 imageFormatProperties; 10488 VULKAN_HPP_NAMESPACE::Result result = 10489 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2( 10490 static_cast<VkPhysicalDevice>( m_physicalDevice ), 10491 reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>( &imageFormatInfo ), 10492 reinterpret_cast<VkImageFormatProperties2 *>( &imageFormatProperties ) ) ); 10493 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 10494 { 10495 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2" ); 10496 } 10497 return imageFormatProperties; 10498 } 10499 10500 template <typename X, typename Y, typename... Z> 10501 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getImageFormatProperties2(const PhysicalDeviceImageFormatInfo2 & imageFormatInfo) const10502 PhysicalDevice::getImageFormatProperties2( const PhysicalDeviceImageFormatInfo2 & imageFormatInfo ) const 10503 { 10504 StructureChain<X, Y, Z...> structureChain; 10505 VULKAN_HPP_NAMESPACE::ImageFormatProperties2 & imageFormatProperties = 10506 structureChain.template get<VULKAN_HPP_NAMESPACE::ImageFormatProperties2>(); 10507 VULKAN_HPP_NAMESPACE::Result result = 10508 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2( 10509 static_cast<VkPhysicalDevice>( m_physicalDevice ), 10510 reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>( &imageFormatInfo ), 10511 reinterpret_cast<VkImageFormatProperties2 *>( &imageFormatProperties ) ) ); 10512 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 10513 { 10514 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2" ); 10515 } 10516 return structureChain; 10517 } 10518 10519 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2> getQueueFamilyProperties2() const10520 PhysicalDevice::getQueueFamilyProperties2() const VULKAN_HPP_NOEXCEPT 10521 { 10522 uint32_t queueFamilyPropertyCount; 10523 getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2( 10524 static_cast<VkPhysicalDevice>( m_physicalDevice ), &queueFamilyPropertyCount, nullptr ); 10525 std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2> queueFamilyProperties( queueFamilyPropertyCount ); 10526 getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2( 10527 static_cast<VkPhysicalDevice>( m_physicalDevice ), 10528 &queueFamilyPropertyCount, 10529 reinterpret_cast<VkQueueFamilyProperties2 *>( queueFamilyProperties.data() ) ); 10530 VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); 10531 return queueFamilyProperties; 10532 } 10533 10534 template <typename StructureChain> getQueueFamilyProperties2() const10535 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<StructureChain> PhysicalDevice::getQueueFamilyProperties2() const 10536 { 10537 uint32_t queueFamilyPropertyCount; 10538 getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2( 10539 static_cast<VkPhysicalDevice>( m_physicalDevice ), &queueFamilyPropertyCount, nullptr ); 10540 std::vector<StructureChain> returnVector( queueFamilyPropertyCount ); 10541 std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2> queueFamilyProperties( queueFamilyPropertyCount ); 10542 for ( uint32_t i = 0; i < queueFamilyPropertyCount; i++ ) 10543 { 10544 queueFamilyProperties[i].pNext = 10545 returnVector[i].template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>().pNext; 10546 } 10547 getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2( 10548 static_cast<VkPhysicalDevice>( m_physicalDevice ), 10549 &queueFamilyPropertyCount, 10550 reinterpret_cast<VkQueueFamilyProperties2 *>( queueFamilyProperties.data() ) ); 10551 VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); 10552 for ( uint32_t i = 0; i < queueFamilyPropertyCount; i++ ) 10553 { 10554 returnVector[i].template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>() = queueFamilyProperties[i]; 10555 } 10556 return returnVector; 10557 } 10558 10559 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 getMemoryProperties2() const10560 PhysicalDevice::getMemoryProperties2() const VULKAN_HPP_NOEXCEPT 10561 { 10562 VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 memoryProperties; 10563 getDispatcher()->vkGetPhysicalDeviceMemoryProperties2( 10564 static_cast<VkPhysicalDevice>( m_physicalDevice ), 10565 reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>( &memoryProperties ) ); 10566 return memoryProperties; 10567 } 10568 10569 template <typename X, typename Y, typename... Z> 10570 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> getMemoryProperties2() const10571 PhysicalDevice::getMemoryProperties2() const VULKAN_HPP_NOEXCEPT 10572 { 10573 StructureChain<X, Y, Z...> structureChain; 10574 VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 & memoryProperties = 10575 structureChain.template get<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2>(); 10576 getDispatcher()->vkGetPhysicalDeviceMemoryProperties2( 10577 static_cast<VkPhysicalDevice>( m_physicalDevice ), 10578 reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>( &memoryProperties ) ); 10579 return structureChain; 10580 } 10581 10582 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2> getSparseImageFormatProperties2(const PhysicalDeviceSparseImageFormatInfo2 & formatInfo) const10583 PhysicalDevice::getSparseImageFormatProperties2( const PhysicalDeviceSparseImageFormatInfo2 & formatInfo ) const 10584 VULKAN_HPP_NOEXCEPT 10585 { 10586 uint32_t propertyCount; 10587 getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties2( 10588 static_cast<VkPhysicalDevice>( m_physicalDevice ), 10589 reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ), 10590 &propertyCount, 10591 nullptr ); 10592 std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2> properties( propertyCount ); 10593 getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties2( 10594 static_cast<VkPhysicalDevice>( m_physicalDevice ), 10595 reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ), 10596 &propertyCount, 10597 reinterpret_cast<VkSparseImageFormatProperties2 *>( properties.data() ) ); 10598 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 10599 return properties; 10600 } 10601 10602 VULKAN_HPP_INLINE void trim(VULKAN_HPP_NAMESPACE::CommandPoolTrimFlags flags) const10603 CommandPool::trim( VULKAN_HPP_NAMESPACE::CommandPoolTrimFlags flags ) const VULKAN_HPP_NOEXCEPT 10604 { 10605 getDispatcher()->vkTrimCommandPool( static_cast<VkDevice>( m_device ), 10606 static_cast<VkCommandPool>( m_commandPool ), 10607 static_cast<VkCommandPoolTrimFlags>( flags ) ); 10608 } 10609 10610 VULKAN_HPP_INLINE void updateWithTemplate(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,const void * pData) const10611 DescriptorSet::updateWithTemplate( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, 10612 const void * pData ) const VULKAN_HPP_NOEXCEPT 10613 { 10614 getDispatcher()->vkUpdateDescriptorSetWithTemplate( 10615 static_cast<VkDevice>( m_device ), 10616 static_cast<VkDescriptorSet>( m_descriptorSet ), 10617 static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), 10618 pData ); 10619 } 10620 10621 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalBufferProperties getExternalBufferProperties(const PhysicalDeviceExternalBufferInfo & externalBufferInfo) const10622 PhysicalDevice::getExternalBufferProperties( const PhysicalDeviceExternalBufferInfo & externalBufferInfo ) const 10623 VULKAN_HPP_NOEXCEPT 10624 { 10625 VULKAN_HPP_NAMESPACE::ExternalBufferProperties externalBufferProperties; 10626 getDispatcher()->vkGetPhysicalDeviceExternalBufferProperties( 10627 static_cast<VkPhysicalDevice>( m_physicalDevice ), 10628 reinterpret_cast<const VkPhysicalDeviceExternalBufferInfo *>( &externalBufferInfo ), 10629 reinterpret_cast<VkExternalBufferProperties *>( &externalBufferProperties ) ); 10630 return externalBufferProperties; 10631 } 10632 10633 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalFenceProperties getExternalFenceProperties(const PhysicalDeviceExternalFenceInfo & externalFenceInfo) const10634 PhysicalDevice::getExternalFenceProperties( const PhysicalDeviceExternalFenceInfo & externalFenceInfo ) const 10635 VULKAN_HPP_NOEXCEPT 10636 { 10637 VULKAN_HPP_NAMESPACE::ExternalFenceProperties externalFenceProperties; 10638 getDispatcher()->vkGetPhysicalDeviceExternalFenceProperties( 10639 static_cast<VkPhysicalDevice>( m_physicalDevice ), 10640 reinterpret_cast<const VkPhysicalDeviceExternalFenceInfo *>( &externalFenceInfo ), 10641 reinterpret_cast<VkExternalFenceProperties *>( &externalFenceProperties ) ); 10642 return externalFenceProperties; 10643 } 10644 10645 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties getExternalSemaphoreProperties(const PhysicalDeviceExternalSemaphoreInfo & externalSemaphoreInfo) const10646 PhysicalDevice::getExternalSemaphoreProperties( 10647 const PhysicalDeviceExternalSemaphoreInfo & externalSemaphoreInfo ) const VULKAN_HPP_NOEXCEPT 10648 { 10649 VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties externalSemaphoreProperties; 10650 getDispatcher()->vkGetPhysicalDeviceExternalSemaphoreProperties( 10651 static_cast<VkPhysicalDevice>( m_physicalDevice ), 10652 reinterpret_cast<const VkPhysicalDeviceExternalSemaphoreInfo *>( &externalSemaphoreInfo ), 10653 reinterpret_cast<VkExternalSemaphoreProperties *>( &externalSemaphoreProperties ) ); 10654 return externalSemaphoreProperties; 10655 } 10656 10657 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport getDescriptorSetLayoutSupport(const DescriptorSetLayoutCreateInfo & createInfo) const10658 Device::getDescriptorSetLayoutSupport( const DescriptorSetLayoutCreateInfo & createInfo ) const 10659 VULKAN_HPP_NOEXCEPT 10660 { 10661 VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport support; 10662 getDispatcher()->vkGetDescriptorSetLayoutSupport( 10663 static_cast<VkDevice>( m_device ), 10664 reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( &createInfo ), 10665 reinterpret_cast<VkDescriptorSetLayoutSupport *>( &support ) ); 10666 return support; 10667 } 10668 10669 template <typename X, typename Y, typename... Z> getDescriptorSetLayoutSupport(const DescriptorSetLayoutCreateInfo & createInfo) const10670 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> Device::getDescriptorSetLayoutSupport( 10671 const DescriptorSetLayoutCreateInfo & createInfo ) const VULKAN_HPP_NOEXCEPT 10672 { 10673 StructureChain<X, Y, Z...> structureChain; 10674 VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport & support = 10675 structureChain.template get<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport>(); 10676 getDispatcher()->vkGetDescriptorSetLayoutSupport( 10677 static_cast<VkDevice>( m_device ), 10678 reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( &createInfo ), 10679 reinterpret_cast<VkDescriptorSetLayoutSupport *>( &support ) ); 10680 return structureChain; 10681 } 10682 10683 //=== VK_VERSION_1_2 === 10684 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) const10685 VULKAN_HPP_INLINE void CommandBuffer::drawIndirectCount( VULKAN_HPP_NAMESPACE::Buffer buffer, 10686 VULKAN_HPP_NAMESPACE::DeviceSize offset, 10687 VULKAN_HPP_NAMESPACE::Buffer countBuffer, 10688 VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, 10689 uint32_t maxDrawCount, 10690 uint32_t stride ) const VULKAN_HPP_NOEXCEPT 10691 { 10692 getDispatcher()->vkCmdDrawIndirectCount( static_cast<VkCommandBuffer>( m_commandBuffer ), 10693 static_cast<VkBuffer>( buffer ), 10694 static_cast<VkDeviceSize>( offset ), 10695 static_cast<VkBuffer>( countBuffer ), 10696 static_cast<VkDeviceSize>( countBufferOffset ), 10697 maxDrawCount, 10698 stride ); 10699 } 10700 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) const10701 VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirectCount( VULKAN_HPP_NAMESPACE::Buffer buffer, 10702 VULKAN_HPP_NAMESPACE::DeviceSize offset, 10703 VULKAN_HPP_NAMESPACE::Buffer countBuffer, 10704 VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, 10705 uint32_t maxDrawCount, 10706 uint32_t stride ) const VULKAN_HPP_NOEXCEPT 10707 { 10708 getDispatcher()->vkCmdDrawIndexedIndirectCount( static_cast<VkCommandBuffer>( m_commandBuffer ), 10709 static_cast<VkBuffer>( buffer ), 10710 static_cast<VkDeviceSize>( offset ), 10711 static_cast<VkBuffer>( countBuffer ), 10712 static_cast<VkDeviceSize>( countBufferOffset ), 10713 maxDrawCount, 10714 stride ); 10715 } 10716 10717 VULKAN_HPP_INLINE void beginRenderPass2(const RenderPassBeginInfo & renderPassBegin,const SubpassBeginInfo & subpassBeginInfo) const10718 CommandBuffer::beginRenderPass2( const RenderPassBeginInfo & renderPassBegin, 10719 const SubpassBeginInfo & subpassBeginInfo ) const VULKAN_HPP_NOEXCEPT 10720 { 10721 getDispatcher()->vkCmdBeginRenderPass2( static_cast<VkCommandBuffer>( m_commandBuffer ), 10722 reinterpret_cast<const VkRenderPassBeginInfo *>( &renderPassBegin ), 10723 reinterpret_cast<const VkSubpassBeginInfo *>( &subpassBeginInfo ) ); 10724 } 10725 10726 VULKAN_HPP_INLINE void nextSubpass2(const SubpassBeginInfo & subpassBeginInfo,const SubpassEndInfo & subpassEndInfo) const10727 CommandBuffer::nextSubpass2( const SubpassBeginInfo & subpassBeginInfo, 10728 const SubpassEndInfo & subpassEndInfo ) const VULKAN_HPP_NOEXCEPT 10729 { 10730 getDispatcher()->vkCmdNextSubpass2( static_cast<VkCommandBuffer>( m_commandBuffer ), 10731 reinterpret_cast<const VkSubpassBeginInfo *>( &subpassBeginInfo ), 10732 reinterpret_cast<const VkSubpassEndInfo *>( &subpassEndInfo ) ); 10733 } 10734 10735 VULKAN_HPP_INLINE void endRenderPass2(const SubpassEndInfo & subpassEndInfo) const10736 CommandBuffer::endRenderPass2( const SubpassEndInfo & subpassEndInfo ) const VULKAN_HPP_NOEXCEPT 10737 { 10738 getDispatcher()->vkCmdEndRenderPass2( static_cast<VkCommandBuffer>( m_commandBuffer ), 10739 reinterpret_cast<const VkSubpassEndInfo *>( &subpassEndInfo ) ); 10740 } 10741 reset(uint32_t firstQuery,uint32_t queryCount) const10742 VULKAN_HPP_INLINE void QueryPool::reset( uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT 10743 { 10744 getDispatcher()->vkResetQueryPool( 10745 static_cast<VkDevice>( m_device ), static_cast<VkQueryPool>( m_queryPool ), firstQuery, queryCount ); 10746 } 10747 getCounterValue() const10748 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t Semaphore::getCounterValue() const 10749 { 10750 uint64_t value; 10751 VULKAN_HPP_NAMESPACE::Result result = 10752 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetSemaphoreCounterValue( 10753 static_cast<VkDevice>( m_device ), static_cast<VkSemaphore>( m_semaphore ), &value ) ); 10754 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 10755 { 10756 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Semaphore::getCounterValue" ); 10757 } 10758 return value; 10759 } 10760 10761 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result waitSemaphores(const SemaphoreWaitInfo & waitInfo,uint64_t timeout) const10762 Device::waitSemaphores( const SemaphoreWaitInfo & waitInfo, uint64_t timeout ) const 10763 { 10764 VULKAN_HPP_NAMESPACE::Result result = 10765 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkWaitSemaphores( 10766 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSemaphoreWaitInfo *>( &waitInfo ), timeout ) ); 10767 if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && 10768 ( result != VULKAN_HPP_NAMESPACE::Result::eTimeout ) ) 10769 { 10770 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::waitSemaphores" ); 10771 } 10772 return result; 10773 } 10774 signalSemaphore(const SemaphoreSignalInfo & signalInfo) const10775 VULKAN_HPP_INLINE void Device::signalSemaphore( const SemaphoreSignalInfo & signalInfo ) const 10776 { 10777 VULKAN_HPP_NAMESPACE::Result result = 10778 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkSignalSemaphore( 10779 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSemaphoreSignalInfo *>( &signalInfo ) ) ); 10780 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 10781 { 10782 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::signalSemaphore" ); 10783 } 10784 } 10785 10786 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceAddress getBufferAddress(const BufferDeviceAddressInfo & info) const10787 Device::getBufferAddress( const BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT 10788 { 10789 return static_cast<VULKAN_HPP_NAMESPACE::DeviceAddress>( getDispatcher()->vkGetBufferDeviceAddress( 10790 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkBufferDeviceAddressInfo *>( &info ) ) ); 10791 } 10792 10793 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t getBufferOpaqueCaptureAddress(const BufferDeviceAddressInfo & info) const10794 Device::getBufferOpaqueCaptureAddress( const BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT 10795 { 10796 return getDispatcher()->vkGetBufferOpaqueCaptureAddress( 10797 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkBufferDeviceAddressInfo *>( &info ) ); 10798 } 10799 getMemoryOpaqueCaptureAddress(const DeviceMemoryOpaqueCaptureAddressInfo & info) const10800 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t Device::getMemoryOpaqueCaptureAddress( 10801 const DeviceMemoryOpaqueCaptureAddressInfo & info ) const VULKAN_HPP_NOEXCEPT 10802 { 10803 return getDispatcher()->vkGetDeviceMemoryOpaqueCaptureAddress( 10804 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkDeviceMemoryOpaqueCaptureAddressInfo *>( &info ) ); 10805 } 10806 10807 //=== VK_KHR_surface === 10808 10809 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Bool32 getSurfaceSupportKHR(uint32_t queueFamilyIndex,VULKAN_HPP_NAMESPACE::SurfaceKHR surface) const10810 PhysicalDevice::getSurfaceSupportKHR( uint32_t queueFamilyIndex, VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const 10811 { 10812 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceSurfaceSupportKHR && 10813 "Function <vkGetPhysicalDeviceSurfaceSupportKHR> needs extension <VK_KHR_surface> enabled!" ); 10814 10815 VULKAN_HPP_NAMESPACE::Bool32 supported; 10816 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 10817 getDispatcher()->vkGetPhysicalDeviceSurfaceSupportKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 10818 queueFamilyIndex, 10819 static_cast<VkSurfaceKHR>( surface ), 10820 reinterpret_cast<VkBool32 *>( &supported ) ) ); 10821 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 10822 { 10823 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceSupportKHR" ); 10824 } 10825 return supported; 10826 } 10827 10828 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR getSurfaceCapabilitiesKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface) const10829 PhysicalDevice::getSurfaceCapabilitiesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const 10830 { 10831 VULKAN_HPP_ASSERT( 10832 getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilitiesKHR && 10833 "Function <vkGetPhysicalDeviceSurfaceCapabilitiesKHR> needs extension <VK_KHR_surface> enabled!" ); 10834 10835 VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR surfaceCapabilities; 10836 VULKAN_HPP_NAMESPACE::Result result = 10837 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilitiesKHR( 10838 static_cast<VkPhysicalDevice>( m_physicalDevice ), 10839 static_cast<VkSurfaceKHR>( surface ), 10840 reinterpret_cast<VkSurfaceCapabilitiesKHR *>( &surfaceCapabilities ) ) ); 10841 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 10842 { 10843 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilitiesKHR" ); 10844 } 10845 return surfaceCapabilities; 10846 } 10847 10848 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SurfaceFormatKHR> getSurfaceFormatsKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface) const10849 PhysicalDevice::getSurfaceFormatsKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const 10850 { 10851 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceSurfaceFormatsKHR && 10852 "Function <vkGetPhysicalDeviceSurfaceFormatsKHR> needs extension <VK_KHR_surface> enabled!" ); 10853 10854 std::vector<VULKAN_HPP_NAMESPACE::SurfaceFormatKHR> surfaceFormats; 10855 uint32_t surfaceFormatCount; 10856 VULKAN_HPP_NAMESPACE::Result result; 10857 do 10858 { 10859 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 10860 getDispatcher()->vkGetPhysicalDeviceSurfaceFormatsKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 10861 static_cast<VkSurfaceKHR>( surface ), 10862 &surfaceFormatCount, 10863 nullptr ) ); 10864 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && surfaceFormatCount ) 10865 { 10866 surfaceFormats.resize( surfaceFormatCount ); 10867 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceSurfaceFormatsKHR( 10868 static_cast<VkPhysicalDevice>( m_physicalDevice ), 10869 static_cast<VkSurfaceKHR>( surface ), 10870 &surfaceFormatCount, 10871 reinterpret_cast<VkSurfaceFormatKHR *>( surfaceFormats.data() ) ) ); 10872 VULKAN_HPP_ASSERT( surfaceFormatCount <= surfaceFormats.size() ); 10873 } 10874 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 10875 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( surfaceFormatCount < surfaceFormats.size() ) ) 10876 { 10877 surfaceFormats.resize( surfaceFormatCount ); 10878 } 10879 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 10880 { 10881 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormatsKHR" ); 10882 } 10883 return surfaceFormats; 10884 } 10885 10886 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::PresentModeKHR> getSurfacePresentModesKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface) const10887 PhysicalDevice::getSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const 10888 { 10889 VULKAN_HPP_ASSERT( 10890 getDispatcher()->vkGetPhysicalDeviceSurfacePresentModesKHR && 10891 "Function <vkGetPhysicalDeviceSurfacePresentModesKHR> needs extension <VK_KHR_surface> enabled!" ); 10892 10893 std::vector<VULKAN_HPP_NAMESPACE::PresentModeKHR> presentModes; 10894 uint32_t presentModeCount; 10895 VULKAN_HPP_NAMESPACE::Result result; 10896 do 10897 { 10898 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 10899 getDispatcher()->vkGetPhysicalDeviceSurfacePresentModesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 10900 static_cast<VkSurfaceKHR>( surface ), 10901 &presentModeCount, 10902 nullptr ) ); 10903 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && presentModeCount ) 10904 { 10905 presentModes.resize( presentModeCount ); 10906 result = 10907 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceSurfacePresentModesKHR( 10908 static_cast<VkPhysicalDevice>( m_physicalDevice ), 10909 static_cast<VkSurfaceKHR>( surface ), 10910 &presentModeCount, 10911 reinterpret_cast<VkPresentModeKHR *>( presentModes.data() ) ) ); 10912 VULKAN_HPP_ASSERT( presentModeCount <= presentModes.size() ); 10913 } 10914 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 10915 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( presentModeCount < presentModes.size() ) ) 10916 { 10917 presentModes.resize( presentModeCount ); 10918 } 10919 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 10920 { 10921 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfacePresentModesKHR" ); 10922 } 10923 return presentModes; 10924 } 10925 10926 //=== VK_KHR_swapchain === 10927 getImages() const10928 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VkImage> SwapchainKHR::getImages() const 10929 { 10930 VULKAN_HPP_ASSERT( getDispatcher()->vkGetSwapchainImagesKHR && 10931 "Function <vkGetSwapchainImagesKHR> needs extension <VK_KHR_swapchain> enabled!" ); 10932 10933 std::vector<VkImage> swapchainImages; 10934 uint32_t swapchainImageCount; 10935 VULKAN_HPP_NAMESPACE::Result result; 10936 do 10937 { 10938 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 10939 getDispatcher()->vkGetSwapchainImagesKHR( static_cast<VkDevice>( m_device ), 10940 static_cast<VkSwapchainKHR>( m_swapchainKHR ), 10941 &swapchainImageCount, 10942 nullptr ) ); 10943 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && swapchainImageCount ) 10944 { 10945 swapchainImages.resize( swapchainImageCount ); 10946 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 10947 getDispatcher()->vkGetSwapchainImagesKHR( static_cast<VkDevice>( m_device ), 10948 static_cast<VkSwapchainKHR>( m_swapchainKHR ), 10949 &swapchainImageCount, 10950 swapchainImages.data() ) ); 10951 VULKAN_HPP_ASSERT( swapchainImageCount <= swapchainImages.size() ); 10952 } 10953 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 10954 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( swapchainImageCount < swapchainImages.size() ) ) 10955 { 10956 swapchainImages.resize( swapchainImageCount ); 10957 } 10958 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 10959 { 10960 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::SwapchainKHR::getImages" ); 10961 } 10962 return swapchainImages; 10963 } 10964 10965 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::pair<VULKAN_HPP_NAMESPACE::Result, uint32_t> acquireNextImage(uint64_t timeout,VULKAN_HPP_NAMESPACE::Semaphore semaphore,VULKAN_HPP_NAMESPACE::Fence fence) const10966 SwapchainKHR::acquireNextImage( uint64_t timeout, 10967 VULKAN_HPP_NAMESPACE::Semaphore semaphore, 10968 VULKAN_HPP_NAMESPACE::Fence fence ) const 10969 { 10970 VULKAN_HPP_ASSERT( getDispatcher()->vkAcquireNextImageKHR && 10971 "Function <vkAcquireNextImageKHR> needs extension <VK_KHR_swapchain> enabled!" ); 10972 10973 uint32_t imageIndex; 10974 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 10975 getDispatcher()->vkAcquireNextImageKHR( static_cast<VkDevice>( m_device ), 10976 static_cast<VkSwapchainKHR>( m_swapchainKHR ), 10977 timeout, 10978 static_cast<VkSemaphore>( semaphore ), 10979 static_cast<VkFence>( fence ), 10980 &imageIndex ) ); 10981 if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && 10982 ( result != VULKAN_HPP_NAMESPACE::Result::eTimeout ) && 10983 ( result != VULKAN_HPP_NAMESPACE::Result::eNotReady ) && 10984 ( result != VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR ) ) 10985 { 10986 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::SwapchainKHR::acquireNextImage" ); 10987 } 10988 return std::make_pair( result, imageIndex ); 10989 } 10990 10991 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result presentKHR(const PresentInfoKHR & presentInfo) const10992 Queue::presentKHR( const PresentInfoKHR & presentInfo ) const 10993 { 10994 VULKAN_HPP_ASSERT( getDispatcher()->vkQueuePresentKHR && 10995 "Function <vkQueuePresentKHR> needs extension <VK_KHR_swapchain> enabled!" ); 10996 10997 VULKAN_HPP_NAMESPACE::Result result = 10998 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkQueuePresentKHR( 10999 static_cast<VkQueue>( m_queue ), reinterpret_cast<const VkPresentInfoKHR *>( &presentInfo ) ) ); 11000 if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && 11001 ( result != VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR ) ) 11002 { 11003 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Queue::presentKHR" ); 11004 } 11005 return result; 11006 } 11007 11008 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR getGroupPresentCapabilitiesKHR() const11009 Device::getGroupPresentCapabilitiesKHR() const 11010 { 11011 VULKAN_HPP_ASSERT( 11012 getDispatcher()->vkGetDeviceGroupPresentCapabilitiesKHR && 11013 "Function <vkGetDeviceGroupPresentCapabilitiesKHR> needs extension <VK_KHR_swapchain> enabled!" ); 11014 11015 VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR deviceGroupPresentCapabilities; 11016 VULKAN_HPP_NAMESPACE::Result result = 11017 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetDeviceGroupPresentCapabilitiesKHR( 11018 static_cast<VkDevice>( m_device ), 11019 reinterpret_cast<VkDeviceGroupPresentCapabilitiesKHR *>( &deviceGroupPresentCapabilities ) ) ); 11020 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 11021 { 11022 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getGroupPresentCapabilitiesKHR" ); 11023 } 11024 return deviceGroupPresentCapabilities; 11025 } 11026 11027 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR getGroupSurfacePresentModesKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface) const11028 Device::getGroupSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const 11029 { 11030 VULKAN_HPP_ASSERT( 11031 getDispatcher()->vkGetDeviceGroupSurfacePresentModesKHR && 11032 "Function <vkGetDeviceGroupSurfacePresentModesKHR> needs extension <VK_KHR_swapchain> enabled!" ); 11033 11034 VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR modes; 11035 VULKAN_HPP_NAMESPACE::Result result = 11036 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetDeviceGroupSurfacePresentModesKHR( 11037 static_cast<VkDevice>( m_device ), 11038 static_cast<VkSurfaceKHR>( surface ), 11039 reinterpret_cast<VkDeviceGroupPresentModeFlagsKHR *>( &modes ) ) ); 11040 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 11041 { 11042 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getGroupSurfacePresentModesKHR" ); 11043 } 11044 return modes; 11045 } 11046 11047 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::Rect2D> getPresentRectanglesKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface) const11048 PhysicalDevice::getPresentRectanglesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const 11049 { 11050 VULKAN_HPP_ASSERT( 11051 getDispatcher()->vkGetPhysicalDevicePresentRectanglesKHR && 11052 "Function <vkGetPhysicalDevicePresentRectanglesKHR> needs extension <VK_KHR_swapchain> enabled!" ); 11053 11054 std::vector<VULKAN_HPP_NAMESPACE::Rect2D> rects; 11055 uint32_t rectCount; 11056 VULKAN_HPP_NAMESPACE::Result result; 11057 do 11058 { 11059 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 11060 getDispatcher()->vkGetPhysicalDevicePresentRectanglesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 11061 static_cast<VkSurfaceKHR>( surface ), 11062 &rectCount, 11063 nullptr ) ); 11064 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && rectCount ) 11065 { 11066 rects.resize( rectCount ); 11067 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 11068 getDispatcher()->vkGetPhysicalDevicePresentRectanglesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 11069 static_cast<VkSurfaceKHR>( surface ), 11070 &rectCount, 11071 reinterpret_cast<VkRect2D *>( rects.data() ) ) ); 11072 VULKAN_HPP_ASSERT( rectCount <= rects.size() ); 11073 } 11074 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 11075 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( rectCount < rects.size() ) ) 11076 { 11077 rects.resize( rectCount ); 11078 } 11079 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 11080 { 11081 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getPresentRectanglesKHR" ); 11082 } 11083 return rects; 11084 } 11085 11086 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::pair<VULKAN_HPP_NAMESPACE::Result, uint32_t> acquireNextImage2KHR(const AcquireNextImageInfoKHR & acquireInfo) const11087 Device::acquireNextImage2KHR( const AcquireNextImageInfoKHR & acquireInfo ) const 11088 { 11089 VULKAN_HPP_ASSERT( getDispatcher()->vkAcquireNextImage2KHR && 11090 "Function <vkAcquireNextImage2KHR> needs extension <VK_KHR_swapchain> enabled!" ); 11091 11092 uint32_t imageIndex; 11093 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 11094 getDispatcher()->vkAcquireNextImage2KHR( static_cast<VkDevice>( m_device ), 11095 reinterpret_cast<const VkAcquireNextImageInfoKHR *>( &acquireInfo ), 11096 &imageIndex ) ); 11097 if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && 11098 ( result != VULKAN_HPP_NAMESPACE::Result::eTimeout ) && 11099 ( result != VULKAN_HPP_NAMESPACE::Result::eNotReady ) && 11100 ( result != VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR ) ) 11101 { 11102 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::acquireNextImage2KHR" ); 11103 } 11104 return std::make_pair( result, imageIndex ); 11105 } 11106 11107 //=== VK_KHR_display === 11108 11109 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR> getDisplayPropertiesKHR() const11110 PhysicalDevice::getDisplayPropertiesKHR() const 11111 { 11112 VULKAN_HPP_ASSERT( 11113 getDispatcher()->vkGetPhysicalDeviceDisplayPropertiesKHR && 11114 "Function <vkGetPhysicalDeviceDisplayPropertiesKHR> needs extension <VK_KHR_display> enabled!" ); 11115 11116 std::vector<VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR> properties; 11117 uint32_t propertyCount; 11118 VULKAN_HPP_NAMESPACE::Result result; 11119 do 11120 { 11121 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceDisplayPropertiesKHR( 11122 static_cast<VkPhysicalDevice>( m_physicalDevice ), &propertyCount, nullptr ) ); 11123 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 11124 { 11125 properties.resize( propertyCount ); 11126 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceDisplayPropertiesKHR( 11127 static_cast<VkPhysicalDevice>( m_physicalDevice ), 11128 &propertyCount, 11129 reinterpret_cast<VkDisplayPropertiesKHR *>( properties.data() ) ) ); 11130 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 11131 } 11132 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 11133 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( propertyCount < properties.size() ) ) 11134 { 11135 properties.resize( propertyCount ); 11136 } 11137 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 11138 { 11139 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPropertiesKHR" ); 11140 } 11141 return properties; 11142 } 11143 11144 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR> getDisplayPlanePropertiesKHR() const11145 PhysicalDevice::getDisplayPlanePropertiesKHR() const 11146 { 11147 VULKAN_HPP_ASSERT( 11148 getDispatcher()->vkGetPhysicalDeviceDisplayPlanePropertiesKHR && 11149 "Function <vkGetPhysicalDeviceDisplayPlanePropertiesKHR> needs extension <VK_KHR_display> enabled!" ); 11150 11151 std::vector<VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR> properties; 11152 uint32_t propertyCount; 11153 VULKAN_HPP_NAMESPACE::Result result; 11154 do 11155 { 11156 result = 11157 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceDisplayPlanePropertiesKHR( 11158 static_cast<VkPhysicalDevice>( m_physicalDevice ), &propertyCount, nullptr ) ); 11159 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 11160 { 11161 properties.resize( propertyCount ); 11162 result = 11163 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceDisplayPlanePropertiesKHR( 11164 static_cast<VkPhysicalDevice>( m_physicalDevice ), 11165 &propertyCount, 11166 reinterpret_cast<VkDisplayPlanePropertiesKHR *>( properties.data() ) ) ); 11167 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 11168 } 11169 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 11170 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( propertyCount < properties.size() ) ) 11171 { 11172 properties.resize( propertyCount ); 11173 } 11174 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 11175 { 11176 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlanePropertiesKHR" ); 11177 } 11178 return properties; 11179 } 11180 11181 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR> getModeProperties() const11182 DisplayKHR::getModeProperties() const 11183 { 11184 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDisplayModePropertiesKHR && 11185 "Function <vkGetDisplayModePropertiesKHR> needs extension <VK_KHR_display> enabled!" ); 11186 11187 std::vector<VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR> properties; 11188 uint32_t propertyCount; 11189 VULKAN_HPP_NAMESPACE::Result result; 11190 do 11191 { 11192 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 11193 getDispatcher()->vkGetDisplayModePropertiesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 11194 static_cast<VkDisplayKHR>( m_displayKHR ), 11195 &propertyCount, 11196 nullptr ) ); 11197 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 11198 { 11199 properties.resize( propertyCount ); 11200 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetDisplayModePropertiesKHR( 11201 static_cast<VkPhysicalDevice>( m_physicalDevice ), 11202 static_cast<VkDisplayKHR>( m_displayKHR ), 11203 &propertyCount, 11204 reinterpret_cast<VkDisplayModePropertiesKHR *>( properties.data() ) ) ); 11205 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 11206 } 11207 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 11208 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( propertyCount < properties.size() ) ) 11209 { 11210 properties.resize( propertyCount ); 11211 } 11212 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 11213 { 11214 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::DisplayKHR::getModeProperties" ); 11215 } 11216 return properties; 11217 } 11218 11219 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR getDisplayPlaneCapabilities(uint32_t planeIndex) const11220 DisplayModeKHR::getDisplayPlaneCapabilities( uint32_t planeIndex ) const 11221 { 11222 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDisplayPlaneCapabilitiesKHR && 11223 "Function <vkGetDisplayPlaneCapabilitiesKHR> needs extension <VK_KHR_display> enabled!" ); 11224 11225 VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR capabilities; 11226 VULKAN_HPP_NAMESPACE::Result result = 11227 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetDisplayPlaneCapabilitiesKHR( 11228 static_cast<VkPhysicalDevice>( m_physicalDevice ), 11229 static_cast<VkDisplayModeKHR>( m_displayModeKHR ), 11230 planeIndex, 11231 reinterpret_cast<VkDisplayPlaneCapabilitiesKHR *>( &capabilities ) ) ); 11232 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 11233 { 11234 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::DisplayModeKHR::getDisplayPlaneCapabilities" ); 11235 } 11236 return capabilities; 11237 } 11238 11239 # if defined( VK_USE_PLATFORM_XLIB_KHR ) 11240 //=== VK_KHR_xlib_surface === 11241 getXlibPresentationSupportKHR(uint32_t queueFamilyIndex,Display & dpy,VisualID visualID) const11242 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Bool32 PhysicalDevice::getXlibPresentationSupportKHR( 11243 uint32_t queueFamilyIndex, Display & dpy, VisualID visualID ) const VULKAN_HPP_NOEXCEPT 11244 { 11245 VULKAN_HPP_ASSERT( 11246 getDispatcher()->vkGetPhysicalDeviceXlibPresentationSupportKHR && 11247 "Function <vkGetPhysicalDeviceXlibPresentationSupportKHR> needs extension <VK_KHR_xlib_surface> enabled!" ); 11248 11249 return static_cast<VULKAN_HPP_NAMESPACE::Bool32>( getDispatcher()->vkGetPhysicalDeviceXlibPresentationSupportKHR( 11250 static_cast<VkPhysicalDevice>( m_physicalDevice ), queueFamilyIndex, &dpy, visualID ) ); 11251 } 11252 # endif /*VK_USE_PLATFORM_XLIB_KHR*/ 11253 11254 # if defined( VK_USE_PLATFORM_XCB_KHR ) 11255 //=== VK_KHR_xcb_surface === 11256 getXcbPresentationSupportKHR(uint32_t queueFamilyIndex,xcb_connection_t & connection,xcb_visualid_t visual_id) const11257 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Bool32 PhysicalDevice::getXcbPresentationSupportKHR( 11258 uint32_t queueFamilyIndex, xcb_connection_t & connection, xcb_visualid_t visual_id ) const VULKAN_HPP_NOEXCEPT 11259 { 11260 VULKAN_HPP_ASSERT( 11261 getDispatcher()->vkGetPhysicalDeviceXcbPresentationSupportKHR && 11262 "Function <vkGetPhysicalDeviceXcbPresentationSupportKHR> needs extension <VK_KHR_xcb_surface> enabled!" ); 11263 11264 return static_cast<VULKAN_HPP_NAMESPACE::Bool32>( getDispatcher()->vkGetPhysicalDeviceXcbPresentationSupportKHR( 11265 static_cast<VkPhysicalDevice>( m_physicalDevice ), queueFamilyIndex, &connection, visual_id ) ); 11266 } 11267 # endif /*VK_USE_PLATFORM_XCB_KHR*/ 11268 11269 # if defined( VK_USE_PLATFORM_WAYLAND_KHR ) 11270 //=== VK_KHR_wayland_surface === 11271 11272 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Bool32 getWaylandPresentationSupportKHR(uint32_t queueFamilyIndex,struct wl_display & display) const11273 PhysicalDevice::getWaylandPresentationSupportKHR( uint32_t queueFamilyIndex, 11274 struct wl_display & display ) const VULKAN_HPP_NOEXCEPT 11275 { 11276 VULKAN_HPP_ASSERT( 11277 getDispatcher()->vkGetPhysicalDeviceWaylandPresentationSupportKHR && 11278 "Function <vkGetPhysicalDeviceWaylandPresentationSupportKHR> needs extension <VK_KHR_wayland_surface> enabled!" ); 11279 11280 return static_cast<VULKAN_HPP_NAMESPACE::Bool32>( 11281 getDispatcher()->vkGetPhysicalDeviceWaylandPresentationSupportKHR( 11282 static_cast<VkPhysicalDevice>( m_physicalDevice ), queueFamilyIndex, &display ) ); 11283 } 11284 # endif /*VK_USE_PLATFORM_WAYLAND_KHR*/ 11285 11286 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 11287 //=== VK_KHR_win32_surface === 11288 11289 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Bool32 getWin32PresentationSupportKHR(uint32_t queueFamilyIndex) const11290 PhysicalDevice::getWin32PresentationSupportKHR( uint32_t queueFamilyIndex ) const VULKAN_HPP_NOEXCEPT 11291 { 11292 VULKAN_HPP_ASSERT( 11293 getDispatcher()->vkGetPhysicalDeviceWin32PresentationSupportKHR && 11294 "Function <vkGetPhysicalDeviceWin32PresentationSupportKHR> needs extension <VK_KHR_win32_surface> enabled!" ); 11295 11296 return static_cast<VULKAN_HPP_NAMESPACE::Bool32>( getDispatcher()->vkGetPhysicalDeviceWin32PresentationSupportKHR( 11297 static_cast<VkPhysicalDevice>( m_physicalDevice ), queueFamilyIndex ) ); 11298 } 11299 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 11300 11301 //=== VK_EXT_debug_report === 11302 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) const11303 VULKAN_HPP_INLINE void Instance::debugReportMessageEXT( VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags, 11304 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType_, 11305 uint64_t object, 11306 size_t location, 11307 int32_t messageCode, 11308 const std::string & layerPrefix, 11309 const std::string & message ) const VULKAN_HPP_NOEXCEPT 11310 { 11311 VULKAN_HPP_ASSERT( getDispatcher()->vkDebugReportMessageEXT && 11312 "Function <vkDebugReportMessageEXT> needs extension <VK_EXT_debug_report> enabled!" ); 11313 11314 getDispatcher()->vkDebugReportMessageEXT( static_cast<VkInstance>( m_instance ), 11315 static_cast<VkDebugReportFlagsEXT>( flags ), 11316 static_cast<VkDebugReportObjectTypeEXT>( objectType_ ), 11317 object, 11318 location, 11319 messageCode, 11320 layerPrefix.c_str(), 11321 message.c_str() ); 11322 } 11323 11324 //=== VK_EXT_debug_marker === 11325 debugMarkerSetObjectTagEXT(const DebugMarkerObjectTagInfoEXT & tagInfo) const11326 VULKAN_HPP_INLINE void Device::debugMarkerSetObjectTagEXT( const DebugMarkerObjectTagInfoEXT & tagInfo ) const 11327 { 11328 VULKAN_HPP_ASSERT( getDispatcher()->vkDebugMarkerSetObjectTagEXT && 11329 "Function <vkDebugMarkerSetObjectTagEXT> needs extension <VK_EXT_debug_marker> enabled!" ); 11330 11331 VULKAN_HPP_NAMESPACE::Result result = 11332 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkDebugMarkerSetObjectTagEXT( 11333 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkDebugMarkerObjectTagInfoEXT *>( &tagInfo ) ) ); 11334 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 11335 { 11336 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::debugMarkerSetObjectTagEXT" ); 11337 } 11338 } 11339 debugMarkerSetObjectNameEXT(const DebugMarkerObjectNameInfoEXT & nameInfo) const11340 VULKAN_HPP_INLINE void Device::debugMarkerSetObjectNameEXT( const DebugMarkerObjectNameInfoEXT & nameInfo ) const 11341 { 11342 VULKAN_HPP_ASSERT( getDispatcher()->vkDebugMarkerSetObjectNameEXT && 11343 "Function <vkDebugMarkerSetObjectNameEXT> needs extension <VK_EXT_debug_marker> enabled!" ); 11344 11345 VULKAN_HPP_NAMESPACE::Result result = 11346 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkDebugMarkerSetObjectNameEXT( 11347 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkDebugMarkerObjectNameInfoEXT *>( &nameInfo ) ) ); 11348 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 11349 { 11350 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::debugMarkerSetObjectNameEXT" ); 11351 } 11352 } 11353 11354 VULKAN_HPP_INLINE void debugMarkerBeginEXT(const DebugMarkerMarkerInfoEXT & markerInfo) const11355 CommandBuffer::debugMarkerBeginEXT( const DebugMarkerMarkerInfoEXT & markerInfo ) const VULKAN_HPP_NOEXCEPT 11356 { 11357 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDebugMarkerBeginEXT && 11358 "Function <vkCmdDebugMarkerBeginEXT> needs extension <VK_EXT_debug_marker> enabled!" ); 11359 11360 getDispatcher()->vkCmdDebugMarkerBeginEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 11361 reinterpret_cast<const VkDebugMarkerMarkerInfoEXT *>( &markerInfo ) ); 11362 } 11363 debugMarkerEndEXT() const11364 VULKAN_HPP_INLINE void CommandBuffer::debugMarkerEndEXT() const VULKAN_HPP_NOEXCEPT 11365 { 11366 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDebugMarkerEndEXT && 11367 "Function <vkCmdDebugMarkerEndEXT> needs extension <VK_EXT_debug_marker> enabled!" ); 11368 11369 getDispatcher()->vkCmdDebugMarkerEndEXT( static_cast<VkCommandBuffer>( m_commandBuffer ) ); 11370 } 11371 11372 VULKAN_HPP_INLINE void debugMarkerInsertEXT(const DebugMarkerMarkerInfoEXT & markerInfo) const11373 CommandBuffer::debugMarkerInsertEXT( const DebugMarkerMarkerInfoEXT & markerInfo ) const VULKAN_HPP_NOEXCEPT 11374 { 11375 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDebugMarkerInsertEXT && 11376 "Function <vkCmdDebugMarkerInsertEXT> needs extension <VK_EXT_debug_marker> enabled!" ); 11377 11378 getDispatcher()->vkCmdDebugMarkerInsertEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 11379 reinterpret_cast<const VkDebugMarkerMarkerInfoEXT *>( &markerInfo ) ); 11380 } 11381 11382 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 11383 //=== VK_KHR_video_queue === 11384 11385 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::VideoCapabilitiesKHR getVideoCapabilitiesKHR(const VideoProfileKHR & videoProfile) const11386 PhysicalDevice::getVideoCapabilitiesKHR( const VideoProfileKHR & videoProfile ) const 11387 { 11388 VULKAN_HPP_ASSERT( 11389 getDispatcher()->vkGetPhysicalDeviceVideoCapabilitiesKHR && 11390 "Function <vkGetPhysicalDeviceVideoCapabilitiesKHR> needs extension <VK_KHR_video_queue> enabled!" ); 11391 11392 VULKAN_HPP_NAMESPACE::VideoCapabilitiesKHR capabilities; 11393 VULKAN_HPP_NAMESPACE::Result result = 11394 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceVideoCapabilitiesKHR( 11395 static_cast<VkPhysicalDevice>( m_physicalDevice ), 11396 reinterpret_cast<const VkVideoProfileKHR *>( &videoProfile ), 11397 reinterpret_cast<VkVideoCapabilitiesKHR *>( &capabilities ) ) ); 11398 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 11399 { 11400 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoCapabilitiesKHR" ); 11401 } 11402 return capabilities; 11403 } 11404 11405 template <typename X, typename Y, typename... Z> 11406 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getVideoCapabilitiesKHR(const VideoProfileKHR & videoProfile) const11407 PhysicalDevice::getVideoCapabilitiesKHR( const VideoProfileKHR & videoProfile ) const 11408 { 11409 StructureChain<X, Y, Z...> structureChain; 11410 VULKAN_HPP_NAMESPACE::VideoCapabilitiesKHR & capabilities = 11411 structureChain.template get<VULKAN_HPP_NAMESPACE::VideoCapabilitiesKHR>(); 11412 VULKAN_HPP_NAMESPACE::Result result = 11413 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceVideoCapabilitiesKHR( 11414 static_cast<VkPhysicalDevice>( m_physicalDevice ), 11415 reinterpret_cast<const VkVideoProfileKHR *>( &videoProfile ), 11416 reinterpret_cast<VkVideoCapabilitiesKHR *>( &capabilities ) ) ); 11417 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 11418 { 11419 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoCapabilitiesKHR" ); 11420 } 11421 return structureChain; 11422 } 11423 11424 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR> getVideoFormatPropertiesKHR(const PhysicalDeviceVideoFormatInfoKHR & videoFormatInfo) const11425 PhysicalDevice::getVideoFormatPropertiesKHR( const PhysicalDeviceVideoFormatInfoKHR & videoFormatInfo ) const 11426 { 11427 VULKAN_HPP_ASSERT( 11428 getDispatcher()->vkGetPhysicalDeviceVideoFormatPropertiesKHR && 11429 "Function <vkGetPhysicalDeviceVideoFormatPropertiesKHR> needs extension <VK_KHR_video_queue> enabled!" ); 11430 11431 std::vector<VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR> videoFormatProperties; 11432 uint32_t videoFormatPropertyCount; 11433 VULKAN_HPP_NAMESPACE::Result result; 11434 do 11435 { 11436 result = 11437 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceVideoFormatPropertiesKHR( 11438 static_cast<VkPhysicalDevice>( m_physicalDevice ), 11439 reinterpret_cast<const VkPhysicalDeviceVideoFormatInfoKHR *>( &videoFormatInfo ), 11440 &videoFormatPropertyCount, 11441 nullptr ) ); 11442 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && videoFormatPropertyCount ) 11443 { 11444 videoFormatProperties.resize( videoFormatPropertyCount ); 11445 result = 11446 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceVideoFormatPropertiesKHR( 11447 static_cast<VkPhysicalDevice>( m_physicalDevice ), 11448 reinterpret_cast<const VkPhysicalDeviceVideoFormatInfoKHR *>( &videoFormatInfo ), 11449 &videoFormatPropertyCount, 11450 reinterpret_cast<VkVideoFormatPropertiesKHR *>( videoFormatProperties.data() ) ) ); 11451 VULKAN_HPP_ASSERT( videoFormatPropertyCount <= videoFormatProperties.size() ); 11452 } 11453 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 11454 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && 11455 ( videoFormatPropertyCount < videoFormatProperties.size() ) ) 11456 { 11457 videoFormatProperties.resize( videoFormatPropertyCount ); 11458 } 11459 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 11460 { 11461 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoFormatPropertiesKHR" ); 11462 } 11463 return videoFormatProperties; 11464 } 11465 11466 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::VideoGetMemoryPropertiesKHR> getMemoryRequirements() const11467 VideoSessionKHR::getMemoryRequirements() const 11468 { 11469 VULKAN_HPP_ASSERT( 11470 getDispatcher()->vkGetVideoSessionMemoryRequirementsKHR && 11471 "Function <vkGetVideoSessionMemoryRequirementsKHR> needs extension <VK_KHR_video_queue> enabled!" ); 11472 11473 std::vector<VULKAN_HPP_NAMESPACE::VideoGetMemoryPropertiesKHR> videoSessionMemoryRequirements; 11474 uint32_t videoSessionMemoryRequirementsCount; 11475 VULKAN_HPP_NAMESPACE::Result result; 11476 do 11477 { 11478 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 11479 getDispatcher()->vkGetVideoSessionMemoryRequirementsKHR( static_cast<VkDevice>( m_device ), 11480 static_cast<VkVideoSessionKHR>( m_videoSessionKHR ), 11481 &videoSessionMemoryRequirementsCount, 11482 nullptr ) ); 11483 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && videoSessionMemoryRequirementsCount ) 11484 { 11485 videoSessionMemoryRequirements.resize( videoSessionMemoryRequirementsCount ); 11486 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetVideoSessionMemoryRequirementsKHR( 11487 static_cast<VkDevice>( m_device ), 11488 static_cast<VkVideoSessionKHR>( m_videoSessionKHR ), 11489 &videoSessionMemoryRequirementsCount, 11490 reinterpret_cast<VkVideoGetMemoryPropertiesKHR *>( videoSessionMemoryRequirements.data() ) ) ); 11491 VULKAN_HPP_ASSERT( videoSessionMemoryRequirementsCount <= videoSessionMemoryRequirements.size() ); 11492 } 11493 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 11494 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && 11495 ( videoSessionMemoryRequirementsCount < videoSessionMemoryRequirements.size() ) ) 11496 { 11497 videoSessionMemoryRequirements.resize( videoSessionMemoryRequirementsCount ); 11498 } 11499 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 11500 { 11501 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::VideoSessionKHR::getMemoryRequirements" ); 11502 } 11503 return videoSessionMemoryRequirements; 11504 } 11505 bindMemory(ArrayProxy<const VULKAN_HPP_NAMESPACE::VideoBindMemoryKHR> const & videoSessionBindMemories) const11506 VULKAN_HPP_INLINE void VideoSessionKHR::bindMemory( 11507 ArrayProxy<const VULKAN_HPP_NAMESPACE::VideoBindMemoryKHR> const & videoSessionBindMemories ) const 11508 { 11509 VULKAN_HPP_ASSERT( getDispatcher()->vkBindVideoSessionMemoryKHR && 11510 "Function <vkBindVideoSessionMemoryKHR> needs extension <VK_KHR_video_queue> enabled!" ); 11511 11512 VULKAN_HPP_NAMESPACE::Result result = 11513 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkBindVideoSessionMemoryKHR( 11514 static_cast<VkDevice>( m_device ), 11515 static_cast<VkVideoSessionKHR>( m_videoSessionKHR ), 11516 videoSessionBindMemories.size(), 11517 reinterpret_cast<const VkVideoBindMemoryKHR *>( videoSessionBindMemories.data() ) ) ); 11518 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 11519 { 11520 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::VideoSessionKHR::bindMemory" ); 11521 } 11522 } 11523 11524 VULKAN_HPP_INLINE void update(const VideoSessionParametersUpdateInfoKHR & updateInfo) const11525 VideoSessionParametersKHR::update( const VideoSessionParametersUpdateInfoKHR & updateInfo ) const 11526 { 11527 VULKAN_HPP_ASSERT( getDispatcher()->vkUpdateVideoSessionParametersKHR && 11528 "Function <vkUpdateVideoSessionParametersKHR> needs extension <VK_KHR_video_queue> enabled!" ); 11529 11530 VULKAN_HPP_NAMESPACE::Result result = 11531 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkUpdateVideoSessionParametersKHR( 11532 static_cast<VkDevice>( m_device ), 11533 static_cast<VkVideoSessionParametersKHR>( m_videoSessionParametersKHR ), 11534 reinterpret_cast<const VkVideoSessionParametersUpdateInfoKHR *>( &updateInfo ) ) ); 11535 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 11536 { 11537 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::VideoSessionParametersKHR::update" ); 11538 } 11539 } 11540 11541 VULKAN_HPP_INLINE void beginVideoCodingKHR(const VideoBeginCodingInfoKHR & beginInfo) const11542 CommandBuffer::beginVideoCodingKHR( const VideoBeginCodingInfoKHR & beginInfo ) const VULKAN_HPP_NOEXCEPT 11543 { 11544 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBeginVideoCodingKHR && 11545 "Function <vkCmdBeginVideoCodingKHR> needs extension <VK_KHR_video_queue> enabled!" ); 11546 11547 getDispatcher()->vkCmdBeginVideoCodingKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 11548 reinterpret_cast<const VkVideoBeginCodingInfoKHR *>( &beginInfo ) ); 11549 } 11550 11551 VULKAN_HPP_INLINE void endVideoCodingKHR(const VideoEndCodingInfoKHR & endCodingInfo) const11552 CommandBuffer::endVideoCodingKHR( const VideoEndCodingInfoKHR & endCodingInfo ) const VULKAN_HPP_NOEXCEPT 11553 { 11554 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdEndVideoCodingKHR && 11555 "Function <vkCmdEndVideoCodingKHR> needs extension <VK_KHR_video_queue> enabled!" ); 11556 11557 getDispatcher()->vkCmdEndVideoCodingKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 11558 reinterpret_cast<const VkVideoEndCodingInfoKHR *>( &endCodingInfo ) ); 11559 } 11560 controlVideoCodingKHR(const VideoCodingControlInfoKHR & codingControlInfo) const11561 VULKAN_HPP_INLINE void CommandBuffer::controlVideoCodingKHR( 11562 const VideoCodingControlInfoKHR & codingControlInfo ) const VULKAN_HPP_NOEXCEPT 11563 { 11564 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdControlVideoCodingKHR && 11565 "Function <vkCmdControlVideoCodingKHR> needs extension <VK_KHR_video_queue> enabled!" ); 11566 11567 getDispatcher()->vkCmdControlVideoCodingKHR( 11568 static_cast<VkCommandBuffer>( m_commandBuffer ), 11569 reinterpret_cast<const VkVideoCodingControlInfoKHR *>( &codingControlInfo ) ); 11570 } 11571 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 11572 11573 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 11574 //=== VK_KHR_video_decode_queue === 11575 11576 VULKAN_HPP_INLINE void decodeVideoKHR(const VideoDecodeInfoKHR & frameInfo) const11577 CommandBuffer::decodeVideoKHR( const VideoDecodeInfoKHR & frameInfo ) const VULKAN_HPP_NOEXCEPT 11578 { 11579 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDecodeVideoKHR && 11580 "Function <vkCmdDecodeVideoKHR> needs extension <VK_KHR_video_decode_queue> enabled!" ); 11581 11582 getDispatcher()->vkCmdDecodeVideoKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 11583 reinterpret_cast<const VkVideoDecodeInfoKHR *>( &frameInfo ) ); 11584 } 11585 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 11586 11587 //=== VK_EXT_transform_feedback === 11588 bindTransformFeedbackBuffersEXT(uint32_t firstBinding,ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers,ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets,ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & sizes) const11589 VULKAN_HPP_INLINE void CommandBuffer::bindTransformFeedbackBuffersEXT( 11590 uint32_t firstBinding, 11591 ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers, 11592 ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets, 11593 ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & sizes ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS 11594 { 11595 VULKAN_HPP_ASSERT( 11596 getDispatcher()->vkCmdBindTransformFeedbackBuffersEXT && 11597 "Function <vkCmdBindTransformFeedbackBuffersEXT> needs extension <VK_EXT_transform_feedback> enabled!" ); 11598 11599 # ifdef VULKAN_HPP_NO_EXCEPTIONS 11600 VULKAN_HPP_ASSERT( buffers.size() == offsets.size() ); 11601 VULKAN_HPP_ASSERT( sizes.empty() || buffers.size() == sizes.size() ); 11602 # else 11603 if ( buffers.size() != offsets.size() ) 11604 { 11605 throw LogicError( VULKAN_HPP_NAMESPACE_STRING 11606 "::CommandBuffer::bindTransformFeedbackBuffersEXT: buffers.size() != offsets.size()" ); 11607 } 11608 if ( !sizes.empty() && buffers.size() != sizes.size() ) 11609 { 11610 throw LogicError( VULKAN_HPP_NAMESPACE_STRING 11611 "::CommandBuffer::bindTransformFeedbackBuffersEXT: buffers.size() != sizes.size()" ); 11612 } 11613 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ 11614 11615 getDispatcher()->vkCmdBindTransformFeedbackBuffersEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 11616 firstBinding, 11617 buffers.size(), 11618 reinterpret_cast<const VkBuffer *>( buffers.data() ), 11619 reinterpret_cast<const VkDeviceSize *>( offsets.data() ), 11620 reinterpret_cast<const VkDeviceSize *>( sizes.data() ) ); 11621 } 11622 beginTransformFeedbackEXT(uint32_t firstCounterBuffer,ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & counterBuffers,ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & counterBufferOffsets) const11623 VULKAN_HPP_INLINE void CommandBuffer::beginTransformFeedbackEXT( 11624 uint32_t firstCounterBuffer, 11625 ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & counterBuffers, 11626 ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & counterBufferOffsets ) const 11627 VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS 11628 { 11629 VULKAN_HPP_ASSERT( 11630 getDispatcher()->vkCmdBeginTransformFeedbackEXT && 11631 "Function <vkCmdBeginTransformFeedbackEXT> needs extension <VK_EXT_transform_feedback> enabled!" ); 11632 11633 # ifdef VULKAN_HPP_NO_EXCEPTIONS 11634 VULKAN_HPP_ASSERT( counterBufferOffsets.empty() || counterBuffers.size() == counterBufferOffsets.size() ); 11635 # else 11636 if ( !counterBufferOffsets.empty() && counterBuffers.size() != counterBufferOffsets.size() ) 11637 { 11638 throw LogicError( 11639 VULKAN_HPP_NAMESPACE_STRING 11640 "::CommandBuffer::beginTransformFeedbackEXT: counterBuffers.size() != counterBufferOffsets.size()" ); 11641 } 11642 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ 11643 11644 getDispatcher()->vkCmdBeginTransformFeedbackEXT( 11645 static_cast<VkCommandBuffer>( m_commandBuffer ), 11646 firstCounterBuffer, 11647 counterBuffers.size(), 11648 reinterpret_cast<const VkBuffer *>( counterBuffers.data() ), 11649 reinterpret_cast<const VkDeviceSize *>( counterBufferOffsets.data() ) ); 11650 } 11651 endTransformFeedbackEXT(uint32_t firstCounterBuffer,ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & counterBuffers,ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & counterBufferOffsets) const11652 VULKAN_HPP_INLINE void CommandBuffer::endTransformFeedbackEXT( 11653 uint32_t firstCounterBuffer, 11654 ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & counterBuffers, 11655 ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & counterBufferOffsets ) const 11656 VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS 11657 { 11658 VULKAN_HPP_ASSERT( 11659 getDispatcher()->vkCmdEndTransformFeedbackEXT && 11660 "Function <vkCmdEndTransformFeedbackEXT> needs extension <VK_EXT_transform_feedback> enabled!" ); 11661 11662 # ifdef VULKAN_HPP_NO_EXCEPTIONS 11663 VULKAN_HPP_ASSERT( counterBufferOffsets.empty() || counterBuffers.size() == counterBufferOffsets.size() ); 11664 # else 11665 if ( !counterBufferOffsets.empty() && counterBuffers.size() != counterBufferOffsets.size() ) 11666 { 11667 throw LogicError( 11668 VULKAN_HPP_NAMESPACE_STRING 11669 "::CommandBuffer::endTransformFeedbackEXT: counterBuffers.size() != counterBufferOffsets.size()" ); 11670 } 11671 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ 11672 11673 getDispatcher()->vkCmdEndTransformFeedbackEXT( 11674 static_cast<VkCommandBuffer>( m_commandBuffer ), 11675 firstCounterBuffer, 11676 counterBuffers.size(), 11677 reinterpret_cast<const VkBuffer *>( counterBuffers.data() ), 11678 reinterpret_cast<const VkDeviceSize *>( counterBufferOffsets.data() ) ); 11679 } 11680 beginQueryIndexedEXT(VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t query,VULKAN_HPP_NAMESPACE::QueryControlFlags flags,uint32_t index) const11681 VULKAN_HPP_INLINE void CommandBuffer::beginQueryIndexedEXT( VULKAN_HPP_NAMESPACE::QueryPool queryPool, 11682 uint32_t query, 11683 VULKAN_HPP_NAMESPACE::QueryControlFlags flags, 11684 uint32_t index ) const VULKAN_HPP_NOEXCEPT 11685 { 11686 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBeginQueryIndexedEXT && 11687 "Function <vkCmdBeginQueryIndexedEXT> needs extension <VK_EXT_transform_feedback> enabled!" ); 11688 11689 getDispatcher()->vkCmdBeginQueryIndexedEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 11690 static_cast<VkQueryPool>( queryPool ), 11691 query, 11692 static_cast<VkQueryControlFlags>( flags ), 11693 index ); 11694 } 11695 endQueryIndexedEXT(VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t query,uint32_t index) const11696 VULKAN_HPP_INLINE void CommandBuffer::endQueryIndexedEXT( VULKAN_HPP_NAMESPACE::QueryPool queryPool, 11697 uint32_t query, 11698 uint32_t index ) const VULKAN_HPP_NOEXCEPT 11699 { 11700 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdEndQueryIndexedEXT && 11701 "Function <vkCmdEndQueryIndexedEXT> needs extension <VK_EXT_transform_feedback> enabled!" ); 11702 11703 getDispatcher()->vkCmdEndQueryIndexedEXT( 11704 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkQueryPool>( queryPool ), query, index ); 11705 } 11706 11707 VULKAN_HPP_INLINE void drawIndirectByteCountEXT(uint32_t instanceCount,uint32_t firstInstance,VULKAN_HPP_NAMESPACE::Buffer counterBuffer,VULKAN_HPP_NAMESPACE::DeviceSize counterBufferOffset,uint32_t counterOffset,uint32_t vertexStride) const11708 CommandBuffer::drawIndirectByteCountEXT( uint32_t instanceCount, 11709 uint32_t firstInstance, 11710 VULKAN_HPP_NAMESPACE::Buffer counterBuffer, 11711 VULKAN_HPP_NAMESPACE::DeviceSize counterBufferOffset, 11712 uint32_t counterOffset, 11713 uint32_t vertexStride ) const VULKAN_HPP_NOEXCEPT 11714 { 11715 VULKAN_HPP_ASSERT( 11716 getDispatcher()->vkCmdDrawIndirectByteCountEXT && 11717 "Function <vkCmdDrawIndirectByteCountEXT> needs extension <VK_EXT_transform_feedback> enabled!" ); 11718 11719 getDispatcher()->vkCmdDrawIndirectByteCountEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 11720 instanceCount, 11721 firstInstance, 11722 static_cast<VkBuffer>( counterBuffer ), 11723 static_cast<VkDeviceSize>( counterBufferOffset ), 11724 counterOffset, 11725 vertexStride ); 11726 } 11727 11728 //=== VK_NVX_binary_import === 11729 11730 VULKAN_HPP_INLINE void cuLaunchKernelNVX(const CuLaunchInfoNVX & launchInfo) const11731 CommandBuffer::cuLaunchKernelNVX( const CuLaunchInfoNVX & launchInfo ) const VULKAN_HPP_NOEXCEPT 11732 { 11733 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCuLaunchKernelNVX && 11734 "Function <vkCmdCuLaunchKernelNVX> needs extension <VK_NVX_binary_import> enabled!" ); 11735 11736 getDispatcher()->vkCmdCuLaunchKernelNVX( static_cast<VkCommandBuffer>( m_commandBuffer ), 11737 reinterpret_cast<const VkCuLaunchInfoNVX *>( &launchInfo ) ); 11738 } 11739 11740 //=== VK_NVX_image_view_handle === 11741 11742 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint32_t getImageViewHandleNVX(const ImageViewHandleInfoNVX & info) const11743 Device::getImageViewHandleNVX( const ImageViewHandleInfoNVX & info ) const VULKAN_HPP_NOEXCEPT 11744 { 11745 VULKAN_HPP_ASSERT( getDispatcher()->vkGetImageViewHandleNVX && 11746 "Function <vkGetImageViewHandleNVX> needs extension <VK_NVX_image_view_handle> enabled!" ); 11747 11748 return getDispatcher()->vkGetImageViewHandleNVX( static_cast<VkDevice>( m_device ), 11749 reinterpret_cast<const VkImageViewHandleInfoNVX *>( &info ) ); 11750 } 11751 11752 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX getAddressNVX() const11753 ImageView::getAddressNVX() const 11754 { 11755 VULKAN_HPP_ASSERT( getDispatcher()->vkGetImageViewAddressNVX && 11756 "Function <vkGetImageViewAddressNVX> needs extension <VK_NVX_image_view_handle> enabled!" ); 11757 11758 VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX properties; 11759 VULKAN_HPP_NAMESPACE::Result result = 11760 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetImageViewAddressNVX( 11761 static_cast<VkDevice>( m_device ), 11762 static_cast<VkImageView>( m_imageView ), 11763 reinterpret_cast<VkImageViewAddressPropertiesNVX *>( &properties ) ) ); 11764 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 11765 { 11766 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::ImageView::getAddressNVX" ); 11767 } 11768 return properties; 11769 } 11770 11771 //=== VK_AMD_draw_indirect_count === 11772 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) const11773 VULKAN_HPP_INLINE void CommandBuffer::drawIndirectCountAMD( VULKAN_HPP_NAMESPACE::Buffer buffer, 11774 VULKAN_HPP_NAMESPACE::DeviceSize offset, 11775 VULKAN_HPP_NAMESPACE::Buffer countBuffer, 11776 VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, 11777 uint32_t maxDrawCount, 11778 uint32_t stride ) const VULKAN_HPP_NOEXCEPT 11779 { 11780 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDrawIndirectCountAMD && 11781 "Function <vkCmdDrawIndirectCountAMD> needs extension <VK_AMD_draw_indirect_count> enabled!" ); 11782 11783 getDispatcher()->vkCmdDrawIndirectCountAMD( static_cast<VkCommandBuffer>( m_commandBuffer ), 11784 static_cast<VkBuffer>( buffer ), 11785 static_cast<VkDeviceSize>( offset ), 11786 static_cast<VkBuffer>( countBuffer ), 11787 static_cast<VkDeviceSize>( countBufferOffset ), 11788 maxDrawCount, 11789 stride ); 11790 } 11791 11792 VULKAN_HPP_INLINE void 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) const11793 CommandBuffer::drawIndexedIndirectCountAMD( VULKAN_HPP_NAMESPACE::Buffer buffer, 11794 VULKAN_HPP_NAMESPACE::DeviceSize offset, 11795 VULKAN_HPP_NAMESPACE::Buffer countBuffer, 11796 VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, 11797 uint32_t maxDrawCount, 11798 uint32_t stride ) const VULKAN_HPP_NOEXCEPT 11799 { 11800 VULKAN_HPP_ASSERT( 11801 getDispatcher()->vkCmdDrawIndexedIndirectCountAMD && 11802 "Function <vkCmdDrawIndexedIndirectCountAMD> needs extension <VK_AMD_draw_indirect_count> enabled!" ); 11803 11804 getDispatcher()->vkCmdDrawIndexedIndirectCountAMD( static_cast<VkCommandBuffer>( m_commandBuffer ), 11805 static_cast<VkBuffer>( buffer ), 11806 static_cast<VkDeviceSize>( offset ), 11807 static_cast<VkBuffer>( countBuffer ), 11808 static_cast<VkDeviceSize>( countBufferOffset ), 11809 maxDrawCount, 11810 stride ); 11811 } 11812 11813 //=== VK_AMD_shader_info === 11814 11815 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<uint8_t> getShaderInfoAMD(VULKAN_HPP_NAMESPACE::ShaderStageFlagBits shaderStage,VULKAN_HPP_NAMESPACE::ShaderInfoTypeAMD infoType) const11816 Pipeline::getShaderInfoAMD( VULKAN_HPP_NAMESPACE::ShaderStageFlagBits shaderStage, 11817 VULKAN_HPP_NAMESPACE::ShaderInfoTypeAMD infoType ) const 11818 { 11819 VULKAN_HPP_ASSERT( getDispatcher()->vkGetShaderInfoAMD && 11820 "Function <vkGetShaderInfoAMD> needs extension <VK_AMD_shader_info> enabled!" ); 11821 11822 std::vector<uint8_t> info; 11823 size_t infoSize; 11824 VULKAN_HPP_NAMESPACE::Result result; 11825 do 11826 { 11827 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 11828 getDispatcher()->vkGetShaderInfoAMD( static_cast<VkDevice>( m_device ), 11829 static_cast<VkPipeline>( m_pipeline ), 11830 static_cast<VkShaderStageFlagBits>( shaderStage ), 11831 static_cast<VkShaderInfoTypeAMD>( infoType ), 11832 &infoSize, 11833 nullptr ) ); 11834 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && infoSize ) 11835 { 11836 info.resize( infoSize ); 11837 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 11838 getDispatcher()->vkGetShaderInfoAMD( static_cast<VkDevice>( m_device ), 11839 static_cast<VkPipeline>( m_pipeline ), 11840 static_cast<VkShaderStageFlagBits>( shaderStage ), 11841 static_cast<VkShaderInfoTypeAMD>( infoType ), 11842 &infoSize, 11843 reinterpret_cast<void *>( info.data() ) ) ); 11844 VULKAN_HPP_ASSERT( infoSize <= info.size() ); 11845 } 11846 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 11847 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( infoSize < info.size() ) ) 11848 { 11849 info.resize( infoSize ); 11850 } 11851 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 11852 { 11853 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Pipeline::getShaderInfoAMD" ); 11854 } 11855 return info; 11856 } 11857 11858 //=== VK_NV_external_memory_capabilities === 11859 11860 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV 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) const11861 PhysicalDevice::getExternalImageFormatPropertiesNV( 11862 VULKAN_HPP_NAMESPACE::Format format, 11863 VULKAN_HPP_NAMESPACE::ImageType type, 11864 VULKAN_HPP_NAMESPACE::ImageTiling tiling, 11865 VULKAN_HPP_NAMESPACE::ImageUsageFlags usage, 11866 VULKAN_HPP_NAMESPACE::ImageCreateFlags flags, 11867 VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV externalHandleType ) const 11868 { 11869 VULKAN_HPP_ASSERT( 11870 getDispatcher()->vkGetPhysicalDeviceExternalImageFormatPropertiesNV && 11871 "Function <vkGetPhysicalDeviceExternalImageFormatPropertiesNV> needs extension <VK_NV_external_memory_capabilities> enabled!" ); 11872 11873 VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV externalImageFormatProperties; 11874 VULKAN_HPP_NAMESPACE::Result result = 11875 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceExternalImageFormatPropertiesNV( 11876 static_cast<VkPhysicalDevice>( m_physicalDevice ), 11877 static_cast<VkFormat>( format ), 11878 static_cast<VkImageType>( type ), 11879 static_cast<VkImageTiling>( tiling ), 11880 static_cast<VkImageUsageFlags>( usage ), 11881 static_cast<VkImageCreateFlags>( flags ), 11882 static_cast<VkExternalMemoryHandleTypeFlagsNV>( externalHandleType ), 11883 reinterpret_cast<VkExternalImageFormatPropertiesNV *>( &externalImageFormatProperties ) ) ); 11884 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 11885 { 11886 throwResultException( result, 11887 VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getExternalImageFormatPropertiesNV" ); 11888 } 11889 return externalImageFormatProperties; 11890 } 11891 11892 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 11893 //=== VK_NV_external_memory_win32 === 11894 11895 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE HANDLE getMemoryWin32HandleNV(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleType) const11896 DeviceMemory::getMemoryWin32HandleNV( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleType ) const 11897 { 11898 VULKAN_HPP_ASSERT( getDispatcher()->vkGetMemoryWin32HandleNV && 11899 "Function <vkGetMemoryWin32HandleNV> needs extension <VK_NV_external_memory_win32> enabled!" ); 11900 11901 HANDLE handle; 11902 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 11903 getDispatcher()->vkGetMemoryWin32HandleNV( static_cast<VkDevice>( m_device ), 11904 static_cast<VkDeviceMemory>( m_deviceMemory ), 11905 static_cast<VkExternalMemoryHandleTypeFlagsNV>( handleType ), 11906 &handle ) ); 11907 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 11908 { 11909 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::DeviceMemory::getMemoryWin32HandleNV" ); 11910 } 11911 return handle; 11912 } 11913 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 11914 11915 //=== VK_KHR_get_physical_device_properties2 === 11916 11917 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 getFeatures2KHR() const11918 PhysicalDevice::getFeatures2KHR() const VULKAN_HPP_NOEXCEPT 11919 { 11920 VULKAN_HPP_ASSERT( 11921 getDispatcher()->vkGetPhysicalDeviceFeatures2KHR && 11922 "Function <vkGetPhysicalDeviceFeatures2KHR> needs extension <VK_KHR_get_physical_device_properties2> enabled!" ); 11923 11924 VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 features; 11925 getDispatcher()->vkGetPhysicalDeviceFeatures2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 11926 reinterpret_cast<VkPhysicalDeviceFeatures2 *>( &features ) ); 11927 return features; 11928 } 11929 11930 template <typename X, typename Y, typename... Z> 11931 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> getFeatures2KHR() const11932 PhysicalDevice::getFeatures2KHR() const VULKAN_HPP_NOEXCEPT 11933 { 11934 VULKAN_HPP_ASSERT( 11935 getDispatcher()->vkGetPhysicalDeviceFeatures2KHR && 11936 "Function <vkGetPhysicalDeviceFeatures2KHR> needs extension <VK_KHR_get_physical_device_properties2> enabled!" ); 11937 11938 StructureChain<X, Y, Z...> structureChain; 11939 VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 & features = 11940 structureChain.template get<VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2>(); 11941 getDispatcher()->vkGetPhysicalDeviceFeatures2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 11942 reinterpret_cast<VkPhysicalDeviceFeatures2 *>( &features ) ); 11943 return structureChain; 11944 } 11945 11946 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 getProperties2KHR() const11947 PhysicalDevice::getProperties2KHR() const VULKAN_HPP_NOEXCEPT 11948 { 11949 VULKAN_HPP_ASSERT( 11950 getDispatcher()->vkGetPhysicalDeviceProperties2KHR && 11951 "Function <vkGetPhysicalDeviceProperties2KHR> needs extension <VK_KHR_get_physical_device_properties2> enabled!" ); 11952 11953 VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 properties; 11954 getDispatcher()->vkGetPhysicalDeviceProperties2KHR( 11955 static_cast<VkPhysicalDevice>( m_physicalDevice ), 11956 reinterpret_cast<VkPhysicalDeviceProperties2 *>( &properties ) ); 11957 return properties; 11958 } 11959 11960 template <typename X, typename Y, typename... Z> 11961 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> getProperties2KHR() const11962 PhysicalDevice::getProperties2KHR() const VULKAN_HPP_NOEXCEPT 11963 { 11964 VULKAN_HPP_ASSERT( 11965 getDispatcher()->vkGetPhysicalDeviceProperties2KHR && 11966 "Function <vkGetPhysicalDeviceProperties2KHR> needs extension <VK_KHR_get_physical_device_properties2> enabled!" ); 11967 11968 StructureChain<X, Y, Z...> structureChain; 11969 VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 & properties = 11970 structureChain.template get<VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2>(); 11971 getDispatcher()->vkGetPhysicalDeviceProperties2KHR( 11972 static_cast<VkPhysicalDevice>( m_physicalDevice ), 11973 reinterpret_cast<VkPhysicalDeviceProperties2 *>( &properties ) ); 11974 return structureChain; 11975 } 11976 11977 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::FormatProperties2 getFormatProperties2KHR(VULKAN_HPP_NAMESPACE::Format format) const11978 PhysicalDevice::getFormatProperties2KHR( VULKAN_HPP_NAMESPACE::Format format ) const VULKAN_HPP_NOEXCEPT 11979 { 11980 VULKAN_HPP_ASSERT( 11981 getDispatcher()->vkGetPhysicalDeviceFormatProperties2KHR && 11982 "Function <vkGetPhysicalDeviceFormatProperties2KHR> needs extension <VK_KHR_get_physical_device_properties2> enabled!" ); 11983 11984 VULKAN_HPP_NAMESPACE::FormatProperties2 formatProperties; 11985 getDispatcher()->vkGetPhysicalDeviceFormatProperties2KHR( 11986 static_cast<VkPhysicalDevice>( m_physicalDevice ), 11987 static_cast<VkFormat>( format ), 11988 reinterpret_cast<VkFormatProperties2 *>( &formatProperties ) ); 11989 return formatProperties; 11990 } 11991 11992 template <typename X, typename Y, typename... Z> 11993 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> getFormatProperties2KHR(VULKAN_HPP_NAMESPACE::Format format) const11994 PhysicalDevice::getFormatProperties2KHR( VULKAN_HPP_NAMESPACE::Format format ) const VULKAN_HPP_NOEXCEPT 11995 { 11996 VULKAN_HPP_ASSERT( 11997 getDispatcher()->vkGetPhysicalDeviceFormatProperties2KHR && 11998 "Function <vkGetPhysicalDeviceFormatProperties2KHR> needs extension <VK_KHR_get_physical_device_properties2> enabled!" ); 11999 12000 StructureChain<X, Y, Z...> structureChain; 12001 VULKAN_HPP_NAMESPACE::FormatProperties2 & formatProperties = 12002 structureChain.template get<VULKAN_HPP_NAMESPACE::FormatProperties2>(); 12003 getDispatcher()->vkGetPhysicalDeviceFormatProperties2KHR( 12004 static_cast<VkPhysicalDevice>( m_physicalDevice ), 12005 static_cast<VkFormat>( format ), 12006 reinterpret_cast<VkFormatProperties2 *>( &formatProperties ) ); 12007 return structureChain; 12008 } 12009 12010 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ImageFormatProperties2 getImageFormatProperties2KHR(const PhysicalDeviceImageFormatInfo2 & imageFormatInfo) const12011 PhysicalDevice::getImageFormatProperties2KHR( const PhysicalDeviceImageFormatInfo2 & imageFormatInfo ) const 12012 { 12013 VULKAN_HPP_ASSERT( 12014 getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2KHR && 12015 "Function <vkGetPhysicalDeviceImageFormatProperties2KHR> needs extension <VK_KHR_get_physical_device_properties2> enabled!" ); 12016 12017 VULKAN_HPP_NAMESPACE::ImageFormatProperties2 imageFormatProperties; 12018 VULKAN_HPP_NAMESPACE::Result result = 12019 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2KHR( 12020 static_cast<VkPhysicalDevice>( m_physicalDevice ), 12021 reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>( &imageFormatInfo ), 12022 reinterpret_cast<VkImageFormatProperties2 *>( &imageFormatProperties ) ) ); 12023 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 12024 { 12025 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2KHR" ); 12026 } 12027 return imageFormatProperties; 12028 } 12029 12030 template <typename X, typename Y, typename... Z> 12031 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getImageFormatProperties2KHR(const PhysicalDeviceImageFormatInfo2 & imageFormatInfo) const12032 PhysicalDevice::getImageFormatProperties2KHR( const PhysicalDeviceImageFormatInfo2 & imageFormatInfo ) const 12033 { 12034 StructureChain<X, Y, Z...> structureChain; 12035 VULKAN_HPP_NAMESPACE::ImageFormatProperties2 & imageFormatProperties = 12036 structureChain.template get<VULKAN_HPP_NAMESPACE::ImageFormatProperties2>(); 12037 VULKAN_HPP_NAMESPACE::Result result = 12038 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2KHR( 12039 static_cast<VkPhysicalDevice>( m_physicalDevice ), 12040 reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>( &imageFormatInfo ), 12041 reinterpret_cast<VkImageFormatProperties2 *>( &imageFormatProperties ) ) ); 12042 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 12043 { 12044 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2KHR" ); 12045 } 12046 return structureChain; 12047 } 12048 12049 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2> getQueueFamilyProperties2KHR() const12050 PhysicalDevice::getQueueFamilyProperties2KHR() const VULKAN_HPP_NOEXCEPT 12051 { 12052 VULKAN_HPP_ASSERT( 12053 getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2KHR && 12054 "Function <vkGetPhysicalDeviceQueueFamilyProperties2KHR> needs extension <VK_KHR_get_physical_device_properties2> enabled!" ); 12055 12056 uint32_t queueFamilyPropertyCount; 12057 getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2KHR( 12058 static_cast<VkPhysicalDevice>( m_physicalDevice ), &queueFamilyPropertyCount, nullptr ); 12059 std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2> queueFamilyProperties( queueFamilyPropertyCount ); 12060 getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2KHR( 12061 static_cast<VkPhysicalDevice>( m_physicalDevice ), 12062 &queueFamilyPropertyCount, 12063 reinterpret_cast<VkQueueFamilyProperties2 *>( queueFamilyProperties.data() ) ); 12064 VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); 12065 return queueFamilyProperties; 12066 } 12067 12068 template <typename StructureChain> 12069 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<StructureChain> getQueueFamilyProperties2KHR() const12070 PhysicalDevice::getQueueFamilyProperties2KHR() const 12071 { 12072 VULKAN_HPP_ASSERT( 12073 getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2KHR && 12074 "Function <vkGetPhysicalDeviceQueueFamilyProperties2KHR> needs extension <VK_KHR_get_physical_device_properties2> enabled!" ); 12075 12076 uint32_t queueFamilyPropertyCount; 12077 getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2KHR( 12078 static_cast<VkPhysicalDevice>( m_physicalDevice ), &queueFamilyPropertyCount, nullptr ); 12079 std::vector<StructureChain> returnVector( queueFamilyPropertyCount ); 12080 std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2> queueFamilyProperties( queueFamilyPropertyCount ); 12081 for ( uint32_t i = 0; i < queueFamilyPropertyCount; i++ ) 12082 { 12083 queueFamilyProperties[i].pNext = 12084 returnVector[i].template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>().pNext; 12085 } 12086 getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2KHR( 12087 static_cast<VkPhysicalDevice>( m_physicalDevice ), 12088 &queueFamilyPropertyCount, 12089 reinterpret_cast<VkQueueFamilyProperties2 *>( queueFamilyProperties.data() ) ); 12090 VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); 12091 for ( uint32_t i = 0; i < queueFamilyPropertyCount; i++ ) 12092 { 12093 returnVector[i].template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>() = queueFamilyProperties[i]; 12094 } 12095 return returnVector; 12096 } 12097 12098 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 getMemoryProperties2KHR() const12099 PhysicalDevice::getMemoryProperties2KHR() const VULKAN_HPP_NOEXCEPT 12100 { 12101 VULKAN_HPP_ASSERT( 12102 getDispatcher()->vkGetPhysicalDeviceMemoryProperties2KHR && 12103 "Function <vkGetPhysicalDeviceMemoryProperties2KHR> needs extension <VK_KHR_get_physical_device_properties2> enabled!" ); 12104 12105 VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 memoryProperties; 12106 getDispatcher()->vkGetPhysicalDeviceMemoryProperties2KHR( 12107 static_cast<VkPhysicalDevice>( m_physicalDevice ), 12108 reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>( &memoryProperties ) ); 12109 return memoryProperties; 12110 } 12111 12112 template <typename X, typename Y, typename... Z> 12113 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> getMemoryProperties2KHR() const12114 PhysicalDevice::getMemoryProperties2KHR() const VULKAN_HPP_NOEXCEPT 12115 { 12116 VULKAN_HPP_ASSERT( 12117 getDispatcher()->vkGetPhysicalDeviceMemoryProperties2KHR && 12118 "Function <vkGetPhysicalDeviceMemoryProperties2KHR> needs extension <VK_KHR_get_physical_device_properties2> enabled!" ); 12119 12120 StructureChain<X, Y, Z...> structureChain; 12121 VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 & memoryProperties = 12122 structureChain.template get<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2>(); 12123 getDispatcher()->vkGetPhysicalDeviceMemoryProperties2KHR( 12124 static_cast<VkPhysicalDevice>( m_physicalDevice ), 12125 reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>( &memoryProperties ) ); 12126 return structureChain; 12127 } 12128 12129 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2> getSparseImageFormatProperties2KHR(const PhysicalDeviceSparseImageFormatInfo2 & formatInfo) const12130 PhysicalDevice::getSparseImageFormatProperties2KHR( 12131 const PhysicalDeviceSparseImageFormatInfo2 & formatInfo ) const VULKAN_HPP_NOEXCEPT 12132 { 12133 VULKAN_HPP_ASSERT( 12134 getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties2KHR && 12135 "Function <vkGetPhysicalDeviceSparseImageFormatProperties2KHR> needs extension <VK_KHR_get_physical_device_properties2> enabled!" ); 12136 12137 uint32_t propertyCount; 12138 getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties2KHR( 12139 static_cast<VkPhysicalDevice>( m_physicalDevice ), 12140 reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ), 12141 &propertyCount, 12142 nullptr ); 12143 std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2> properties( propertyCount ); 12144 getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties2KHR( 12145 static_cast<VkPhysicalDevice>( m_physicalDevice ), 12146 reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ), 12147 &propertyCount, 12148 reinterpret_cast<VkSparseImageFormatProperties2 *>( properties.data() ) ); 12149 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 12150 return properties; 12151 } 12152 12153 //=== VK_KHR_device_group === 12154 12155 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags getGroupPeerMemoryFeaturesKHR(uint32_t heapIndex,uint32_t localDeviceIndex,uint32_t remoteDeviceIndex) const12156 Device::getGroupPeerMemoryFeaturesKHR( uint32_t heapIndex, 12157 uint32_t localDeviceIndex, 12158 uint32_t remoteDeviceIndex ) const VULKAN_HPP_NOEXCEPT 12159 { 12160 VULKAN_HPP_ASSERT( 12161 getDispatcher()->vkGetDeviceGroupPeerMemoryFeaturesKHR && 12162 "Function <vkGetDeviceGroupPeerMemoryFeaturesKHR> needs extension <VK_KHR_device_group> enabled!" ); 12163 12164 VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags peerMemoryFeatures; 12165 getDispatcher()->vkGetDeviceGroupPeerMemoryFeaturesKHR( 12166 static_cast<VkDevice>( m_device ), 12167 heapIndex, 12168 localDeviceIndex, 12169 remoteDeviceIndex, 12170 reinterpret_cast<VkPeerMemoryFeatureFlags *>( &peerMemoryFeatures ) ); 12171 return peerMemoryFeatures; 12172 } 12173 setDeviceMaskKHR(uint32_t deviceMask) const12174 VULKAN_HPP_INLINE void CommandBuffer::setDeviceMaskKHR( uint32_t deviceMask ) const VULKAN_HPP_NOEXCEPT 12175 { 12176 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDeviceMaskKHR && 12177 "Function <vkCmdSetDeviceMaskKHR> needs extension <VK_KHR_device_group> enabled!" ); 12178 12179 getDispatcher()->vkCmdSetDeviceMaskKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), deviceMask ); 12180 } 12181 dispatchBaseKHR(uint32_t baseGroupX,uint32_t baseGroupY,uint32_t baseGroupZ,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const12182 VULKAN_HPP_INLINE void CommandBuffer::dispatchBaseKHR( uint32_t baseGroupX, 12183 uint32_t baseGroupY, 12184 uint32_t baseGroupZ, 12185 uint32_t groupCountX, 12186 uint32_t groupCountY, 12187 uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT 12188 { 12189 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDispatchBaseKHR && 12190 "Function <vkCmdDispatchBaseKHR> needs extension <VK_KHR_device_group> enabled!" ); 12191 12192 getDispatcher()->vkCmdDispatchBaseKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 12193 baseGroupX, 12194 baseGroupY, 12195 baseGroupZ, 12196 groupCountX, 12197 groupCountY, 12198 groupCountZ ); 12199 } 12200 12201 //=== VK_KHR_maintenance1 === 12202 12203 VULKAN_HPP_INLINE void trimKHR(VULKAN_HPP_NAMESPACE::CommandPoolTrimFlags flags) const12204 CommandPool::trimKHR( VULKAN_HPP_NAMESPACE::CommandPoolTrimFlags flags ) const VULKAN_HPP_NOEXCEPT 12205 { 12206 VULKAN_HPP_ASSERT( getDispatcher()->vkTrimCommandPoolKHR && 12207 "Function <vkTrimCommandPoolKHR> needs extension <VK_KHR_maintenance1> enabled!" ); 12208 12209 getDispatcher()->vkTrimCommandPoolKHR( static_cast<VkDevice>( m_device ), 12210 static_cast<VkCommandPool>( m_commandPool ), 12211 static_cast<VkCommandPoolTrimFlags>( flags ) ); 12212 } 12213 12214 //=== VK_KHR_device_group_creation === 12215 12216 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties> enumeratePhysicalDeviceGroupsKHR() const12217 Instance::enumeratePhysicalDeviceGroupsKHR() const 12218 { 12219 VULKAN_HPP_ASSERT( 12220 getDispatcher()->vkEnumeratePhysicalDeviceGroupsKHR && 12221 "Function <vkEnumeratePhysicalDeviceGroupsKHR> needs extension <VK_KHR_device_group_creation> enabled!" ); 12222 12223 std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties> physicalDeviceGroupProperties; 12224 uint32_t physicalDeviceGroupCount; 12225 VULKAN_HPP_NAMESPACE::Result result; 12226 do 12227 { 12228 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkEnumeratePhysicalDeviceGroupsKHR( 12229 static_cast<VkInstance>( m_instance ), &physicalDeviceGroupCount, nullptr ) ); 12230 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && physicalDeviceGroupCount ) 12231 { 12232 physicalDeviceGroupProperties.resize( physicalDeviceGroupCount ); 12233 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkEnumeratePhysicalDeviceGroupsKHR( 12234 static_cast<VkInstance>( m_instance ), 12235 &physicalDeviceGroupCount, 12236 reinterpret_cast<VkPhysicalDeviceGroupProperties *>( physicalDeviceGroupProperties.data() ) ) ); 12237 VULKAN_HPP_ASSERT( physicalDeviceGroupCount <= physicalDeviceGroupProperties.size() ); 12238 } 12239 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 12240 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && 12241 ( physicalDeviceGroupCount < physicalDeviceGroupProperties.size() ) ) 12242 { 12243 physicalDeviceGroupProperties.resize( physicalDeviceGroupCount ); 12244 } 12245 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 12246 { 12247 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::enumeratePhysicalDeviceGroupsKHR" ); 12248 } 12249 return physicalDeviceGroupProperties; 12250 } 12251 12252 //=== VK_KHR_external_memory_capabilities === 12253 12254 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalBufferProperties getExternalBufferPropertiesKHR(const PhysicalDeviceExternalBufferInfo & externalBufferInfo) const12255 PhysicalDevice::getExternalBufferPropertiesKHR( 12256 const PhysicalDeviceExternalBufferInfo & externalBufferInfo ) const VULKAN_HPP_NOEXCEPT 12257 { 12258 VULKAN_HPP_ASSERT( 12259 getDispatcher()->vkGetPhysicalDeviceExternalBufferPropertiesKHR && 12260 "Function <vkGetPhysicalDeviceExternalBufferPropertiesKHR> needs extension <VK_KHR_external_memory_capabilities> enabled!" ); 12261 12262 VULKAN_HPP_NAMESPACE::ExternalBufferProperties externalBufferProperties; 12263 getDispatcher()->vkGetPhysicalDeviceExternalBufferPropertiesKHR( 12264 static_cast<VkPhysicalDevice>( m_physicalDevice ), 12265 reinterpret_cast<const VkPhysicalDeviceExternalBufferInfo *>( &externalBufferInfo ), 12266 reinterpret_cast<VkExternalBufferProperties *>( &externalBufferProperties ) ); 12267 return externalBufferProperties; 12268 } 12269 12270 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 12271 //=== VK_KHR_external_memory_win32 === 12272 12273 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE HANDLE getMemoryWin32HandleKHR(const MemoryGetWin32HandleInfoKHR & getWin32HandleInfo) const12274 Device::getMemoryWin32HandleKHR( const MemoryGetWin32HandleInfoKHR & getWin32HandleInfo ) const 12275 { 12276 VULKAN_HPP_ASSERT( 12277 getDispatcher()->vkGetMemoryWin32HandleKHR && 12278 "Function <vkGetMemoryWin32HandleKHR> needs extension <VK_KHR_external_memory_win32> enabled!" ); 12279 12280 HANDLE handle; 12281 VULKAN_HPP_NAMESPACE::Result result = 12282 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetMemoryWin32HandleKHR( 12283 static_cast<VkDevice>( m_device ), 12284 reinterpret_cast<const VkMemoryGetWin32HandleInfoKHR *>( &getWin32HandleInfo ), 12285 &handle ) ); 12286 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 12287 { 12288 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryWin32HandleKHR" ); 12289 } 12290 return handle; 12291 } 12292 12293 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR getMemoryWin32HandlePropertiesKHR(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,HANDLE handle) const12294 Device::getMemoryWin32HandlePropertiesKHR( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, 12295 HANDLE handle ) const 12296 { 12297 VULKAN_HPP_ASSERT( 12298 getDispatcher()->vkGetMemoryWin32HandlePropertiesKHR && 12299 "Function <vkGetMemoryWin32HandlePropertiesKHR> needs extension <VK_KHR_external_memory_win32> enabled!" ); 12300 12301 VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR memoryWin32HandleProperties; 12302 VULKAN_HPP_NAMESPACE::Result result = 12303 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetMemoryWin32HandlePropertiesKHR( 12304 static_cast<VkDevice>( m_device ), 12305 static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ), 12306 handle, 12307 reinterpret_cast<VkMemoryWin32HandlePropertiesKHR *>( &memoryWin32HandleProperties ) ) ); 12308 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 12309 { 12310 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryWin32HandlePropertiesKHR" ); 12311 } 12312 return memoryWin32HandleProperties; 12313 } 12314 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 12315 12316 //=== VK_KHR_external_memory_fd === 12317 getMemoryFdKHR(const MemoryGetFdInfoKHR & getFdInfo) const12318 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE int Device::getMemoryFdKHR( const MemoryGetFdInfoKHR & getFdInfo ) const 12319 { 12320 VULKAN_HPP_ASSERT( getDispatcher()->vkGetMemoryFdKHR && 12321 "Function <vkGetMemoryFdKHR> needs extension <VK_KHR_external_memory_fd> enabled!" ); 12322 12323 int fd; 12324 VULKAN_HPP_NAMESPACE::Result result = 12325 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetMemoryFdKHR( 12326 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkMemoryGetFdInfoKHR *>( &getFdInfo ), &fd ) ); 12327 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 12328 { 12329 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryFdKHR" ); 12330 } 12331 return fd; 12332 } 12333 12334 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR getMemoryFdPropertiesKHR(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,int fd) const12335 Device::getMemoryFdPropertiesKHR( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, 12336 int fd ) const 12337 { 12338 VULKAN_HPP_ASSERT( getDispatcher()->vkGetMemoryFdPropertiesKHR && 12339 "Function <vkGetMemoryFdPropertiesKHR> needs extension <VK_KHR_external_memory_fd> enabled!" ); 12340 12341 VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR memoryFdProperties; 12342 VULKAN_HPP_NAMESPACE::Result result = 12343 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetMemoryFdPropertiesKHR( 12344 static_cast<VkDevice>( m_device ), 12345 static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ), 12346 fd, 12347 reinterpret_cast<VkMemoryFdPropertiesKHR *>( &memoryFdProperties ) ) ); 12348 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 12349 { 12350 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryFdPropertiesKHR" ); 12351 } 12352 return memoryFdProperties; 12353 } 12354 12355 //=== VK_KHR_external_semaphore_capabilities === 12356 12357 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties getExternalSemaphorePropertiesKHR(const PhysicalDeviceExternalSemaphoreInfo & externalSemaphoreInfo) const12358 PhysicalDevice::getExternalSemaphorePropertiesKHR( 12359 const PhysicalDeviceExternalSemaphoreInfo & externalSemaphoreInfo ) const VULKAN_HPP_NOEXCEPT 12360 { 12361 VULKAN_HPP_ASSERT( 12362 getDispatcher()->vkGetPhysicalDeviceExternalSemaphorePropertiesKHR && 12363 "Function <vkGetPhysicalDeviceExternalSemaphorePropertiesKHR> needs extension <VK_KHR_external_semaphore_capabilities> enabled!" ); 12364 12365 VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties externalSemaphoreProperties; 12366 getDispatcher()->vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( 12367 static_cast<VkPhysicalDevice>( m_physicalDevice ), 12368 reinterpret_cast<const VkPhysicalDeviceExternalSemaphoreInfo *>( &externalSemaphoreInfo ), 12369 reinterpret_cast<VkExternalSemaphoreProperties *>( &externalSemaphoreProperties ) ); 12370 return externalSemaphoreProperties; 12371 } 12372 12373 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 12374 //=== VK_KHR_external_semaphore_win32 === 12375 importSemaphoreWin32HandleKHR(const ImportSemaphoreWin32HandleInfoKHR & importSemaphoreWin32HandleInfo) const12376 VULKAN_HPP_INLINE void Device::importSemaphoreWin32HandleKHR( 12377 const ImportSemaphoreWin32HandleInfoKHR & importSemaphoreWin32HandleInfo ) const 12378 { 12379 VULKAN_HPP_ASSERT( 12380 getDispatcher()->vkImportSemaphoreWin32HandleKHR && 12381 "Function <vkImportSemaphoreWin32HandleKHR> needs extension <VK_KHR_external_semaphore_win32> enabled!" ); 12382 12383 VULKAN_HPP_NAMESPACE::Result result = 12384 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkImportSemaphoreWin32HandleKHR( 12385 static_cast<VkDevice>( m_device ), 12386 reinterpret_cast<const VkImportSemaphoreWin32HandleInfoKHR *>( &importSemaphoreWin32HandleInfo ) ) ); 12387 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 12388 { 12389 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::importSemaphoreWin32HandleKHR" ); 12390 } 12391 } 12392 12393 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE HANDLE getSemaphoreWin32HandleKHR(const SemaphoreGetWin32HandleInfoKHR & getWin32HandleInfo) const12394 Device::getSemaphoreWin32HandleKHR( const SemaphoreGetWin32HandleInfoKHR & getWin32HandleInfo ) const 12395 { 12396 VULKAN_HPP_ASSERT( 12397 getDispatcher()->vkGetSemaphoreWin32HandleKHR && 12398 "Function <vkGetSemaphoreWin32HandleKHR> needs extension <VK_KHR_external_semaphore_win32> enabled!" ); 12399 12400 HANDLE handle; 12401 VULKAN_HPP_NAMESPACE::Result result = 12402 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetSemaphoreWin32HandleKHR( 12403 static_cast<VkDevice>( m_device ), 12404 reinterpret_cast<const VkSemaphoreGetWin32HandleInfoKHR *>( &getWin32HandleInfo ), 12405 &handle ) ); 12406 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 12407 { 12408 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreWin32HandleKHR" ); 12409 } 12410 return handle; 12411 } 12412 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 12413 12414 //=== VK_KHR_external_semaphore_fd === 12415 importSemaphoreFdKHR(const ImportSemaphoreFdInfoKHR & importSemaphoreFdInfo) const12416 VULKAN_HPP_INLINE void Device::importSemaphoreFdKHR( const ImportSemaphoreFdInfoKHR & importSemaphoreFdInfo ) const 12417 { 12418 VULKAN_HPP_ASSERT( getDispatcher()->vkImportSemaphoreFdKHR && 12419 "Function <vkImportSemaphoreFdKHR> needs extension <VK_KHR_external_semaphore_fd> enabled!" ); 12420 12421 VULKAN_HPP_NAMESPACE::Result result = 12422 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkImportSemaphoreFdKHR( 12423 static_cast<VkDevice>( m_device ), 12424 reinterpret_cast<const VkImportSemaphoreFdInfoKHR *>( &importSemaphoreFdInfo ) ) ); 12425 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 12426 { 12427 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::importSemaphoreFdKHR" ); 12428 } 12429 } 12430 12431 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE int getSemaphoreFdKHR(const SemaphoreGetFdInfoKHR & getFdInfo) const12432 Device::getSemaphoreFdKHR( const SemaphoreGetFdInfoKHR & getFdInfo ) const 12433 { 12434 VULKAN_HPP_ASSERT( getDispatcher()->vkGetSemaphoreFdKHR && 12435 "Function <vkGetSemaphoreFdKHR> needs extension <VK_KHR_external_semaphore_fd> enabled!" ); 12436 12437 int fd; 12438 VULKAN_HPP_NAMESPACE::Result result = 12439 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetSemaphoreFdKHR( 12440 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSemaphoreGetFdInfoKHR *>( &getFdInfo ), &fd ) ); 12441 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 12442 { 12443 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreFdKHR" ); 12444 } 12445 return fd; 12446 } 12447 12448 //=== VK_KHR_push_descriptor === 12449 pushDescriptorSetKHR(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,VULKAN_HPP_NAMESPACE::PipelineLayout layout,uint32_t set,ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const & descriptorWrites) const12450 VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetKHR( 12451 VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint, 12452 VULKAN_HPP_NAMESPACE::PipelineLayout layout, 12453 uint32_t set, 12454 ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const & descriptorWrites ) const VULKAN_HPP_NOEXCEPT 12455 { 12456 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdPushDescriptorSetKHR && 12457 "Function <vkCmdPushDescriptorSetKHR> needs extension <VK_KHR_push_descriptor> enabled!" ); 12458 12459 getDispatcher()->vkCmdPushDescriptorSetKHR( 12460 static_cast<VkCommandBuffer>( m_commandBuffer ), 12461 static_cast<VkPipelineBindPoint>( pipelineBindPoint ), 12462 static_cast<VkPipelineLayout>( layout ), 12463 set, 12464 descriptorWrites.size(), 12465 reinterpret_cast<const VkWriteDescriptorSet *>( descriptorWrites.data() ) ); 12466 } 12467 pushDescriptorSetWithTemplateKHR(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,VULKAN_HPP_NAMESPACE::PipelineLayout layout,uint32_t set,const void * pData) const12468 VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetWithTemplateKHR( 12469 VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, 12470 VULKAN_HPP_NAMESPACE::PipelineLayout layout, 12471 uint32_t set, 12472 const void * pData ) const VULKAN_HPP_NOEXCEPT 12473 { 12474 VULKAN_HPP_ASSERT( 12475 getDispatcher()->vkCmdPushDescriptorSetWithTemplateKHR && 12476 "Function <vkCmdPushDescriptorSetWithTemplateKHR> needs extension <VK_KHR_push_descriptor> enabled!" ); 12477 12478 getDispatcher()->vkCmdPushDescriptorSetWithTemplateKHR( 12479 static_cast<VkCommandBuffer>( m_commandBuffer ), 12480 static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), 12481 static_cast<VkPipelineLayout>( layout ), 12482 set, 12483 pData ); 12484 } 12485 12486 //=== VK_EXT_conditional_rendering === 12487 beginConditionalRenderingEXT(const ConditionalRenderingBeginInfoEXT & conditionalRenderingBegin) const12488 VULKAN_HPP_INLINE void CommandBuffer::beginConditionalRenderingEXT( 12489 const ConditionalRenderingBeginInfoEXT & conditionalRenderingBegin ) const VULKAN_HPP_NOEXCEPT 12490 { 12491 VULKAN_HPP_ASSERT( 12492 getDispatcher()->vkCmdBeginConditionalRenderingEXT && 12493 "Function <vkCmdBeginConditionalRenderingEXT> needs extension <VK_EXT_conditional_rendering> enabled!" ); 12494 12495 getDispatcher()->vkCmdBeginConditionalRenderingEXT( 12496 static_cast<VkCommandBuffer>( m_commandBuffer ), 12497 reinterpret_cast<const VkConditionalRenderingBeginInfoEXT *>( &conditionalRenderingBegin ) ); 12498 } 12499 endConditionalRenderingEXT() const12500 VULKAN_HPP_INLINE void CommandBuffer::endConditionalRenderingEXT() const VULKAN_HPP_NOEXCEPT 12501 { 12502 VULKAN_HPP_ASSERT( 12503 getDispatcher()->vkCmdEndConditionalRenderingEXT && 12504 "Function <vkCmdEndConditionalRenderingEXT> needs extension <VK_EXT_conditional_rendering> enabled!" ); 12505 12506 getDispatcher()->vkCmdEndConditionalRenderingEXT( static_cast<VkCommandBuffer>( m_commandBuffer ) ); 12507 } 12508 12509 //=== VK_KHR_descriptor_update_template === 12510 destroyDescriptorUpdateTemplateKHR(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,Optional<const AllocationCallbacks> allocator) const12511 VULKAN_HPP_INLINE void Device::destroyDescriptorUpdateTemplateKHR( 12512 VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, 12513 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT 12514 { 12515 VULKAN_HPP_ASSERT( 12516 getDispatcher()->vkDestroyDescriptorUpdateTemplateKHR && 12517 "Function <vkDestroyDescriptorUpdateTemplateKHR> needs extension <VK_KHR_descriptor_update_template> enabled!" ); 12518 12519 getDispatcher()->vkDestroyDescriptorUpdateTemplateKHR( 12520 static_cast<VkDevice>( m_device ), 12521 static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), 12522 reinterpret_cast<const VkAllocationCallbacks *>( 12523 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 12524 } 12525 12526 VULKAN_HPP_INLINE void updateWithTemplateKHR(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,const void * pData) const12527 DescriptorSet::updateWithTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, 12528 const void * pData ) const VULKAN_HPP_NOEXCEPT 12529 { 12530 VULKAN_HPP_ASSERT( 12531 getDispatcher()->vkUpdateDescriptorSetWithTemplateKHR && 12532 "Function <vkUpdateDescriptorSetWithTemplateKHR> needs extension <VK_KHR_descriptor_update_template> enabled!" ); 12533 12534 getDispatcher()->vkUpdateDescriptorSetWithTemplateKHR( 12535 static_cast<VkDevice>( m_device ), 12536 static_cast<VkDescriptorSet>( m_descriptorSet ), 12537 static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), 12538 pData ); 12539 } 12540 12541 //=== VK_NV_clip_space_w_scaling === 12542 setViewportWScalingNV(uint32_t firstViewport,ArrayProxy<const VULKAN_HPP_NAMESPACE::ViewportWScalingNV> const & viewportWScalings) const12543 VULKAN_HPP_INLINE void CommandBuffer::setViewportWScalingNV( 12544 uint32_t firstViewport, 12545 ArrayProxy<const VULKAN_HPP_NAMESPACE::ViewportWScalingNV> const & viewportWScalings ) const VULKAN_HPP_NOEXCEPT 12546 { 12547 VULKAN_HPP_ASSERT( 12548 getDispatcher()->vkCmdSetViewportWScalingNV && 12549 "Function <vkCmdSetViewportWScalingNV> needs extension <VK_NV_clip_space_w_scaling> enabled!" ); 12550 12551 getDispatcher()->vkCmdSetViewportWScalingNV( 12552 static_cast<VkCommandBuffer>( m_commandBuffer ), 12553 firstViewport, 12554 viewportWScalings.size(), 12555 reinterpret_cast<const VkViewportWScalingNV *>( viewportWScalings.data() ) ); 12556 } 12557 12558 # if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT ) 12559 //=== VK_EXT_acquire_xlib_display === 12560 acquireXlibDisplayEXT(Display & dpy,VULKAN_HPP_NAMESPACE::DisplayKHR display) const12561 VULKAN_HPP_INLINE void PhysicalDevice::acquireXlibDisplayEXT( Display & dpy, 12562 VULKAN_HPP_NAMESPACE::DisplayKHR display ) const 12563 { 12564 VULKAN_HPP_ASSERT( getDispatcher()->vkAcquireXlibDisplayEXT && 12565 "Function <vkAcquireXlibDisplayEXT> needs extension <VK_EXT_acquire_xlib_display> enabled!" ); 12566 12567 VULKAN_HPP_NAMESPACE::Result result = 12568 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkAcquireXlibDisplayEXT( 12569 static_cast<VkPhysicalDevice>( m_physicalDevice ), &dpy, static_cast<VkDisplayKHR>( display ) ) ); 12570 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 12571 { 12572 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::acquireXlibDisplayEXT" ); 12573 } 12574 } 12575 # endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/ 12576 12577 //=== VK_EXT_display_surface_counter === 12578 12579 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT getSurfaceCapabilities2EXT(VULKAN_HPP_NAMESPACE::SurfaceKHR surface) const12580 PhysicalDevice::getSurfaceCapabilities2EXT( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const 12581 { 12582 VULKAN_HPP_ASSERT( 12583 getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilities2EXT && 12584 "Function <vkGetPhysicalDeviceSurfaceCapabilities2EXT> needs extension <VK_EXT_display_surface_counter> enabled!" ); 12585 12586 VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT surfaceCapabilities; 12587 VULKAN_HPP_NAMESPACE::Result result = 12588 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilities2EXT( 12589 static_cast<VkPhysicalDevice>( m_physicalDevice ), 12590 static_cast<VkSurfaceKHR>( surface ), 12591 reinterpret_cast<VkSurfaceCapabilities2EXT *>( &surfaceCapabilities ) ) ); 12592 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 12593 { 12594 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2EXT" ); 12595 } 12596 return surfaceCapabilities; 12597 } 12598 12599 //=== VK_EXT_display_control === 12600 displayPowerControlEXT(VULKAN_HPP_NAMESPACE::DisplayKHR display,const DisplayPowerInfoEXT & displayPowerInfo) const12601 VULKAN_HPP_INLINE void Device::displayPowerControlEXT( VULKAN_HPP_NAMESPACE::DisplayKHR display, 12602 const DisplayPowerInfoEXT & displayPowerInfo ) const 12603 { 12604 VULKAN_HPP_ASSERT( getDispatcher()->vkDisplayPowerControlEXT && 12605 "Function <vkDisplayPowerControlEXT> needs extension <VK_EXT_display_control> enabled!" ); 12606 12607 VULKAN_HPP_NAMESPACE::Result result = 12608 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkDisplayPowerControlEXT( 12609 static_cast<VkDevice>( m_device ), 12610 static_cast<VkDisplayKHR>( display ), 12611 reinterpret_cast<const VkDisplayPowerInfoEXT *>( &displayPowerInfo ) ) ); 12612 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 12613 { 12614 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::displayPowerControlEXT" ); 12615 } 12616 } 12617 12618 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t getCounterEXT(VULKAN_HPP_NAMESPACE::SurfaceCounterFlagBitsEXT counter) const12619 SwapchainKHR::getCounterEXT( VULKAN_HPP_NAMESPACE::SurfaceCounterFlagBitsEXT counter ) const 12620 { 12621 VULKAN_HPP_ASSERT( getDispatcher()->vkGetSwapchainCounterEXT && 12622 "Function <vkGetSwapchainCounterEXT> needs extension <VK_EXT_display_control> enabled!" ); 12623 12624 uint64_t counterValue; 12625 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 12626 getDispatcher()->vkGetSwapchainCounterEXT( static_cast<VkDevice>( m_device ), 12627 static_cast<VkSwapchainKHR>( m_swapchainKHR ), 12628 static_cast<VkSurfaceCounterFlagBitsEXT>( counter ), 12629 &counterValue ) ); 12630 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 12631 { 12632 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::SwapchainKHR::getCounterEXT" ); 12633 } 12634 return counterValue; 12635 } 12636 12637 //=== VK_GOOGLE_display_timing === 12638 12639 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE getRefreshCycleDurationGOOGLE() const12640 SwapchainKHR::getRefreshCycleDurationGOOGLE() const 12641 { 12642 VULKAN_HPP_ASSERT( 12643 getDispatcher()->vkGetRefreshCycleDurationGOOGLE && 12644 "Function <vkGetRefreshCycleDurationGOOGLE> needs extension <VK_GOOGLE_display_timing> enabled!" ); 12645 12646 VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE displayTimingProperties; 12647 VULKAN_HPP_NAMESPACE::Result result = 12648 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetRefreshCycleDurationGOOGLE( 12649 static_cast<VkDevice>( m_device ), 12650 static_cast<VkSwapchainKHR>( m_swapchainKHR ), 12651 reinterpret_cast<VkRefreshCycleDurationGOOGLE *>( &displayTimingProperties ) ) ); 12652 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 12653 { 12654 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::SwapchainKHR::getRefreshCycleDurationGOOGLE" ); 12655 } 12656 return displayTimingProperties; 12657 } 12658 12659 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE> getPastPresentationTimingGOOGLE() const12660 SwapchainKHR::getPastPresentationTimingGOOGLE() const 12661 { 12662 VULKAN_HPP_ASSERT( 12663 getDispatcher()->vkGetPastPresentationTimingGOOGLE && 12664 "Function <vkGetPastPresentationTimingGOOGLE> needs extension <VK_GOOGLE_display_timing> enabled!" ); 12665 12666 std::vector<VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE> presentationTimings; 12667 uint32_t presentationTimingCount; 12668 VULKAN_HPP_NAMESPACE::Result result; 12669 do 12670 { 12671 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 12672 getDispatcher()->vkGetPastPresentationTimingGOOGLE( static_cast<VkDevice>( m_device ), 12673 static_cast<VkSwapchainKHR>( m_swapchainKHR ), 12674 &presentationTimingCount, 12675 nullptr ) ); 12676 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && presentationTimingCount ) 12677 { 12678 presentationTimings.resize( presentationTimingCount ); 12679 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPastPresentationTimingGOOGLE( 12680 static_cast<VkDevice>( m_device ), 12681 static_cast<VkSwapchainKHR>( m_swapchainKHR ), 12682 &presentationTimingCount, 12683 reinterpret_cast<VkPastPresentationTimingGOOGLE *>( presentationTimings.data() ) ) ); 12684 VULKAN_HPP_ASSERT( presentationTimingCount <= presentationTimings.size() ); 12685 } 12686 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 12687 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && 12688 ( presentationTimingCount < presentationTimings.size() ) ) 12689 { 12690 presentationTimings.resize( presentationTimingCount ); 12691 } 12692 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 12693 { 12694 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::SwapchainKHR::getPastPresentationTimingGOOGLE" ); 12695 } 12696 return presentationTimings; 12697 } 12698 12699 //=== VK_EXT_discard_rectangles === 12700 setDiscardRectangleEXT(uint32_t firstDiscardRectangle,ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & discardRectangles) const12701 VULKAN_HPP_INLINE void CommandBuffer::setDiscardRectangleEXT( 12702 uint32_t firstDiscardRectangle, 12703 ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & discardRectangles ) const VULKAN_HPP_NOEXCEPT 12704 { 12705 VULKAN_HPP_ASSERT( 12706 getDispatcher()->vkCmdSetDiscardRectangleEXT && 12707 "Function <vkCmdSetDiscardRectangleEXT> needs extension <VK_EXT_discard_rectangles> enabled!" ); 12708 12709 getDispatcher()->vkCmdSetDiscardRectangleEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 12710 firstDiscardRectangle, 12711 discardRectangles.size(), 12712 reinterpret_cast<const VkRect2D *>( discardRectangles.data() ) ); 12713 } 12714 12715 //=== VK_EXT_hdr_metadata === 12716 12717 VULKAN_HPP_INLINE void setHdrMetadataEXT(ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainKHR> const & swapchains,ArrayProxy<const VULKAN_HPP_NAMESPACE::HdrMetadataEXT> const & metadata) const12718 Device::setHdrMetadataEXT( ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainKHR> const & swapchains, 12719 ArrayProxy<const VULKAN_HPP_NAMESPACE::HdrMetadataEXT> const & metadata ) const 12720 VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS 12721 { 12722 VULKAN_HPP_ASSERT( getDispatcher()->vkSetHdrMetadataEXT && 12723 "Function <vkSetHdrMetadataEXT> needs extension <VK_EXT_hdr_metadata> enabled!" ); 12724 12725 # ifdef VULKAN_HPP_NO_EXCEPTIONS 12726 VULKAN_HPP_ASSERT( swapchains.size() == metadata.size() ); 12727 # else 12728 if ( swapchains.size() != metadata.size() ) 12729 { 12730 throw LogicError( VULKAN_HPP_NAMESPACE_STRING 12731 "::Device::setHdrMetadataEXT: swapchains.size() != metadata.size()" ); 12732 } 12733 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ 12734 12735 getDispatcher()->vkSetHdrMetadataEXT( static_cast<VkDevice>( m_device ), 12736 swapchains.size(), 12737 reinterpret_cast<const VkSwapchainKHR *>( swapchains.data() ), 12738 reinterpret_cast<const VkHdrMetadataEXT *>( metadata.data() ) ); 12739 } 12740 12741 //=== VK_KHR_create_renderpass2 === 12742 12743 VULKAN_HPP_INLINE void beginRenderPass2KHR(const RenderPassBeginInfo & renderPassBegin,const SubpassBeginInfo & subpassBeginInfo) const12744 CommandBuffer::beginRenderPass2KHR( const RenderPassBeginInfo & renderPassBegin, 12745 const SubpassBeginInfo & subpassBeginInfo ) const VULKAN_HPP_NOEXCEPT 12746 { 12747 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBeginRenderPass2KHR && 12748 "Function <vkCmdBeginRenderPass2KHR> needs extension <VK_KHR_create_renderpass2> enabled!" ); 12749 12750 getDispatcher()->vkCmdBeginRenderPass2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 12751 reinterpret_cast<const VkRenderPassBeginInfo *>( &renderPassBegin ), 12752 reinterpret_cast<const VkSubpassBeginInfo *>( &subpassBeginInfo ) ); 12753 } 12754 12755 VULKAN_HPP_INLINE void nextSubpass2KHR(const SubpassBeginInfo & subpassBeginInfo,const SubpassEndInfo & subpassEndInfo) const12756 CommandBuffer::nextSubpass2KHR( const SubpassBeginInfo & subpassBeginInfo, 12757 const SubpassEndInfo & subpassEndInfo ) const VULKAN_HPP_NOEXCEPT 12758 { 12759 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdNextSubpass2KHR && 12760 "Function <vkCmdNextSubpass2KHR> needs extension <VK_KHR_create_renderpass2> enabled!" ); 12761 12762 getDispatcher()->vkCmdNextSubpass2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 12763 reinterpret_cast<const VkSubpassBeginInfo *>( &subpassBeginInfo ), 12764 reinterpret_cast<const VkSubpassEndInfo *>( &subpassEndInfo ) ); 12765 } 12766 12767 VULKAN_HPP_INLINE void endRenderPass2KHR(const SubpassEndInfo & subpassEndInfo) const12768 CommandBuffer::endRenderPass2KHR( const SubpassEndInfo & subpassEndInfo ) const VULKAN_HPP_NOEXCEPT 12769 { 12770 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdEndRenderPass2KHR && 12771 "Function <vkCmdEndRenderPass2KHR> needs extension <VK_KHR_create_renderpass2> enabled!" ); 12772 12773 getDispatcher()->vkCmdEndRenderPass2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 12774 reinterpret_cast<const VkSubpassEndInfo *>( &subpassEndInfo ) ); 12775 } 12776 12777 //=== VK_KHR_shared_presentable_image === 12778 getStatus() const12779 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result SwapchainKHR::getStatus() const 12780 { 12781 VULKAN_HPP_ASSERT( 12782 getDispatcher()->vkGetSwapchainStatusKHR && 12783 "Function <vkGetSwapchainStatusKHR> needs extension <VK_KHR_shared_presentable_image> enabled!" ); 12784 12785 VULKAN_HPP_NAMESPACE::Result result = 12786 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetSwapchainStatusKHR( 12787 static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ) ) ); 12788 if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && 12789 ( result != VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR ) ) 12790 { 12791 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::SwapchainKHR::getStatus" ); 12792 } 12793 return result; 12794 } 12795 12796 //=== VK_KHR_external_fence_capabilities === 12797 12798 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalFenceProperties getExternalFencePropertiesKHR(const PhysicalDeviceExternalFenceInfo & externalFenceInfo) const12799 PhysicalDevice::getExternalFencePropertiesKHR( const PhysicalDeviceExternalFenceInfo & externalFenceInfo ) const 12800 VULKAN_HPP_NOEXCEPT 12801 { 12802 VULKAN_HPP_ASSERT( 12803 getDispatcher()->vkGetPhysicalDeviceExternalFencePropertiesKHR && 12804 "Function <vkGetPhysicalDeviceExternalFencePropertiesKHR> needs extension <VK_KHR_external_fence_capabilities> enabled!" ); 12805 12806 VULKAN_HPP_NAMESPACE::ExternalFenceProperties externalFenceProperties; 12807 getDispatcher()->vkGetPhysicalDeviceExternalFencePropertiesKHR( 12808 static_cast<VkPhysicalDevice>( m_physicalDevice ), 12809 reinterpret_cast<const VkPhysicalDeviceExternalFenceInfo *>( &externalFenceInfo ), 12810 reinterpret_cast<VkExternalFenceProperties *>( &externalFenceProperties ) ); 12811 return externalFenceProperties; 12812 } 12813 12814 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 12815 //=== VK_KHR_external_fence_win32 === 12816 12817 VULKAN_HPP_INLINE void importFenceWin32HandleKHR(const ImportFenceWin32HandleInfoKHR & importFenceWin32HandleInfo) const12818 Device::importFenceWin32HandleKHR( const ImportFenceWin32HandleInfoKHR & importFenceWin32HandleInfo ) const 12819 { 12820 VULKAN_HPP_ASSERT( 12821 getDispatcher()->vkImportFenceWin32HandleKHR && 12822 "Function <vkImportFenceWin32HandleKHR> needs extension <VK_KHR_external_fence_win32> enabled!" ); 12823 12824 VULKAN_HPP_NAMESPACE::Result result = 12825 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkImportFenceWin32HandleKHR( 12826 static_cast<VkDevice>( m_device ), 12827 reinterpret_cast<const VkImportFenceWin32HandleInfoKHR *>( &importFenceWin32HandleInfo ) ) ); 12828 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 12829 { 12830 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::importFenceWin32HandleKHR" ); 12831 } 12832 } 12833 12834 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE HANDLE getFenceWin32HandleKHR(const FenceGetWin32HandleInfoKHR & getWin32HandleInfo) const12835 Device::getFenceWin32HandleKHR( const FenceGetWin32HandleInfoKHR & getWin32HandleInfo ) const 12836 { 12837 VULKAN_HPP_ASSERT( getDispatcher()->vkGetFenceWin32HandleKHR && 12838 "Function <vkGetFenceWin32HandleKHR> needs extension <VK_KHR_external_fence_win32> enabled!" ); 12839 12840 HANDLE handle; 12841 VULKAN_HPP_NAMESPACE::Result result = 12842 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetFenceWin32HandleKHR( 12843 static_cast<VkDevice>( m_device ), 12844 reinterpret_cast<const VkFenceGetWin32HandleInfoKHR *>( &getWin32HandleInfo ), 12845 &handle ) ); 12846 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 12847 { 12848 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getFenceWin32HandleKHR" ); 12849 } 12850 return handle; 12851 } 12852 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 12853 12854 //=== VK_KHR_external_fence_fd === 12855 importFenceFdKHR(const ImportFenceFdInfoKHR & importFenceFdInfo) const12856 VULKAN_HPP_INLINE void Device::importFenceFdKHR( const ImportFenceFdInfoKHR & importFenceFdInfo ) const 12857 { 12858 VULKAN_HPP_ASSERT( getDispatcher()->vkImportFenceFdKHR && 12859 "Function <vkImportFenceFdKHR> needs extension <VK_KHR_external_fence_fd> enabled!" ); 12860 12861 VULKAN_HPP_NAMESPACE::Result result = 12862 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkImportFenceFdKHR( 12863 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkImportFenceFdInfoKHR *>( &importFenceFdInfo ) ) ); 12864 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 12865 { 12866 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::importFenceFdKHR" ); 12867 } 12868 } 12869 getFenceFdKHR(const FenceGetFdInfoKHR & getFdInfo) const12870 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE int Device::getFenceFdKHR( const FenceGetFdInfoKHR & getFdInfo ) const 12871 { 12872 VULKAN_HPP_ASSERT( getDispatcher()->vkGetFenceFdKHR && 12873 "Function <vkGetFenceFdKHR> needs extension <VK_KHR_external_fence_fd> enabled!" ); 12874 12875 int fd; 12876 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetFenceFdKHR( 12877 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkFenceGetFdInfoKHR *>( &getFdInfo ), &fd ) ); 12878 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 12879 { 12880 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getFenceFdKHR" ); 12881 } 12882 return fd; 12883 } 12884 12885 //=== VK_KHR_performance_query === 12886 12887 VULKAN_HPP_NODISCARD 12888 VULKAN_HPP_INLINE std::pair<std::vector<PerformanceCounterKHR>, std::vector<PerformanceCounterDescriptionKHR>> enumerateQueueFamilyPerformanceQueryCountersKHR(uint32_t queueFamilyIndex) const12889 PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR( uint32_t queueFamilyIndex ) const 12890 { 12891 VULKAN_HPP_ASSERT( 12892 getDispatcher()->vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR && 12893 "Function <vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR> needs extension <VK_KHR_performance_query> enabled!" ); 12894 12895 std::pair<std::vector<PerformanceCounterKHR>, std::vector<PerformanceCounterDescriptionKHR>> data; 12896 std::vector<PerformanceCounterKHR> & counters = data.first; 12897 std::vector<PerformanceCounterDescriptionKHR> & counterDescriptions = data.second; 12898 uint32_t counterCount; 12899 VULKAN_HPP_NAMESPACE::Result result; 12900 do 12901 { 12902 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 12903 getDispatcher()->vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( 12904 static_cast<VkPhysicalDevice>( m_physicalDevice ), queueFamilyIndex, &counterCount, nullptr, nullptr ) ); 12905 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && counterCount ) 12906 { 12907 counters.resize( counterCount ); 12908 counterDescriptions.resize( counterCount ); 12909 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 12910 getDispatcher()->vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( 12911 static_cast<VkPhysicalDevice>( m_physicalDevice ), 12912 queueFamilyIndex, 12913 &counterCount, 12914 reinterpret_cast<VkPerformanceCounterKHR *>( counters.data() ), 12915 reinterpret_cast<VkPerformanceCounterDescriptionKHR *>( counterDescriptions.data() ) ) ); 12916 VULKAN_HPP_ASSERT( counterCount <= counters.size() ); 12917 } 12918 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 12919 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( counterCount < counters.size() ) ) 12920 { 12921 counters.resize( counterCount ); 12922 counterDescriptions.resize( counterCount ); 12923 } 12924 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 12925 { 12926 throwResultException( 12927 result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR" ); 12928 } 12929 return data; 12930 } 12931 getQueueFamilyPerformanceQueryPassesKHR(const QueryPoolPerformanceCreateInfoKHR & performanceQueryCreateInfo) const12932 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint32_t PhysicalDevice::getQueueFamilyPerformanceQueryPassesKHR( 12933 const QueryPoolPerformanceCreateInfoKHR & performanceQueryCreateInfo ) const VULKAN_HPP_NOEXCEPT 12934 { 12935 VULKAN_HPP_ASSERT( 12936 getDispatcher()->vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR && 12937 "Function <vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR> needs extension <VK_KHR_performance_query> enabled!" ); 12938 12939 uint32_t numPasses; 12940 getDispatcher()->vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( 12941 static_cast<VkPhysicalDevice>( m_physicalDevice ), 12942 reinterpret_cast<const VkQueryPoolPerformanceCreateInfoKHR *>( &performanceQueryCreateInfo ), 12943 &numPasses ); 12944 return numPasses; 12945 } 12946 acquireProfilingLockKHR(const AcquireProfilingLockInfoKHR & info) const12947 VULKAN_HPP_INLINE void Device::acquireProfilingLockKHR( const AcquireProfilingLockInfoKHR & info ) const 12948 { 12949 VULKAN_HPP_ASSERT( getDispatcher()->vkAcquireProfilingLockKHR && 12950 "Function <vkAcquireProfilingLockKHR> needs extension <VK_KHR_performance_query> enabled!" ); 12951 12952 VULKAN_HPP_NAMESPACE::Result result = 12953 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkAcquireProfilingLockKHR( 12954 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkAcquireProfilingLockInfoKHR *>( &info ) ) ); 12955 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 12956 { 12957 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::acquireProfilingLockKHR" ); 12958 } 12959 } 12960 releaseProfilingLockKHR() const12961 VULKAN_HPP_INLINE void Device::releaseProfilingLockKHR() const VULKAN_HPP_NOEXCEPT 12962 { 12963 VULKAN_HPP_ASSERT( getDispatcher()->vkReleaseProfilingLockKHR && 12964 "Function <vkReleaseProfilingLockKHR> needs extension <VK_KHR_performance_query> enabled!" ); 12965 12966 getDispatcher()->vkReleaseProfilingLockKHR( static_cast<VkDevice>( m_device ) ); 12967 } 12968 12969 //=== VK_KHR_get_surface_capabilities2 === 12970 12971 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR getSurfaceCapabilities2KHR(const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo) const12972 PhysicalDevice::getSurfaceCapabilities2KHR( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const 12973 { 12974 VULKAN_HPP_ASSERT( 12975 getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilities2KHR && 12976 "Function <vkGetPhysicalDeviceSurfaceCapabilities2KHR> needs extension <VK_KHR_get_surface_capabilities2> enabled!" ); 12977 12978 VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR surfaceCapabilities; 12979 VULKAN_HPP_NAMESPACE::Result result = 12980 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilities2KHR( 12981 static_cast<VkPhysicalDevice>( m_physicalDevice ), 12982 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), 12983 reinterpret_cast<VkSurfaceCapabilities2KHR *>( &surfaceCapabilities ) ) ); 12984 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 12985 { 12986 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2KHR" ); 12987 } 12988 return surfaceCapabilities; 12989 } 12990 12991 template <typename X, typename Y, typename... Z> 12992 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getSurfaceCapabilities2KHR(const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo) const12993 PhysicalDevice::getSurfaceCapabilities2KHR( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const 12994 { 12995 StructureChain<X, Y, Z...> structureChain; 12996 VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR & surfaceCapabilities = 12997 structureChain.template get<VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR>(); 12998 VULKAN_HPP_NAMESPACE::Result result = 12999 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilities2KHR( 13000 static_cast<VkPhysicalDevice>( m_physicalDevice ), 13001 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), 13002 reinterpret_cast<VkSurfaceCapabilities2KHR *>( &surfaceCapabilities ) ) ); 13003 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 13004 { 13005 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2KHR" ); 13006 } 13007 return structureChain; 13008 } 13009 13010 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR> getSurfaceFormats2KHR(const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo) const13011 PhysicalDevice::getSurfaceFormats2KHR( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const 13012 { 13013 VULKAN_HPP_ASSERT( 13014 getDispatcher()->vkGetPhysicalDeviceSurfaceFormats2KHR && 13015 "Function <vkGetPhysicalDeviceSurfaceFormats2KHR> needs extension <VK_KHR_get_surface_capabilities2> enabled!" ); 13016 13017 std::vector<VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR> surfaceFormats; 13018 uint32_t surfaceFormatCount; 13019 VULKAN_HPP_NAMESPACE::Result result; 13020 do 13021 { 13022 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceSurfaceFormats2KHR( 13023 static_cast<VkPhysicalDevice>( m_physicalDevice ), 13024 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), 13025 &surfaceFormatCount, 13026 nullptr ) ); 13027 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && surfaceFormatCount ) 13028 { 13029 surfaceFormats.resize( surfaceFormatCount ); 13030 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceSurfaceFormats2KHR( 13031 static_cast<VkPhysicalDevice>( m_physicalDevice ), 13032 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), 13033 &surfaceFormatCount, 13034 reinterpret_cast<VkSurfaceFormat2KHR *>( surfaceFormats.data() ) ) ); 13035 VULKAN_HPP_ASSERT( surfaceFormatCount <= surfaceFormats.size() ); 13036 } 13037 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 13038 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( surfaceFormatCount < surfaceFormats.size() ) ) 13039 { 13040 surfaceFormats.resize( surfaceFormatCount ); 13041 } 13042 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 13043 { 13044 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormats2KHR" ); 13045 } 13046 return surfaceFormats; 13047 } 13048 13049 //=== VK_KHR_get_display_properties2 === 13050 13051 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::DisplayProperties2KHR> getDisplayProperties2KHR() const13052 PhysicalDevice::getDisplayProperties2KHR() const 13053 { 13054 VULKAN_HPP_ASSERT( 13055 getDispatcher()->vkGetPhysicalDeviceDisplayProperties2KHR && 13056 "Function <vkGetPhysicalDeviceDisplayProperties2KHR> needs extension <VK_KHR_get_display_properties2> enabled!" ); 13057 13058 std::vector<VULKAN_HPP_NAMESPACE::DisplayProperties2KHR> properties; 13059 uint32_t propertyCount; 13060 VULKAN_HPP_NAMESPACE::Result result; 13061 do 13062 { 13063 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceDisplayProperties2KHR( 13064 static_cast<VkPhysicalDevice>( m_physicalDevice ), &propertyCount, nullptr ) ); 13065 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 13066 { 13067 properties.resize( propertyCount ); 13068 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceDisplayProperties2KHR( 13069 static_cast<VkPhysicalDevice>( m_physicalDevice ), 13070 &propertyCount, 13071 reinterpret_cast<VkDisplayProperties2KHR *>( properties.data() ) ) ); 13072 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 13073 } 13074 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 13075 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( propertyCount < properties.size() ) ) 13076 { 13077 properties.resize( propertyCount ); 13078 } 13079 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 13080 { 13081 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayProperties2KHR" ); 13082 } 13083 return properties; 13084 } 13085 13086 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR> getDisplayPlaneProperties2KHR() const13087 PhysicalDevice::getDisplayPlaneProperties2KHR() const 13088 { 13089 VULKAN_HPP_ASSERT( 13090 getDispatcher()->vkGetPhysicalDeviceDisplayPlaneProperties2KHR && 13091 "Function <vkGetPhysicalDeviceDisplayPlaneProperties2KHR> needs extension <VK_KHR_get_display_properties2> enabled!" ); 13092 13093 std::vector<VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR> properties; 13094 uint32_t propertyCount; 13095 VULKAN_HPP_NAMESPACE::Result result; 13096 do 13097 { 13098 result = 13099 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceDisplayPlaneProperties2KHR( 13100 static_cast<VkPhysicalDevice>( m_physicalDevice ), &propertyCount, nullptr ) ); 13101 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 13102 { 13103 properties.resize( propertyCount ); 13104 result = 13105 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceDisplayPlaneProperties2KHR( 13106 static_cast<VkPhysicalDevice>( m_physicalDevice ), 13107 &propertyCount, 13108 reinterpret_cast<VkDisplayPlaneProperties2KHR *>( properties.data() ) ) ); 13109 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 13110 } 13111 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 13112 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( propertyCount < properties.size() ) ) 13113 { 13114 properties.resize( propertyCount ); 13115 } 13116 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 13117 { 13118 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneProperties2KHR" ); 13119 } 13120 return properties; 13121 } 13122 13123 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR> getModeProperties2() const13124 DisplayKHR::getModeProperties2() const 13125 { 13126 VULKAN_HPP_ASSERT( 13127 getDispatcher()->vkGetDisplayModeProperties2KHR && 13128 "Function <vkGetDisplayModeProperties2KHR> needs extension <VK_KHR_get_display_properties2> enabled!" ); 13129 13130 std::vector<VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR> properties; 13131 uint32_t propertyCount; 13132 VULKAN_HPP_NAMESPACE::Result result; 13133 do 13134 { 13135 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 13136 getDispatcher()->vkGetDisplayModeProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 13137 static_cast<VkDisplayKHR>( m_displayKHR ), 13138 &propertyCount, 13139 nullptr ) ); 13140 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 13141 { 13142 properties.resize( propertyCount ); 13143 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetDisplayModeProperties2KHR( 13144 static_cast<VkPhysicalDevice>( m_physicalDevice ), 13145 static_cast<VkDisplayKHR>( m_displayKHR ), 13146 &propertyCount, 13147 reinterpret_cast<VkDisplayModeProperties2KHR *>( properties.data() ) ) ); 13148 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 13149 } 13150 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 13151 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( propertyCount < properties.size() ) ) 13152 { 13153 properties.resize( propertyCount ); 13154 } 13155 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 13156 { 13157 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::DisplayKHR::getModeProperties2" ); 13158 } 13159 return properties; 13160 } 13161 13162 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR getDisplayPlaneCapabilities2KHR(const DisplayPlaneInfo2KHR & displayPlaneInfo) const13163 PhysicalDevice::getDisplayPlaneCapabilities2KHR( const DisplayPlaneInfo2KHR & displayPlaneInfo ) const 13164 { 13165 VULKAN_HPP_ASSERT( 13166 getDispatcher()->vkGetDisplayPlaneCapabilities2KHR && 13167 "Function <vkGetDisplayPlaneCapabilities2KHR> needs extension <VK_KHR_get_display_properties2> enabled!" ); 13168 13169 VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR capabilities; 13170 VULKAN_HPP_NAMESPACE::Result result = 13171 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetDisplayPlaneCapabilities2KHR( 13172 static_cast<VkPhysicalDevice>( m_physicalDevice ), 13173 reinterpret_cast<const VkDisplayPlaneInfo2KHR *>( &displayPlaneInfo ), 13174 reinterpret_cast<VkDisplayPlaneCapabilities2KHR *>( &capabilities ) ) ); 13175 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 13176 { 13177 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneCapabilities2KHR" ); 13178 } 13179 return capabilities; 13180 } 13181 13182 //=== VK_EXT_debug_utils === 13183 setDebugUtilsObjectNameEXT(const DebugUtilsObjectNameInfoEXT & nameInfo) const13184 VULKAN_HPP_INLINE void Device::setDebugUtilsObjectNameEXT( const DebugUtilsObjectNameInfoEXT & nameInfo ) const 13185 { 13186 VULKAN_HPP_ASSERT( getDispatcher()->vkSetDebugUtilsObjectNameEXT && 13187 "Function <vkSetDebugUtilsObjectNameEXT> needs extension <VK_EXT_debug_utils> enabled!" ); 13188 13189 VULKAN_HPP_NAMESPACE::Result result = 13190 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkSetDebugUtilsObjectNameEXT( 13191 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkDebugUtilsObjectNameInfoEXT *>( &nameInfo ) ) ); 13192 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 13193 { 13194 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::setDebugUtilsObjectNameEXT" ); 13195 } 13196 } 13197 setDebugUtilsObjectTagEXT(const DebugUtilsObjectTagInfoEXT & tagInfo) const13198 VULKAN_HPP_INLINE void Device::setDebugUtilsObjectTagEXT( const DebugUtilsObjectTagInfoEXT & tagInfo ) const 13199 { 13200 VULKAN_HPP_ASSERT( getDispatcher()->vkSetDebugUtilsObjectTagEXT && 13201 "Function <vkSetDebugUtilsObjectTagEXT> needs extension <VK_EXT_debug_utils> enabled!" ); 13202 13203 VULKAN_HPP_NAMESPACE::Result result = 13204 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkSetDebugUtilsObjectTagEXT( 13205 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkDebugUtilsObjectTagInfoEXT *>( &tagInfo ) ) ); 13206 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 13207 { 13208 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::setDebugUtilsObjectTagEXT" ); 13209 } 13210 } 13211 13212 VULKAN_HPP_INLINE void beginDebugUtilsLabelEXT(const DebugUtilsLabelEXT & labelInfo) const13213 Queue::beginDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo ) const VULKAN_HPP_NOEXCEPT 13214 { 13215 VULKAN_HPP_ASSERT( getDispatcher()->vkQueueBeginDebugUtilsLabelEXT && 13216 "Function <vkQueueBeginDebugUtilsLabelEXT> needs extension <VK_EXT_debug_utils> enabled!" ); 13217 13218 getDispatcher()->vkQueueBeginDebugUtilsLabelEXT( static_cast<VkQueue>( m_queue ), 13219 reinterpret_cast<const VkDebugUtilsLabelEXT *>( &labelInfo ) ); 13220 } 13221 endDebugUtilsLabelEXT() const13222 VULKAN_HPP_INLINE void Queue::endDebugUtilsLabelEXT() const VULKAN_HPP_NOEXCEPT 13223 { 13224 VULKAN_HPP_ASSERT( getDispatcher()->vkQueueEndDebugUtilsLabelEXT && 13225 "Function <vkQueueEndDebugUtilsLabelEXT> needs extension <VK_EXT_debug_utils> enabled!" ); 13226 13227 getDispatcher()->vkQueueEndDebugUtilsLabelEXT( static_cast<VkQueue>( m_queue ) ); 13228 } 13229 13230 VULKAN_HPP_INLINE void insertDebugUtilsLabelEXT(const DebugUtilsLabelEXT & labelInfo) const13231 Queue::insertDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo ) const VULKAN_HPP_NOEXCEPT 13232 { 13233 VULKAN_HPP_ASSERT( getDispatcher()->vkQueueInsertDebugUtilsLabelEXT && 13234 "Function <vkQueueInsertDebugUtilsLabelEXT> needs extension <VK_EXT_debug_utils> enabled!" ); 13235 13236 getDispatcher()->vkQueueInsertDebugUtilsLabelEXT( static_cast<VkQueue>( m_queue ), 13237 reinterpret_cast<const VkDebugUtilsLabelEXT *>( &labelInfo ) ); 13238 } 13239 13240 VULKAN_HPP_INLINE void beginDebugUtilsLabelEXT(const DebugUtilsLabelEXT & labelInfo) const13241 CommandBuffer::beginDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo ) const VULKAN_HPP_NOEXCEPT 13242 { 13243 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBeginDebugUtilsLabelEXT && 13244 "Function <vkCmdBeginDebugUtilsLabelEXT> needs extension <VK_EXT_debug_utils> enabled!" ); 13245 13246 getDispatcher()->vkCmdBeginDebugUtilsLabelEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 13247 reinterpret_cast<const VkDebugUtilsLabelEXT *>( &labelInfo ) ); 13248 } 13249 endDebugUtilsLabelEXT() const13250 VULKAN_HPP_INLINE void CommandBuffer::endDebugUtilsLabelEXT() const VULKAN_HPP_NOEXCEPT 13251 { 13252 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdEndDebugUtilsLabelEXT && 13253 "Function <vkCmdEndDebugUtilsLabelEXT> needs extension <VK_EXT_debug_utils> enabled!" ); 13254 13255 getDispatcher()->vkCmdEndDebugUtilsLabelEXT( static_cast<VkCommandBuffer>( m_commandBuffer ) ); 13256 } 13257 13258 VULKAN_HPP_INLINE void insertDebugUtilsLabelEXT(const DebugUtilsLabelEXT & labelInfo) const13259 CommandBuffer::insertDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo ) const VULKAN_HPP_NOEXCEPT 13260 { 13261 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdInsertDebugUtilsLabelEXT && 13262 "Function <vkCmdInsertDebugUtilsLabelEXT> needs extension <VK_EXT_debug_utils> enabled!" ); 13263 13264 getDispatcher()->vkCmdInsertDebugUtilsLabelEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 13265 reinterpret_cast<const VkDebugUtilsLabelEXT *>( &labelInfo ) ); 13266 } 13267 submitDebugUtilsMessageEXT(VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagBitsEXT messageSeverity,VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageTypes,const DebugUtilsMessengerCallbackDataEXT & callbackData) const13268 VULKAN_HPP_INLINE void Instance::submitDebugUtilsMessageEXT( 13269 VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 13270 VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageTypes, 13271 const DebugUtilsMessengerCallbackDataEXT & callbackData ) const VULKAN_HPP_NOEXCEPT 13272 { 13273 VULKAN_HPP_ASSERT( getDispatcher()->vkSubmitDebugUtilsMessageEXT && 13274 "Function <vkSubmitDebugUtilsMessageEXT> needs extension <VK_EXT_debug_utils> enabled!" ); 13275 13276 getDispatcher()->vkSubmitDebugUtilsMessageEXT( 13277 static_cast<VkInstance>( m_instance ), 13278 static_cast<VkDebugUtilsMessageSeverityFlagBitsEXT>( messageSeverity ), 13279 static_cast<VkDebugUtilsMessageTypeFlagsEXT>( messageTypes ), 13280 reinterpret_cast<const VkDebugUtilsMessengerCallbackDataEXT *>( &callbackData ) ); 13281 } 13282 13283 # if defined( VK_USE_PLATFORM_ANDROID_KHR ) 13284 //=== VK_ANDROID_external_memory_android_hardware_buffer === 13285 13286 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID getAndroidHardwareBufferPropertiesANDROID(const struct AHardwareBuffer & buffer) const13287 Device::getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer ) const 13288 { 13289 VULKAN_HPP_ASSERT( 13290 getDispatcher()->vkGetAndroidHardwareBufferPropertiesANDROID && 13291 "Function <vkGetAndroidHardwareBufferPropertiesANDROID> needs extension <VK_ANDROID_external_memory_android_hardware_buffer> enabled!" ); 13292 13293 VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID properties; 13294 VULKAN_HPP_NAMESPACE::Result result = 13295 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetAndroidHardwareBufferPropertiesANDROID( 13296 static_cast<VkDevice>( m_device ), 13297 &buffer, 13298 reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID *>( &properties ) ) ); 13299 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 13300 { 13301 throwResultException( result, 13302 VULKAN_HPP_NAMESPACE_STRING "::Device::getAndroidHardwareBufferPropertiesANDROID" ); 13303 } 13304 return properties; 13305 } 13306 13307 template <typename X, typename Y, typename... Z> 13308 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getAndroidHardwareBufferPropertiesANDROID(const struct AHardwareBuffer & buffer) const13309 Device::getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer ) const 13310 { 13311 StructureChain<X, Y, Z...> structureChain; 13312 VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID & properties = 13313 structureChain.template get<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID>(); 13314 VULKAN_HPP_NAMESPACE::Result result = 13315 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetAndroidHardwareBufferPropertiesANDROID( 13316 static_cast<VkDevice>( m_device ), 13317 &buffer, 13318 reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID *>( &properties ) ) ); 13319 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 13320 { 13321 throwResultException( result, 13322 VULKAN_HPP_NAMESPACE_STRING "::Device::getAndroidHardwareBufferPropertiesANDROID" ); 13323 } 13324 return structureChain; 13325 } 13326 13327 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE struct AHardwareBuffer * getMemoryAndroidHardwareBufferANDROID(const MemoryGetAndroidHardwareBufferInfoANDROID & info) const13328 Device::getMemoryAndroidHardwareBufferANDROID( const MemoryGetAndroidHardwareBufferInfoANDROID & info ) const 13329 { 13330 VULKAN_HPP_ASSERT( 13331 getDispatcher()->vkGetMemoryAndroidHardwareBufferANDROID && 13332 "Function <vkGetMemoryAndroidHardwareBufferANDROID> needs extension <VK_ANDROID_external_memory_android_hardware_buffer> enabled!" ); 13333 13334 struct AHardwareBuffer * buffer; 13335 VULKAN_HPP_NAMESPACE::Result result = 13336 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetMemoryAndroidHardwareBufferANDROID( 13337 static_cast<VkDevice>( m_device ), 13338 reinterpret_cast<const VkMemoryGetAndroidHardwareBufferInfoANDROID *>( &info ), 13339 &buffer ) ); 13340 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 13341 { 13342 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryAndroidHardwareBufferANDROID" ); 13343 } 13344 return buffer; 13345 } 13346 # endif /*VK_USE_PLATFORM_ANDROID_KHR*/ 13347 13348 //=== VK_EXT_sample_locations === 13349 setSampleLocationsEXT(const SampleLocationsInfoEXT & sampleLocationsInfo) const13350 VULKAN_HPP_INLINE void CommandBuffer::setSampleLocationsEXT( 13351 const SampleLocationsInfoEXT & sampleLocationsInfo ) const VULKAN_HPP_NOEXCEPT 13352 { 13353 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetSampleLocationsEXT && 13354 "Function <vkCmdSetSampleLocationsEXT> needs extension <VK_EXT_sample_locations> enabled!" ); 13355 13356 getDispatcher()->vkCmdSetSampleLocationsEXT( 13357 static_cast<VkCommandBuffer>( m_commandBuffer ), 13358 reinterpret_cast<const VkSampleLocationsInfoEXT *>( &sampleLocationsInfo ) ); 13359 } 13360 13361 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT getMultisamplePropertiesEXT(VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples) const13362 PhysicalDevice::getMultisamplePropertiesEXT( VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples ) const 13363 VULKAN_HPP_NOEXCEPT 13364 { 13365 VULKAN_HPP_ASSERT( 13366 getDispatcher()->vkGetPhysicalDeviceMultisamplePropertiesEXT && 13367 "Function <vkGetPhysicalDeviceMultisamplePropertiesEXT> needs extension <VK_EXT_sample_locations> enabled!" ); 13368 13369 VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT multisampleProperties; 13370 getDispatcher()->vkGetPhysicalDeviceMultisamplePropertiesEXT( 13371 static_cast<VkPhysicalDevice>( m_physicalDevice ), 13372 static_cast<VkSampleCountFlagBits>( samples ), 13373 reinterpret_cast<VkMultisamplePropertiesEXT *>( &multisampleProperties ) ); 13374 return multisampleProperties; 13375 } 13376 13377 //=== VK_KHR_get_memory_requirements2 === 13378 13379 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2 getImageMemoryRequirements2KHR(const ImageMemoryRequirementsInfo2 & info) const13380 Device::getImageMemoryRequirements2KHR( const ImageMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT 13381 { 13382 VULKAN_HPP_ASSERT( 13383 getDispatcher()->vkGetImageMemoryRequirements2KHR && 13384 "Function <vkGetImageMemoryRequirements2KHR> needs extension <VK_KHR_get_memory_requirements2> enabled!" ); 13385 13386 VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements; 13387 getDispatcher()->vkGetImageMemoryRequirements2KHR( 13388 static_cast<VkDevice>( m_device ), 13389 reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>( &info ), 13390 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 13391 return memoryRequirements; 13392 } 13393 13394 template <typename X, typename Y, typename... Z> 13395 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> getImageMemoryRequirements2KHR(const ImageMemoryRequirementsInfo2 & info) const13396 Device::getImageMemoryRequirements2KHR( const ImageMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT 13397 { 13398 VULKAN_HPP_ASSERT( 13399 getDispatcher()->vkGetImageMemoryRequirements2KHR && 13400 "Function <vkGetImageMemoryRequirements2KHR> needs extension <VK_KHR_get_memory_requirements2> enabled!" ); 13401 13402 StructureChain<X, Y, Z...> structureChain; 13403 VULKAN_HPP_NAMESPACE::MemoryRequirements2 & memoryRequirements = 13404 structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>(); 13405 getDispatcher()->vkGetImageMemoryRequirements2KHR( 13406 static_cast<VkDevice>( m_device ), 13407 reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>( &info ), 13408 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 13409 return structureChain; 13410 } 13411 13412 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2 getBufferMemoryRequirements2KHR(const BufferMemoryRequirementsInfo2 & info) const13413 Device::getBufferMemoryRequirements2KHR( const BufferMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT 13414 { 13415 VULKAN_HPP_ASSERT( 13416 getDispatcher()->vkGetBufferMemoryRequirements2KHR && 13417 "Function <vkGetBufferMemoryRequirements2KHR> needs extension <VK_KHR_get_memory_requirements2> enabled!" ); 13418 13419 VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements; 13420 getDispatcher()->vkGetBufferMemoryRequirements2KHR( 13421 static_cast<VkDevice>( m_device ), 13422 reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>( &info ), 13423 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 13424 return memoryRequirements; 13425 } 13426 13427 template <typename X, typename Y, typename... Z> 13428 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> getBufferMemoryRequirements2KHR(const BufferMemoryRequirementsInfo2 & info) const13429 Device::getBufferMemoryRequirements2KHR( const BufferMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT 13430 { 13431 VULKAN_HPP_ASSERT( 13432 getDispatcher()->vkGetBufferMemoryRequirements2KHR && 13433 "Function <vkGetBufferMemoryRequirements2KHR> needs extension <VK_KHR_get_memory_requirements2> enabled!" ); 13434 13435 StructureChain<X, Y, Z...> structureChain; 13436 VULKAN_HPP_NAMESPACE::MemoryRequirements2 & memoryRequirements = 13437 structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>(); 13438 getDispatcher()->vkGetBufferMemoryRequirements2KHR( 13439 static_cast<VkDevice>( m_device ), 13440 reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>( &info ), 13441 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 13442 return structureChain; 13443 } 13444 13445 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2> getImageSparseMemoryRequirements2KHR(const ImageSparseMemoryRequirementsInfo2 & info) const13446 Device::getImageSparseMemoryRequirements2KHR( const ImageSparseMemoryRequirementsInfo2 & info ) const 13447 VULKAN_HPP_NOEXCEPT 13448 { 13449 VULKAN_HPP_ASSERT( 13450 getDispatcher()->vkGetImageSparseMemoryRequirements2KHR && 13451 "Function <vkGetImageSparseMemoryRequirements2KHR> needs extension <VK_KHR_get_memory_requirements2> enabled!" ); 13452 13453 uint32_t sparseMemoryRequirementCount; 13454 getDispatcher()->vkGetImageSparseMemoryRequirements2KHR( 13455 static_cast<VkDevice>( m_device ), 13456 reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ), 13457 &sparseMemoryRequirementCount, 13458 nullptr ); 13459 std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2> sparseMemoryRequirements( 13460 sparseMemoryRequirementCount ); 13461 getDispatcher()->vkGetImageSparseMemoryRequirements2KHR( 13462 static_cast<VkDevice>( m_device ), 13463 reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ), 13464 &sparseMemoryRequirementCount, 13465 reinterpret_cast<VkSparseImageMemoryRequirements2 *>( sparseMemoryRequirements.data() ) ); 13466 VULKAN_HPP_ASSERT( sparseMemoryRequirementCount <= sparseMemoryRequirements.size() ); 13467 return sparseMemoryRequirements; 13468 } 13469 13470 //=== VK_KHR_acceleration_structure === 13471 buildAccelerationStructuresKHR(ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const & infos,ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR * const> const & pBuildRangeInfos) const13472 VULKAN_HPP_INLINE void CommandBuffer::buildAccelerationStructuresKHR( 13473 ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const & infos, 13474 ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR * const> const & pBuildRangeInfos ) 13475 const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS 13476 { 13477 VULKAN_HPP_ASSERT( 13478 getDispatcher()->vkCmdBuildAccelerationStructuresKHR && 13479 "Function <vkCmdBuildAccelerationStructuresKHR> needs extension <VK_KHR_acceleration_structure> enabled!" ); 13480 13481 # ifdef VULKAN_HPP_NO_EXCEPTIONS 13482 VULKAN_HPP_ASSERT( infos.size() == pBuildRangeInfos.size() ); 13483 # else 13484 if ( infos.size() != pBuildRangeInfos.size() ) 13485 { 13486 throw LogicError( VULKAN_HPP_NAMESPACE_STRING 13487 "::CommandBuffer::buildAccelerationStructuresKHR: infos.size() != pBuildRangeInfos.size()" ); 13488 } 13489 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ 13490 13491 getDispatcher()->vkCmdBuildAccelerationStructuresKHR( 13492 static_cast<VkCommandBuffer>( m_commandBuffer ), 13493 infos.size(), 13494 reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>( infos.data() ), 13495 reinterpret_cast<const VkAccelerationStructureBuildRangeInfoKHR * const *>( pBuildRangeInfos.data() ) ); 13496 } 13497 buildAccelerationStructuresIndirectKHR(ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const & infos,ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceAddress> const & indirectDeviceAddresses,ArrayProxy<const uint32_t> const & indirectStrides,ArrayProxy<const uint32_t * const> const & pMaxPrimitiveCounts) const13498 VULKAN_HPP_INLINE void CommandBuffer::buildAccelerationStructuresIndirectKHR( 13499 ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const & infos, 13500 ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceAddress> const & indirectDeviceAddresses, 13501 ArrayProxy<const uint32_t> const & indirectStrides, 13502 ArrayProxy<const uint32_t * const> const & pMaxPrimitiveCounts ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS 13503 { 13504 VULKAN_HPP_ASSERT( 13505 getDispatcher()->vkCmdBuildAccelerationStructuresIndirectKHR && 13506 "Function <vkCmdBuildAccelerationStructuresIndirectKHR> needs extension <VK_KHR_acceleration_structure> enabled!" ); 13507 13508 # ifdef VULKAN_HPP_NO_EXCEPTIONS 13509 VULKAN_HPP_ASSERT( infos.size() == indirectDeviceAddresses.size() ); 13510 VULKAN_HPP_ASSERT( infos.size() == indirectStrides.size() ); 13511 VULKAN_HPP_ASSERT( infos.size() == pMaxPrimitiveCounts.size() ); 13512 # else 13513 if ( infos.size() != indirectDeviceAddresses.size() ) 13514 { 13515 throw LogicError( 13516 VULKAN_HPP_NAMESPACE_STRING 13517 "::CommandBuffer::buildAccelerationStructuresIndirectKHR: infos.size() != indirectDeviceAddresses.size()" ); 13518 } 13519 if ( infos.size() != indirectStrides.size() ) 13520 { 13521 throw LogicError( 13522 VULKAN_HPP_NAMESPACE_STRING 13523 "::CommandBuffer::buildAccelerationStructuresIndirectKHR: infos.size() != indirectStrides.size()" ); 13524 } 13525 if ( infos.size() != pMaxPrimitiveCounts.size() ) 13526 { 13527 throw LogicError( 13528 VULKAN_HPP_NAMESPACE_STRING 13529 "::CommandBuffer::buildAccelerationStructuresIndirectKHR: infos.size() != pMaxPrimitiveCounts.size()" ); 13530 } 13531 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ 13532 13533 getDispatcher()->vkCmdBuildAccelerationStructuresIndirectKHR( 13534 static_cast<VkCommandBuffer>( m_commandBuffer ), 13535 infos.size(), 13536 reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>( infos.data() ), 13537 reinterpret_cast<const VkDeviceAddress *>( indirectDeviceAddresses.data() ), 13538 indirectStrides.data(), 13539 pMaxPrimitiveCounts.data() ); 13540 } 13541 buildAccelerationStructuresKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const & infos,ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR * const> const & pBuildRangeInfos) const13542 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result Device::buildAccelerationStructuresKHR( 13543 VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 13544 ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const & infos, 13545 ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR * const> const & pBuildRangeInfos ) 13546 const 13547 { 13548 VULKAN_HPP_ASSERT( 13549 getDispatcher()->vkBuildAccelerationStructuresKHR && 13550 "Function <vkBuildAccelerationStructuresKHR> needs extension <VK_KHR_acceleration_structure> enabled!" ); 13551 if ( infos.size() != pBuildRangeInfos.size() ) 13552 { 13553 throw LogicError( VULKAN_HPP_NAMESPACE_STRING 13554 "::Device::buildAccelerationStructuresKHR: infos.size() != pBuildRangeInfos.size()" ); 13555 } 13556 13557 VULKAN_HPP_NAMESPACE::Result result = 13558 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkBuildAccelerationStructuresKHR( 13559 static_cast<VkDevice>( m_device ), 13560 static_cast<VkDeferredOperationKHR>( deferredOperation ), 13561 infos.size(), 13562 reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>( infos.data() ), 13563 reinterpret_cast<const VkAccelerationStructureBuildRangeInfoKHR * const *>( pBuildRangeInfos.data() ) ) ); 13564 if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && 13565 ( result != VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR ) && 13566 ( result != VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR ) ) 13567 { 13568 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::buildAccelerationStructuresKHR" ); 13569 } 13570 return result; 13571 } 13572 13573 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result copyAccelerationStructureKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,const CopyAccelerationStructureInfoKHR & info) const13574 Device::copyAccelerationStructureKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 13575 const CopyAccelerationStructureInfoKHR & info ) const 13576 { 13577 VULKAN_HPP_ASSERT( 13578 getDispatcher()->vkCopyAccelerationStructureKHR && 13579 "Function <vkCopyAccelerationStructureKHR> needs extension <VK_KHR_acceleration_structure> enabled!" ); 13580 13581 VULKAN_HPP_NAMESPACE::Result result = 13582 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCopyAccelerationStructureKHR( 13583 static_cast<VkDevice>( m_device ), 13584 static_cast<VkDeferredOperationKHR>( deferredOperation ), 13585 reinterpret_cast<const VkCopyAccelerationStructureInfoKHR *>( &info ) ) ); 13586 if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && 13587 ( result != VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR ) && 13588 ( result != VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR ) ) 13589 { 13590 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::copyAccelerationStructureKHR" ); 13591 } 13592 return result; 13593 } 13594 13595 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result copyAccelerationStructureToMemoryKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,const CopyAccelerationStructureToMemoryInfoKHR & info) const13596 Device::copyAccelerationStructureToMemoryKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 13597 const CopyAccelerationStructureToMemoryInfoKHR & info ) const 13598 { 13599 VULKAN_HPP_ASSERT( 13600 getDispatcher()->vkCopyAccelerationStructureToMemoryKHR && 13601 "Function <vkCopyAccelerationStructureToMemoryKHR> needs extension <VK_KHR_acceleration_structure> enabled!" ); 13602 13603 VULKAN_HPP_NAMESPACE::Result result = 13604 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCopyAccelerationStructureToMemoryKHR( 13605 static_cast<VkDevice>( m_device ), 13606 static_cast<VkDeferredOperationKHR>( deferredOperation ), 13607 reinterpret_cast<const VkCopyAccelerationStructureToMemoryInfoKHR *>( &info ) ) ); 13608 if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && 13609 ( result != VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR ) && 13610 ( result != VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR ) ) 13611 { 13612 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::copyAccelerationStructureToMemoryKHR" ); 13613 } 13614 return result; 13615 } 13616 13617 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result copyMemoryToAccelerationStructureKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,const CopyMemoryToAccelerationStructureInfoKHR & info) const13618 Device::copyMemoryToAccelerationStructureKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 13619 const CopyMemoryToAccelerationStructureInfoKHR & info ) const 13620 { 13621 VULKAN_HPP_ASSERT( 13622 getDispatcher()->vkCopyMemoryToAccelerationStructureKHR && 13623 "Function <vkCopyMemoryToAccelerationStructureKHR> needs extension <VK_KHR_acceleration_structure> enabled!" ); 13624 13625 VULKAN_HPP_NAMESPACE::Result result = 13626 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCopyMemoryToAccelerationStructureKHR( 13627 static_cast<VkDevice>( m_device ), 13628 static_cast<VkDeferredOperationKHR>( deferredOperation ), 13629 reinterpret_cast<const VkCopyMemoryToAccelerationStructureInfoKHR *>( &info ) ) ); 13630 if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && 13631 ( result != VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR ) && 13632 ( result != VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR ) ) 13633 { 13634 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::copyMemoryToAccelerationStructureKHR" ); 13635 } 13636 return result; 13637 } 13638 13639 template <typename T> writeAccelerationStructuresPropertiesKHR(ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures,VULKAN_HPP_NAMESPACE::QueryType queryType,size_t dataSize,size_t stride) const13640 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<T> Device::writeAccelerationStructuresPropertiesKHR( 13641 ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures, 13642 VULKAN_HPP_NAMESPACE::QueryType queryType, 13643 size_t dataSize, 13644 size_t stride ) const 13645 { 13646 VULKAN_HPP_ASSERT( 13647 getDispatcher()->vkWriteAccelerationStructuresPropertiesKHR && 13648 "Function <vkWriteAccelerationStructuresPropertiesKHR> needs extension <VK_KHR_acceleration_structure> enabled!" ); 13649 13650 VULKAN_HPP_ASSERT( dataSize % sizeof( T ) == 0 ); 13651 std::vector<T> data( dataSize / sizeof( T ) ); 13652 Result result = static_cast<Result>( getDispatcher()->vkWriteAccelerationStructuresPropertiesKHR( 13653 static_cast<VkDevice>( m_device ), 13654 accelerationStructures.size(), 13655 reinterpret_cast<const VkAccelerationStructureKHR *>( accelerationStructures.data() ), 13656 static_cast<VkQueryType>( queryType ), 13657 data.size() * sizeof( T ), 13658 reinterpret_cast<void *>( data.data() ), 13659 stride ) ); 13660 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 13661 { 13662 throwResultException( result, 13663 VULKAN_HPP_NAMESPACE_STRING "::Device::writeAccelerationStructuresPropertiesKHR" ); 13664 } 13665 return data; 13666 } 13667 13668 template <typename T> writeAccelerationStructuresPropertyKHR(ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures,VULKAN_HPP_NAMESPACE::QueryType queryType,size_t stride) const13669 VULKAN_HPP_NODISCARD T Device::writeAccelerationStructuresPropertyKHR( 13670 ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures, 13671 VULKAN_HPP_NAMESPACE::QueryType queryType, 13672 size_t stride ) const 13673 { 13674 T data; 13675 Result result = static_cast<Result>( getDispatcher()->vkWriteAccelerationStructuresPropertiesKHR( 13676 static_cast<VkDevice>( m_device ), 13677 accelerationStructures.size(), 13678 reinterpret_cast<const VkAccelerationStructureKHR *>( accelerationStructures.data() ), 13679 static_cast<VkQueryType>( queryType ), 13680 sizeof( T ), 13681 reinterpret_cast<void *>( &data ), 13682 stride ) ); 13683 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 13684 { 13685 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::writeAccelerationStructuresPropertyKHR" ); 13686 } 13687 return data; 13688 } 13689 copyAccelerationStructureKHR(const CopyAccelerationStructureInfoKHR & info) const13690 VULKAN_HPP_INLINE void CommandBuffer::copyAccelerationStructureKHR( 13691 const CopyAccelerationStructureInfoKHR & info ) const VULKAN_HPP_NOEXCEPT 13692 { 13693 VULKAN_HPP_ASSERT( 13694 getDispatcher()->vkCmdCopyAccelerationStructureKHR && 13695 "Function <vkCmdCopyAccelerationStructureKHR> needs extension <VK_KHR_acceleration_structure> enabled!" ); 13696 13697 getDispatcher()->vkCmdCopyAccelerationStructureKHR( 13698 static_cast<VkCommandBuffer>( m_commandBuffer ), 13699 reinterpret_cast<const VkCopyAccelerationStructureInfoKHR *>( &info ) ); 13700 } 13701 copyAccelerationStructureToMemoryKHR(const CopyAccelerationStructureToMemoryInfoKHR & info) const13702 VULKAN_HPP_INLINE void CommandBuffer::copyAccelerationStructureToMemoryKHR( 13703 const CopyAccelerationStructureToMemoryInfoKHR & info ) const VULKAN_HPP_NOEXCEPT 13704 { 13705 VULKAN_HPP_ASSERT( 13706 getDispatcher()->vkCmdCopyAccelerationStructureToMemoryKHR && 13707 "Function <vkCmdCopyAccelerationStructureToMemoryKHR> needs extension <VK_KHR_acceleration_structure> enabled!" ); 13708 13709 getDispatcher()->vkCmdCopyAccelerationStructureToMemoryKHR( 13710 static_cast<VkCommandBuffer>( m_commandBuffer ), 13711 reinterpret_cast<const VkCopyAccelerationStructureToMemoryInfoKHR *>( &info ) ); 13712 } 13713 copyMemoryToAccelerationStructureKHR(const CopyMemoryToAccelerationStructureInfoKHR & info) const13714 VULKAN_HPP_INLINE void CommandBuffer::copyMemoryToAccelerationStructureKHR( 13715 const CopyMemoryToAccelerationStructureInfoKHR & info ) const VULKAN_HPP_NOEXCEPT 13716 { 13717 VULKAN_HPP_ASSERT( 13718 getDispatcher()->vkCmdCopyMemoryToAccelerationStructureKHR && 13719 "Function <vkCmdCopyMemoryToAccelerationStructureKHR> needs extension <VK_KHR_acceleration_structure> enabled!" ); 13720 13721 getDispatcher()->vkCmdCopyMemoryToAccelerationStructureKHR( 13722 static_cast<VkCommandBuffer>( m_commandBuffer ), 13723 reinterpret_cast<const VkCopyMemoryToAccelerationStructureInfoKHR *>( &info ) ); 13724 } 13725 13726 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceAddress getAccelerationStructureAddressKHR(const AccelerationStructureDeviceAddressInfoKHR & info) const13727 Device::getAccelerationStructureAddressKHR( const AccelerationStructureDeviceAddressInfoKHR & info ) const 13728 VULKAN_HPP_NOEXCEPT 13729 { 13730 VULKAN_HPP_ASSERT( 13731 getDispatcher()->vkGetAccelerationStructureDeviceAddressKHR && 13732 "Function <vkGetAccelerationStructureDeviceAddressKHR> needs extension <VK_KHR_acceleration_structure> enabled!" ); 13733 13734 return static_cast<VULKAN_HPP_NAMESPACE::DeviceAddress>( 13735 getDispatcher()->vkGetAccelerationStructureDeviceAddressKHR( 13736 static_cast<VkDevice>( m_device ), 13737 reinterpret_cast<const VkAccelerationStructureDeviceAddressInfoKHR *>( &info ) ) ); 13738 } 13739 writeAccelerationStructuresPropertiesKHR(ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures,VULKAN_HPP_NAMESPACE::QueryType queryType,VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t firstQuery) const13740 VULKAN_HPP_INLINE void CommandBuffer::writeAccelerationStructuresPropertiesKHR( 13741 ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures, 13742 VULKAN_HPP_NAMESPACE::QueryType queryType, 13743 VULKAN_HPP_NAMESPACE::QueryPool queryPool, 13744 uint32_t firstQuery ) const VULKAN_HPP_NOEXCEPT 13745 { 13746 VULKAN_HPP_ASSERT( 13747 getDispatcher()->vkCmdWriteAccelerationStructuresPropertiesKHR && 13748 "Function <vkCmdWriteAccelerationStructuresPropertiesKHR> needs extension <VK_KHR_acceleration_structure> enabled!" ); 13749 13750 getDispatcher()->vkCmdWriteAccelerationStructuresPropertiesKHR( 13751 static_cast<VkCommandBuffer>( m_commandBuffer ), 13752 accelerationStructures.size(), 13753 reinterpret_cast<const VkAccelerationStructureKHR *>( accelerationStructures.data() ), 13754 static_cast<VkQueryType>( queryType ), 13755 static_cast<VkQueryPool>( queryPool ), 13756 firstQuery ); 13757 } 13758 13759 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::AccelerationStructureCompatibilityKHR getAccelerationStructureCompatibilityKHR(const AccelerationStructureVersionInfoKHR & versionInfo) const13760 Device::getAccelerationStructureCompatibilityKHR( const AccelerationStructureVersionInfoKHR & versionInfo ) const 13761 VULKAN_HPP_NOEXCEPT 13762 { 13763 VULKAN_HPP_ASSERT( 13764 getDispatcher()->vkGetDeviceAccelerationStructureCompatibilityKHR && 13765 "Function <vkGetDeviceAccelerationStructureCompatibilityKHR> needs extension <VK_KHR_acceleration_structure> enabled!" ); 13766 13767 VULKAN_HPP_NAMESPACE::AccelerationStructureCompatibilityKHR compatibility; 13768 getDispatcher()->vkGetDeviceAccelerationStructureCompatibilityKHR( 13769 static_cast<VkDevice>( m_device ), 13770 reinterpret_cast<const VkAccelerationStructureVersionInfoKHR *>( &versionInfo ), 13771 reinterpret_cast<VkAccelerationStructureCompatibilityKHR *>( &compatibility ) ); 13772 return compatibility; 13773 } 13774 13775 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR getAccelerationStructureBuildSizesKHR(VULKAN_HPP_NAMESPACE::AccelerationStructureBuildTypeKHR buildType,const AccelerationStructureBuildGeometryInfoKHR & buildInfo,ArrayProxy<const uint32_t> const & maxPrimitiveCounts) const13776 Device::getAccelerationStructureBuildSizesKHR( VULKAN_HPP_NAMESPACE::AccelerationStructureBuildTypeKHR buildType, 13777 const AccelerationStructureBuildGeometryInfoKHR & buildInfo, 13778 ArrayProxy<const uint32_t> const & maxPrimitiveCounts ) const 13779 VULKAN_HPP_NOEXCEPT 13780 { 13781 VULKAN_HPP_ASSERT( 13782 getDispatcher()->vkGetAccelerationStructureBuildSizesKHR && 13783 "Function <vkGetAccelerationStructureBuildSizesKHR> needs extension <VK_KHR_acceleration_structure> enabled!" ); 13784 13785 VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR sizeInfo; 13786 getDispatcher()->vkGetAccelerationStructureBuildSizesKHR( 13787 static_cast<VkDevice>( m_device ), 13788 static_cast<VkAccelerationStructureBuildTypeKHR>( buildType ), 13789 reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>( &buildInfo ), 13790 maxPrimitiveCounts.data(), 13791 reinterpret_cast<VkAccelerationStructureBuildSizesInfoKHR *>( &sizeInfo ) ); 13792 return sizeInfo; 13793 } 13794 13795 //=== VK_KHR_sampler_ycbcr_conversion === 13796 destroySamplerYcbcrConversionKHR(VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion,Optional<const AllocationCallbacks> allocator) const13797 VULKAN_HPP_INLINE void Device::destroySamplerYcbcrConversionKHR( 13798 VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion, 13799 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT 13800 { 13801 VULKAN_HPP_ASSERT( 13802 getDispatcher()->vkDestroySamplerYcbcrConversionKHR && 13803 "Function <vkDestroySamplerYcbcrConversionKHR> needs extension <VK_KHR_sampler_ycbcr_conversion> enabled!" ); 13804 13805 getDispatcher()->vkDestroySamplerYcbcrConversionKHR( 13806 static_cast<VkDevice>( m_device ), 13807 static_cast<VkSamplerYcbcrConversion>( ycbcrConversion ), 13808 reinterpret_cast<const VkAllocationCallbacks *>( 13809 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 13810 } 13811 13812 //=== VK_KHR_bind_memory2 === 13813 bindBufferMemory2KHR(ArrayProxy<const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo> const & bindInfos) const13814 VULKAN_HPP_INLINE void Device::bindBufferMemory2KHR( 13815 ArrayProxy<const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo> const & bindInfos ) const 13816 { 13817 VULKAN_HPP_ASSERT( getDispatcher()->vkBindBufferMemory2KHR && 13818 "Function <vkBindBufferMemory2KHR> needs extension <VK_KHR_bind_memory2> enabled!" ); 13819 13820 VULKAN_HPP_NAMESPACE::Result result = 13821 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkBindBufferMemory2KHR( 13822 static_cast<VkDevice>( m_device ), 13823 bindInfos.size(), 13824 reinterpret_cast<const VkBindBufferMemoryInfo *>( bindInfos.data() ) ) ); 13825 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 13826 { 13827 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindBufferMemory2KHR" ); 13828 } 13829 } 13830 13831 VULKAN_HPP_INLINE void bindImageMemory2KHR(ArrayProxy<const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo> const & bindInfos) const13832 Device::bindImageMemory2KHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo> const & bindInfos ) const 13833 { 13834 VULKAN_HPP_ASSERT( getDispatcher()->vkBindImageMemory2KHR && 13835 "Function <vkBindImageMemory2KHR> needs extension <VK_KHR_bind_memory2> enabled!" ); 13836 13837 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 13838 getDispatcher()->vkBindImageMemory2KHR( static_cast<VkDevice>( m_device ), 13839 bindInfos.size(), 13840 reinterpret_cast<const VkBindImageMemoryInfo *>( bindInfos.data() ) ) ); 13841 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 13842 { 13843 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindImageMemory2KHR" ); 13844 } 13845 } 13846 13847 //=== VK_EXT_image_drm_format_modifier === 13848 13849 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT getDrmFormatModifierPropertiesEXT() const13850 Image::getDrmFormatModifierPropertiesEXT() const 13851 { 13852 VULKAN_HPP_ASSERT( 13853 getDispatcher()->vkGetImageDrmFormatModifierPropertiesEXT && 13854 "Function <vkGetImageDrmFormatModifierPropertiesEXT> needs extension <VK_EXT_image_drm_format_modifier> enabled!" ); 13855 13856 VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT properties; 13857 VULKAN_HPP_NAMESPACE::Result result = 13858 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetImageDrmFormatModifierPropertiesEXT( 13859 static_cast<VkDevice>( m_device ), 13860 static_cast<VkImage>( m_image ), 13861 reinterpret_cast<VkImageDrmFormatModifierPropertiesEXT *>( &properties ) ) ); 13862 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 13863 { 13864 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Image::getDrmFormatModifierPropertiesEXT" ); 13865 } 13866 return properties; 13867 } 13868 13869 //=== VK_EXT_validation_cache === 13870 13871 VULKAN_HPP_INLINE void merge(ArrayProxy<const VULKAN_HPP_NAMESPACE::ValidationCacheEXT> const & srcCaches) const13872 ValidationCacheEXT::merge( ArrayProxy<const VULKAN_HPP_NAMESPACE::ValidationCacheEXT> const & srcCaches ) const 13873 { 13874 VULKAN_HPP_ASSERT( getDispatcher()->vkMergeValidationCachesEXT && 13875 "Function <vkMergeValidationCachesEXT> needs extension <VK_EXT_validation_cache> enabled!" ); 13876 13877 VULKAN_HPP_NAMESPACE::Result result = 13878 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkMergeValidationCachesEXT( 13879 static_cast<VkDevice>( m_device ), 13880 static_cast<VkValidationCacheEXT>( m_validationCacheEXT ), 13881 srcCaches.size(), 13882 reinterpret_cast<const VkValidationCacheEXT *>( srcCaches.data() ) ) ); 13883 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 13884 { 13885 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::ValidationCacheEXT::merge" ); 13886 } 13887 } 13888 getData() const13889 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<uint8_t> ValidationCacheEXT::getData() const 13890 { 13891 VULKAN_HPP_ASSERT( getDispatcher()->vkGetValidationCacheDataEXT && 13892 "Function <vkGetValidationCacheDataEXT> needs extension <VK_EXT_validation_cache> enabled!" ); 13893 13894 std::vector<uint8_t> data; 13895 size_t dataSize; 13896 VULKAN_HPP_NAMESPACE::Result result; 13897 do 13898 { 13899 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 13900 getDispatcher()->vkGetValidationCacheDataEXT( static_cast<VkDevice>( m_device ), 13901 static_cast<VkValidationCacheEXT>( m_validationCacheEXT ), 13902 &dataSize, 13903 nullptr ) ); 13904 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && dataSize ) 13905 { 13906 data.resize( dataSize ); 13907 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 13908 getDispatcher()->vkGetValidationCacheDataEXT( static_cast<VkDevice>( m_device ), 13909 static_cast<VkValidationCacheEXT>( m_validationCacheEXT ), 13910 &dataSize, 13911 reinterpret_cast<void *>( data.data() ) ) ); 13912 VULKAN_HPP_ASSERT( dataSize <= data.size() ); 13913 } 13914 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 13915 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( dataSize < data.size() ) ) 13916 { 13917 data.resize( dataSize ); 13918 } 13919 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 13920 { 13921 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::ValidationCacheEXT::getData" ); 13922 } 13923 return data; 13924 } 13925 13926 //=== VK_NV_shading_rate_image === 13927 13928 VULKAN_HPP_INLINE void bindShadingRateImageNV(VULKAN_HPP_NAMESPACE::ImageView imageView,VULKAN_HPP_NAMESPACE::ImageLayout imageLayout) const13929 CommandBuffer::bindShadingRateImageNV( VULKAN_HPP_NAMESPACE::ImageView imageView, 13930 VULKAN_HPP_NAMESPACE::ImageLayout imageLayout ) const VULKAN_HPP_NOEXCEPT 13931 { 13932 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBindShadingRateImageNV && 13933 "Function <vkCmdBindShadingRateImageNV> needs extension <VK_NV_shading_rate_image> enabled!" ); 13934 13935 getDispatcher()->vkCmdBindShadingRateImageNV( static_cast<VkCommandBuffer>( m_commandBuffer ), 13936 static_cast<VkImageView>( imageView ), 13937 static_cast<VkImageLayout>( imageLayout ) ); 13938 } 13939 setViewportShadingRatePaletteNV(uint32_t firstViewport,ArrayProxy<const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV> const & shadingRatePalettes) const13940 VULKAN_HPP_INLINE void CommandBuffer::setViewportShadingRatePaletteNV( 13941 uint32_t firstViewport, ArrayProxy<const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV> const & shadingRatePalettes ) 13942 const VULKAN_HPP_NOEXCEPT 13943 { 13944 VULKAN_HPP_ASSERT( 13945 getDispatcher()->vkCmdSetViewportShadingRatePaletteNV && 13946 "Function <vkCmdSetViewportShadingRatePaletteNV> needs extension <VK_NV_shading_rate_image> enabled!" ); 13947 13948 getDispatcher()->vkCmdSetViewportShadingRatePaletteNV( 13949 static_cast<VkCommandBuffer>( m_commandBuffer ), 13950 firstViewport, 13951 shadingRatePalettes.size(), 13952 reinterpret_cast<const VkShadingRatePaletteNV *>( shadingRatePalettes.data() ) ); 13953 } 13954 setCoarseSampleOrderNV(VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV sampleOrderType,ArrayProxy<const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV> const & customSampleOrders) const13955 VULKAN_HPP_INLINE void CommandBuffer::setCoarseSampleOrderNV( 13956 VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV sampleOrderType, 13957 ArrayProxy<const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV> const & customSampleOrders ) const 13958 VULKAN_HPP_NOEXCEPT 13959 { 13960 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetCoarseSampleOrderNV && 13961 "Function <vkCmdSetCoarseSampleOrderNV> needs extension <VK_NV_shading_rate_image> enabled!" ); 13962 13963 getDispatcher()->vkCmdSetCoarseSampleOrderNV( 13964 static_cast<VkCommandBuffer>( m_commandBuffer ), 13965 static_cast<VkCoarseSampleOrderTypeNV>( sampleOrderType ), 13966 customSampleOrders.size(), 13967 reinterpret_cast<const VkCoarseSampleOrderCustomNV *>( customSampleOrders.data() ) ); 13968 } 13969 13970 //=== VK_NV_ray_tracing === 13971 13972 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR getAccelerationStructureMemoryRequirementsNV(const AccelerationStructureMemoryRequirementsInfoNV & info) const13973 Device::getAccelerationStructureMemoryRequirementsNV( 13974 const AccelerationStructureMemoryRequirementsInfoNV & info ) const VULKAN_HPP_NOEXCEPT 13975 { 13976 VULKAN_HPP_ASSERT( 13977 getDispatcher()->vkGetAccelerationStructureMemoryRequirementsNV && 13978 "Function <vkGetAccelerationStructureMemoryRequirementsNV> needs extension <VK_NV_ray_tracing> enabled!" ); 13979 13980 VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR memoryRequirements; 13981 getDispatcher()->vkGetAccelerationStructureMemoryRequirementsNV( 13982 static_cast<VkDevice>( m_device ), 13983 reinterpret_cast<const VkAccelerationStructureMemoryRequirementsInfoNV *>( &info ), 13984 reinterpret_cast<VkMemoryRequirements2KHR *>( &memoryRequirements ) ); 13985 return memoryRequirements; 13986 } 13987 13988 template <typename X, typename Y, typename... Z> 13989 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> getAccelerationStructureMemoryRequirementsNV(const AccelerationStructureMemoryRequirementsInfoNV & info) const13990 Device::getAccelerationStructureMemoryRequirementsNV( 13991 const AccelerationStructureMemoryRequirementsInfoNV & info ) const VULKAN_HPP_NOEXCEPT 13992 { 13993 VULKAN_HPP_ASSERT( 13994 getDispatcher()->vkGetAccelerationStructureMemoryRequirementsNV && 13995 "Function <vkGetAccelerationStructureMemoryRequirementsNV> needs extension <VK_NV_ray_tracing> enabled!" ); 13996 13997 StructureChain<X, Y, Z...> structureChain; 13998 VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR & memoryRequirements = 13999 structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR>(); 14000 getDispatcher()->vkGetAccelerationStructureMemoryRequirementsNV( 14001 static_cast<VkDevice>( m_device ), 14002 reinterpret_cast<const VkAccelerationStructureMemoryRequirementsInfoNV *>( &info ), 14003 reinterpret_cast<VkMemoryRequirements2KHR *>( &memoryRequirements ) ); 14004 return structureChain; 14005 } 14006 bindAccelerationStructureMemoryNV(ArrayProxy<const VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoNV> const & bindInfos) const14007 VULKAN_HPP_INLINE void Device::bindAccelerationStructureMemoryNV( 14008 ArrayProxy<const VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoNV> const & bindInfos ) const 14009 { 14010 VULKAN_HPP_ASSERT( 14011 getDispatcher()->vkBindAccelerationStructureMemoryNV && 14012 "Function <vkBindAccelerationStructureMemoryNV> needs extension <VK_NV_ray_tracing> enabled!" ); 14013 14014 VULKAN_HPP_NAMESPACE::Result result = 14015 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkBindAccelerationStructureMemoryNV( 14016 static_cast<VkDevice>( m_device ), 14017 bindInfos.size(), 14018 reinterpret_cast<const VkBindAccelerationStructureMemoryInfoNV *>( bindInfos.data() ) ) ); 14019 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 14020 { 14021 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindAccelerationStructureMemoryNV" ); 14022 } 14023 } 14024 buildAccelerationStructureNV(const 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) const14025 VULKAN_HPP_INLINE void CommandBuffer::buildAccelerationStructureNV( 14026 const AccelerationStructureInfoNV & info, 14027 VULKAN_HPP_NAMESPACE::Buffer instanceData, 14028 VULKAN_HPP_NAMESPACE::DeviceSize instanceOffset, 14029 VULKAN_HPP_NAMESPACE::Bool32 update, 14030 VULKAN_HPP_NAMESPACE::AccelerationStructureNV dst, 14031 VULKAN_HPP_NAMESPACE::AccelerationStructureNV src, 14032 VULKAN_HPP_NAMESPACE::Buffer scratch, 14033 VULKAN_HPP_NAMESPACE::DeviceSize scratchOffset ) const VULKAN_HPP_NOEXCEPT 14034 { 14035 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBuildAccelerationStructureNV && 14036 "Function <vkCmdBuildAccelerationStructureNV> needs extension <VK_NV_ray_tracing> enabled!" ); 14037 14038 getDispatcher()->vkCmdBuildAccelerationStructureNV( 14039 static_cast<VkCommandBuffer>( m_commandBuffer ), 14040 reinterpret_cast<const VkAccelerationStructureInfoNV *>( &info ), 14041 static_cast<VkBuffer>( instanceData ), 14042 static_cast<VkDeviceSize>( instanceOffset ), 14043 static_cast<VkBool32>( update ), 14044 static_cast<VkAccelerationStructureNV>( dst ), 14045 static_cast<VkAccelerationStructureNV>( src ), 14046 static_cast<VkBuffer>( scratch ), 14047 static_cast<VkDeviceSize>( scratchOffset ) ); 14048 } 14049 copyAccelerationStructureNV(VULKAN_HPP_NAMESPACE::AccelerationStructureNV dst,VULKAN_HPP_NAMESPACE::AccelerationStructureNV src,VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode) const14050 VULKAN_HPP_INLINE void CommandBuffer::copyAccelerationStructureNV( 14051 VULKAN_HPP_NAMESPACE::AccelerationStructureNV dst, 14052 VULKAN_HPP_NAMESPACE::AccelerationStructureNV src, 14053 VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode ) const VULKAN_HPP_NOEXCEPT 14054 { 14055 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyAccelerationStructureNV && 14056 "Function <vkCmdCopyAccelerationStructureNV> needs extension <VK_NV_ray_tracing> enabled!" ); 14057 14058 getDispatcher()->vkCmdCopyAccelerationStructureNV( static_cast<VkCommandBuffer>( m_commandBuffer ), 14059 static_cast<VkAccelerationStructureNV>( dst ), 14060 static_cast<VkAccelerationStructureNV>( src ), 14061 static_cast<VkCopyAccelerationStructureModeKHR>( mode ) ); 14062 } 14063 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) const14064 VULKAN_HPP_INLINE void CommandBuffer::traceRaysNV( VULKAN_HPP_NAMESPACE::Buffer raygenShaderBindingTableBuffer, 14065 VULKAN_HPP_NAMESPACE::DeviceSize raygenShaderBindingOffset, 14066 VULKAN_HPP_NAMESPACE::Buffer missShaderBindingTableBuffer, 14067 VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingOffset, 14068 VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingStride, 14069 VULKAN_HPP_NAMESPACE::Buffer hitShaderBindingTableBuffer, 14070 VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingOffset, 14071 VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingStride, 14072 VULKAN_HPP_NAMESPACE::Buffer callableShaderBindingTableBuffer, 14073 VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingOffset, 14074 VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingStride, 14075 uint32_t width, 14076 uint32_t height, 14077 uint32_t depth ) const VULKAN_HPP_NOEXCEPT 14078 { 14079 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdTraceRaysNV && 14080 "Function <vkCmdTraceRaysNV> needs extension <VK_NV_ray_tracing> enabled!" ); 14081 14082 getDispatcher()->vkCmdTraceRaysNV( static_cast<VkCommandBuffer>( m_commandBuffer ), 14083 static_cast<VkBuffer>( raygenShaderBindingTableBuffer ), 14084 static_cast<VkDeviceSize>( raygenShaderBindingOffset ), 14085 static_cast<VkBuffer>( missShaderBindingTableBuffer ), 14086 static_cast<VkDeviceSize>( missShaderBindingOffset ), 14087 static_cast<VkDeviceSize>( missShaderBindingStride ), 14088 static_cast<VkBuffer>( hitShaderBindingTableBuffer ), 14089 static_cast<VkDeviceSize>( hitShaderBindingOffset ), 14090 static_cast<VkDeviceSize>( hitShaderBindingStride ), 14091 static_cast<VkBuffer>( callableShaderBindingTableBuffer ), 14092 static_cast<VkDeviceSize>( callableShaderBindingOffset ), 14093 static_cast<VkDeviceSize>( callableShaderBindingStride ), 14094 width, 14095 height, 14096 depth ); 14097 } 14098 14099 template <typename T> 14100 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<T> getRayTracingShaderGroupHandlesNV(uint32_t firstGroup,uint32_t groupCount,size_t dataSize) const14101 Pipeline::getRayTracingShaderGroupHandlesNV( uint32_t firstGroup, uint32_t groupCount, size_t dataSize ) const 14102 { 14103 VULKAN_HPP_ASSERT( 14104 getDispatcher()->vkGetRayTracingShaderGroupHandlesNV && 14105 "Function <vkGetRayTracingShaderGroupHandlesNV> needs extension <VK_NV_ray_tracing> enabled!" ); 14106 14107 VULKAN_HPP_ASSERT( dataSize % sizeof( T ) == 0 ); 14108 std::vector<T> data( dataSize / sizeof( T ) ); 14109 Result result = static_cast<Result>( 14110 getDispatcher()->vkGetRayTracingShaderGroupHandlesNV( static_cast<VkDevice>( m_device ), 14111 static_cast<VkPipeline>( m_pipeline ), 14112 firstGroup, 14113 groupCount, 14114 data.size() * sizeof( T ), 14115 reinterpret_cast<void *>( data.data() ) ) ); 14116 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 14117 { 14118 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Pipeline::getRayTracingShaderGroupHandlesNV" ); 14119 } 14120 return data; 14121 } 14122 14123 template <typename T> getRayTracingShaderGroupHandleNV(uint32_t firstGroup,uint32_t groupCount) const14124 VULKAN_HPP_NODISCARD T Pipeline::getRayTracingShaderGroupHandleNV( uint32_t firstGroup, uint32_t groupCount ) const 14125 { 14126 T data; 14127 Result result = static_cast<Result>( 14128 getDispatcher()->vkGetRayTracingShaderGroupHandlesNV( static_cast<VkDevice>( m_device ), 14129 static_cast<VkPipeline>( m_pipeline ), 14130 firstGroup, 14131 groupCount, 14132 sizeof( T ), 14133 reinterpret_cast<void *>( &data ) ) ); 14134 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 14135 { 14136 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Pipeline::getRayTracingShaderGroupHandleNV" ); 14137 } 14138 return data; 14139 } 14140 14141 template <typename T> getHandle(size_t dataSize) const14142 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<T> AccelerationStructureNV::getHandle( size_t dataSize ) const 14143 { 14144 VULKAN_HPP_ASSERT( getDispatcher()->vkGetAccelerationStructureHandleNV && 14145 "Function <vkGetAccelerationStructureHandleNV> needs extension <VK_NV_ray_tracing> enabled!" ); 14146 14147 VULKAN_HPP_ASSERT( dataSize % sizeof( T ) == 0 ); 14148 std::vector<T> data( dataSize / sizeof( T ) ); 14149 Result result = static_cast<Result>( getDispatcher()->vkGetAccelerationStructureHandleNV( 14150 static_cast<VkDevice>( m_device ), 14151 static_cast<VkAccelerationStructureNV>( m_accelerationStructureNV ), 14152 data.size() * sizeof( T ), 14153 reinterpret_cast<void *>( data.data() ) ) ); 14154 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 14155 { 14156 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::AccelerationStructureNV::getHandle" ); 14157 } 14158 return data; 14159 } 14160 14161 template <typename T> getHandle() const14162 VULKAN_HPP_NODISCARD T AccelerationStructureNV::getHandle() const 14163 { 14164 T data; 14165 Result result = static_cast<Result>( getDispatcher()->vkGetAccelerationStructureHandleNV( 14166 static_cast<VkDevice>( m_device ), 14167 static_cast<VkAccelerationStructureNV>( m_accelerationStructureNV ), 14168 sizeof( T ), 14169 reinterpret_cast<void *>( &data ) ) ); 14170 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 14171 { 14172 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::AccelerationStructureNV::getHandle" ); 14173 } 14174 return data; 14175 } 14176 writeAccelerationStructuresPropertiesNV(ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureNV> const & accelerationStructures,VULKAN_HPP_NAMESPACE::QueryType queryType,VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t firstQuery) const14177 VULKAN_HPP_INLINE void CommandBuffer::writeAccelerationStructuresPropertiesNV( 14178 ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureNV> const & accelerationStructures, 14179 VULKAN_HPP_NAMESPACE::QueryType queryType, 14180 VULKAN_HPP_NAMESPACE::QueryPool queryPool, 14181 uint32_t firstQuery ) const VULKAN_HPP_NOEXCEPT 14182 { 14183 VULKAN_HPP_ASSERT( 14184 getDispatcher()->vkCmdWriteAccelerationStructuresPropertiesNV && 14185 "Function <vkCmdWriteAccelerationStructuresPropertiesNV> needs extension <VK_NV_ray_tracing> enabled!" ); 14186 14187 getDispatcher()->vkCmdWriteAccelerationStructuresPropertiesNV( 14188 static_cast<VkCommandBuffer>( m_commandBuffer ), 14189 accelerationStructures.size(), 14190 reinterpret_cast<const VkAccelerationStructureNV *>( accelerationStructures.data() ), 14191 static_cast<VkQueryType>( queryType ), 14192 static_cast<VkQueryPool>( queryPool ), 14193 firstQuery ); 14194 } 14195 compileDeferredNV(uint32_t shader) const14196 VULKAN_HPP_INLINE void Pipeline::compileDeferredNV( uint32_t shader ) const 14197 { 14198 VULKAN_HPP_ASSERT( getDispatcher()->vkCompileDeferredNV && 14199 "Function <vkCompileDeferredNV> needs extension <VK_NV_ray_tracing> enabled!" ); 14200 14201 VULKAN_HPP_NAMESPACE::Result result = 14202 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCompileDeferredNV( 14203 static_cast<VkDevice>( m_device ), static_cast<VkPipeline>( m_pipeline ), shader ) ); 14204 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 14205 { 14206 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Pipeline::compileDeferredNV" ); 14207 } 14208 } 14209 14210 //=== VK_KHR_maintenance3 === 14211 14212 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport getDescriptorSetLayoutSupportKHR(const DescriptorSetLayoutCreateInfo & createInfo) const14213 Device::getDescriptorSetLayoutSupportKHR( const DescriptorSetLayoutCreateInfo & createInfo ) const 14214 VULKAN_HPP_NOEXCEPT 14215 { 14216 VULKAN_HPP_ASSERT( 14217 getDispatcher()->vkGetDescriptorSetLayoutSupportKHR && 14218 "Function <vkGetDescriptorSetLayoutSupportKHR> needs extension <VK_KHR_maintenance3> enabled!" ); 14219 14220 VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport support; 14221 getDispatcher()->vkGetDescriptorSetLayoutSupportKHR( 14222 static_cast<VkDevice>( m_device ), 14223 reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( &createInfo ), 14224 reinterpret_cast<VkDescriptorSetLayoutSupport *>( &support ) ); 14225 return support; 14226 } 14227 14228 template <typename X, typename Y, typename... Z> getDescriptorSetLayoutSupportKHR(const DescriptorSetLayoutCreateInfo & createInfo) const14229 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> Device::getDescriptorSetLayoutSupportKHR( 14230 const DescriptorSetLayoutCreateInfo & createInfo ) const VULKAN_HPP_NOEXCEPT 14231 { 14232 VULKAN_HPP_ASSERT( 14233 getDispatcher()->vkGetDescriptorSetLayoutSupportKHR && 14234 "Function <vkGetDescriptorSetLayoutSupportKHR> needs extension <VK_KHR_maintenance3> enabled!" ); 14235 14236 StructureChain<X, Y, Z...> structureChain; 14237 VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport & support = 14238 structureChain.template get<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport>(); 14239 getDispatcher()->vkGetDescriptorSetLayoutSupportKHR( 14240 static_cast<VkDevice>( m_device ), 14241 reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( &createInfo ), 14242 reinterpret_cast<VkDescriptorSetLayoutSupport *>( &support ) ); 14243 return structureChain; 14244 } 14245 14246 //=== VK_KHR_draw_indirect_count === 14247 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) const14248 VULKAN_HPP_INLINE void CommandBuffer::drawIndirectCountKHR( VULKAN_HPP_NAMESPACE::Buffer buffer, 14249 VULKAN_HPP_NAMESPACE::DeviceSize offset, 14250 VULKAN_HPP_NAMESPACE::Buffer countBuffer, 14251 VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, 14252 uint32_t maxDrawCount, 14253 uint32_t stride ) const VULKAN_HPP_NOEXCEPT 14254 { 14255 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDrawIndirectCountKHR && 14256 "Function <vkCmdDrawIndirectCountKHR> needs extension <VK_KHR_draw_indirect_count> enabled!" ); 14257 14258 getDispatcher()->vkCmdDrawIndirectCountKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 14259 static_cast<VkBuffer>( buffer ), 14260 static_cast<VkDeviceSize>( offset ), 14261 static_cast<VkBuffer>( countBuffer ), 14262 static_cast<VkDeviceSize>( countBufferOffset ), 14263 maxDrawCount, 14264 stride ); 14265 } 14266 14267 VULKAN_HPP_INLINE void 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) const14268 CommandBuffer::drawIndexedIndirectCountKHR( VULKAN_HPP_NAMESPACE::Buffer buffer, 14269 VULKAN_HPP_NAMESPACE::DeviceSize offset, 14270 VULKAN_HPP_NAMESPACE::Buffer countBuffer, 14271 VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, 14272 uint32_t maxDrawCount, 14273 uint32_t stride ) const VULKAN_HPP_NOEXCEPT 14274 { 14275 VULKAN_HPP_ASSERT( 14276 getDispatcher()->vkCmdDrawIndexedIndirectCountKHR && 14277 "Function <vkCmdDrawIndexedIndirectCountKHR> needs extension <VK_KHR_draw_indirect_count> enabled!" ); 14278 14279 getDispatcher()->vkCmdDrawIndexedIndirectCountKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 14280 static_cast<VkBuffer>( buffer ), 14281 static_cast<VkDeviceSize>( offset ), 14282 static_cast<VkBuffer>( countBuffer ), 14283 static_cast<VkDeviceSize>( countBufferOffset ), 14284 maxDrawCount, 14285 stride ); 14286 } 14287 14288 //=== VK_EXT_external_memory_host === 14289 14290 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT getMemoryHostPointerPropertiesEXT(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,const void * pHostPointer) const14291 Device::getMemoryHostPointerPropertiesEXT( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, 14292 const void * pHostPointer ) const 14293 { 14294 VULKAN_HPP_ASSERT( 14295 getDispatcher()->vkGetMemoryHostPointerPropertiesEXT && 14296 "Function <vkGetMemoryHostPointerPropertiesEXT> needs extension <VK_EXT_external_memory_host> enabled!" ); 14297 14298 VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT memoryHostPointerProperties; 14299 VULKAN_HPP_NAMESPACE::Result result = 14300 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetMemoryHostPointerPropertiesEXT( 14301 static_cast<VkDevice>( m_device ), 14302 static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ), 14303 pHostPointer, 14304 reinterpret_cast<VkMemoryHostPointerPropertiesEXT *>( &memoryHostPointerProperties ) ) ); 14305 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 14306 { 14307 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryHostPointerPropertiesEXT" ); 14308 } 14309 return memoryHostPointerProperties; 14310 } 14311 14312 //=== VK_AMD_buffer_marker === 14313 14314 VULKAN_HPP_INLINE void writeBufferMarkerAMD(VULKAN_HPP_NAMESPACE::PipelineStageFlagBits pipelineStage,VULKAN_HPP_NAMESPACE::Buffer dstBuffer,VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,uint32_t marker) const14315 CommandBuffer::writeBufferMarkerAMD( VULKAN_HPP_NAMESPACE::PipelineStageFlagBits pipelineStage, 14316 VULKAN_HPP_NAMESPACE::Buffer dstBuffer, 14317 VULKAN_HPP_NAMESPACE::DeviceSize dstOffset, 14318 uint32_t marker ) const VULKAN_HPP_NOEXCEPT 14319 { 14320 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdWriteBufferMarkerAMD && 14321 "Function <vkCmdWriteBufferMarkerAMD> needs extension <VK_AMD_buffer_marker> enabled!" ); 14322 14323 getDispatcher()->vkCmdWriteBufferMarkerAMD( static_cast<VkCommandBuffer>( m_commandBuffer ), 14324 static_cast<VkPipelineStageFlagBits>( pipelineStage ), 14325 static_cast<VkBuffer>( dstBuffer ), 14326 static_cast<VkDeviceSize>( dstOffset ), 14327 marker ); 14328 } 14329 14330 //=== VK_EXT_calibrated_timestamps === 14331 14332 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::TimeDomainEXT> getCalibrateableTimeDomainsEXT() const14333 PhysicalDevice::getCalibrateableTimeDomainsEXT() const 14334 { 14335 VULKAN_HPP_ASSERT( 14336 getDispatcher()->vkGetPhysicalDeviceCalibrateableTimeDomainsEXT && 14337 "Function <vkGetPhysicalDeviceCalibrateableTimeDomainsEXT> needs extension <VK_EXT_calibrated_timestamps> enabled!" ); 14338 14339 std::vector<VULKAN_HPP_NAMESPACE::TimeDomainEXT> timeDomains; 14340 uint32_t timeDomainCount; 14341 VULKAN_HPP_NAMESPACE::Result result; 14342 do 14343 { 14344 result = 14345 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( 14346 static_cast<VkPhysicalDevice>( m_physicalDevice ), &timeDomainCount, nullptr ) ); 14347 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && timeDomainCount ) 14348 { 14349 timeDomains.resize( timeDomainCount ); 14350 result = 14351 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( 14352 static_cast<VkPhysicalDevice>( m_physicalDevice ), 14353 &timeDomainCount, 14354 reinterpret_cast<VkTimeDomainEXT *>( timeDomains.data() ) ) ); 14355 VULKAN_HPP_ASSERT( timeDomainCount <= timeDomains.size() ); 14356 } 14357 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 14358 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( timeDomainCount < timeDomains.size() ) ) 14359 { 14360 timeDomains.resize( timeDomainCount ); 14361 } 14362 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 14363 { 14364 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCalibrateableTimeDomainsEXT" ); 14365 } 14366 return timeDomains; 14367 } 14368 14369 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::pair<std::vector<uint64_t>, uint64_t> getCalibratedTimestampsEXT(ArrayProxy<const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT> const & timestampInfos) const14370 Device::getCalibratedTimestampsEXT( 14371 ArrayProxy<const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT> const & timestampInfos ) const 14372 { 14373 VULKAN_HPP_ASSERT( 14374 getDispatcher()->vkGetCalibratedTimestampsEXT && 14375 "Function <vkGetCalibratedTimestampsEXT> needs extension <VK_EXT_calibrated_timestamps> enabled!" ); 14376 14377 std::pair<std::vector<uint64_t>, uint64_t> data( 14378 std::piecewise_construct, std::forward_as_tuple( timestampInfos.size() ), std::forward_as_tuple( 0 ) ); 14379 std::vector<uint64_t> & timestamps = data.first; 14380 uint64_t & maxDeviation = data.second; 14381 VULKAN_HPP_NAMESPACE::Result result = 14382 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetCalibratedTimestampsEXT( 14383 static_cast<VkDevice>( m_device ), 14384 timestampInfos.size(), 14385 reinterpret_cast<const VkCalibratedTimestampInfoEXT *>( timestampInfos.data() ), 14386 timestamps.data(), 14387 &maxDeviation ) ); 14388 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 14389 { 14390 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getCalibratedTimestampsEXT" ); 14391 } 14392 return data; 14393 } 14394 14395 //=== VK_NV_mesh_shader === 14396 drawMeshTasksNV(uint32_t taskCount,uint32_t firstTask) const14397 VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksNV( uint32_t taskCount, 14398 uint32_t firstTask ) const VULKAN_HPP_NOEXCEPT 14399 { 14400 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDrawMeshTasksNV && 14401 "Function <vkCmdDrawMeshTasksNV> needs extension <VK_NV_mesh_shader> enabled!" ); 14402 14403 getDispatcher()->vkCmdDrawMeshTasksNV( static_cast<VkCommandBuffer>( m_commandBuffer ), taskCount, firstTask ); 14404 } 14405 drawMeshTasksIndirectNV(VULKAN_HPP_NAMESPACE::Buffer buffer,VULKAN_HPP_NAMESPACE::DeviceSize offset,uint32_t drawCount,uint32_t stride) const14406 VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksIndirectNV( VULKAN_HPP_NAMESPACE::Buffer buffer, 14407 VULKAN_HPP_NAMESPACE::DeviceSize offset, 14408 uint32_t drawCount, 14409 uint32_t stride ) const VULKAN_HPP_NOEXCEPT 14410 { 14411 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDrawMeshTasksIndirectNV && 14412 "Function <vkCmdDrawMeshTasksIndirectNV> needs extension <VK_NV_mesh_shader> enabled!" ); 14413 14414 getDispatcher()->vkCmdDrawMeshTasksIndirectNV( static_cast<VkCommandBuffer>( m_commandBuffer ), 14415 static_cast<VkBuffer>( buffer ), 14416 static_cast<VkDeviceSize>( offset ), 14417 drawCount, 14418 stride ); 14419 } 14420 14421 VULKAN_HPP_INLINE void 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) const14422 CommandBuffer::drawMeshTasksIndirectCountNV( VULKAN_HPP_NAMESPACE::Buffer buffer, 14423 VULKAN_HPP_NAMESPACE::DeviceSize offset, 14424 VULKAN_HPP_NAMESPACE::Buffer countBuffer, 14425 VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, 14426 uint32_t maxDrawCount, 14427 uint32_t stride ) const VULKAN_HPP_NOEXCEPT 14428 { 14429 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDrawMeshTasksIndirectCountNV && 14430 "Function <vkCmdDrawMeshTasksIndirectCountNV> needs extension <VK_NV_mesh_shader> enabled!" ); 14431 14432 getDispatcher()->vkCmdDrawMeshTasksIndirectCountNV( static_cast<VkCommandBuffer>( m_commandBuffer ), 14433 static_cast<VkBuffer>( buffer ), 14434 static_cast<VkDeviceSize>( offset ), 14435 static_cast<VkBuffer>( countBuffer ), 14436 static_cast<VkDeviceSize>( countBufferOffset ), 14437 maxDrawCount, 14438 stride ); 14439 } 14440 14441 //=== VK_NV_scissor_exclusive === 14442 setExclusiveScissorNV(uint32_t firstExclusiveScissor,ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & exclusiveScissors) const14443 VULKAN_HPP_INLINE void CommandBuffer::setExclusiveScissorNV( 14444 uint32_t firstExclusiveScissor, 14445 ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & exclusiveScissors ) const VULKAN_HPP_NOEXCEPT 14446 { 14447 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetExclusiveScissorNV && 14448 "Function <vkCmdSetExclusiveScissorNV> needs extension <VK_NV_scissor_exclusive> enabled!" ); 14449 14450 getDispatcher()->vkCmdSetExclusiveScissorNV( static_cast<VkCommandBuffer>( m_commandBuffer ), 14451 firstExclusiveScissor, 14452 exclusiveScissors.size(), 14453 reinterpret_cast<const VkRect2D *>( exclusiveScissors.data() ) ); 14454 } 14455 14456 //=== VK_NV_device_diagnostic_checkpoints === 14457 setCheckpointNV(const void * pCheckpointMarker) const14458 VULKAN_HPP_INLINE void CommandBuffer::setCheckpointNV( const void * pCheckpointMarker ) const VULKAN_HPP_NOEXCEPT 14459 { 14460 VULKAN_HPP_ASSERT( 14461 getDispatcher()->vkCmdSetCheckpointNV && 14462 "Function <vkCmdSetCheckpointNV> needs extension <VK_NV_device_diagnostic_checkpoints> enabled!" ); 14463 14464 getDispatcher()->vkCmdSetCheckpointNV( static_cast<VkCommandBuffer>( m_commandBuffer ), pCheckpointMarker ); 14465 } 14466 14467 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::CheckpointDataNV> getCheckpointDataNV() const14468 Queue::getCheckpointDataNV() const VULKAN_HPP_NOEXCEPT 14469 { 14470 VULKAN_HPP_ASSERT( 14471 getDispatcher()->vkGetQueueCheckpointDataNV && 14472 "Function <vkGetQueueCheckpointDataNV> needs extension <VK_NV_device_diagnostic_checkpoints> enabled!" ); 14473 14474 uint32_t checkpointDataCount; 14475 getDispatcher()->vkGetQueueCheckpointDataNV( static_cast<VkQueue>( m_queue ), &checkpointDataCount, nullptr ); 14476 std::vector<VULKAN_HPP_NAMESPACE::CheckpointDataNV> checkpointData( checkpointDataCount ); 14477 getDispatcher()->vkGetQueueCheckpointDataNV( static_cast<VkQueue>( m_queue ), 14478 &checkpointDataCount, 14479 reinterpret_cast<VkCheckpointDataNV *>( checkpointData.data() ) ); 14480 VULKAN_HPP_ASSERT( checkpointDataCount <= checkpointData.size() ); 14481 return checkpointData; 14482 } 14483 14484 //=== VK_KHR_timeline_semaphore === 14485 getCounterValueKHR() const14486 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t Semaphore::getCounterValueKHR() const 14487 { 14488 VULKAN_HPP_ASSERT( 14489 getDispatcher()->vkGetSemaphoreCounterValueKHR && 14490 "Function <vkGetSemaphoreCounterValueKHR> needs extension <VK_KHR_timeline_semaphore> enabled!" ); 14491 14492 uint64_t value; 14493 VULKAN_HPP_NAMESPACE::Result result = 14494 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetSemaphoreCounterValueKHR( 14495 static_cast<VkDevice>( m_device ), static_cast<VkSemaphore>( m_semaphore ), &value ) ); 14496 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 14497 { 14498 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Semaphore::getCounterValueKHR" ); 14499 } 14500 return value; 14501 } 14502 14503 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result waitSemaphoresKHR(const SemaphoreWaitInfo & waitInfo,uint64_t timeout) const14504 Device::waitSemaphoresKHR( const SemaphoreWaitInfo & waitInfo, uint64_t timeout ) const 14505 { 14506 VULKAN_HPP_ASSERT( getDispatcher()->vkWaitSemaphoresKHR && 14507 "Function <vkWaitSemaphoresKHR> needs extension <VK_KHR_timeline_semaphore> enabled!" ); 14508 14509 VULKAN_HPP_NAMESPACE::Result result = 14510 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkWaitSemaphoresKHR( 14511 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSemaphoreWaitInfo *>( &waitInfo ), timeout ) ); 14512 if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && 14513 ( result != VULKAN_HPP_NAMESPACE::Result::eTimeout ) ) 14514 { 14515 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::waitSemaphoresKHR" ); 14516 } 14517 return result; 14518 } 14519 signalSemaphoreKHR(const SemaphoreSignalInfo & signalInfo) const14520 VULKAN_HPP_INLINE void Device::signalSemaphoreKHR( const SemaphoreSignalInfo & signalInfo ) const 14521 { 14522 VULKAN_HPP_ASSERT( getDispatcher()->vkSignalSemaphoreKHR && 14523 "Function <vkSignalSemaphoreKHR> needs extension <VK_KHR_timeline_semaphore> enabled!" ); 14524 14525 VULKAN_HPP_NAMESPACE::Result result = 14526 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkSignalSemaphoreKHR( 14527 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSemaphoreSignalInfo *>( &signalInfo ) ) ); 14528 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 14529 { 14530 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::signalSemaphoreKHR" ); 14531 } 14532 } 14533 14534 //=== VK_INTEL_performance_query === 14535 14536 VULKAN_HPP_INLINE void initializePerformanceApiINTEL(const InitializePerformanceApiInfoINTEL & initializeInfo) const14537 Device::initializePerformanceApiINTEL( const InitializePerformanceApiInfoINTEL & initializeInfo ) const 14538 { 14539 VULKAN_HPP_ASSERT( 14540 getDispatcher()->vkInitializePerformanceApiINTEL && 14541 "Function <vkInitializePerformanceApiINTEL> needs extension <VK_INTEL_performance_query> enabled!" ); 14542 14543 VULKAN_HPP_NAMESPACE::Result result = 14544 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkInitializePerformanceApiINTEL( 14545 static_cast<VkDevice>( m_device ), 14546 reinterpret_cast<const VkInitializePerformanceApiInfoINTEL *>( &initializeInfo ) ) ); 14547 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 14548 { 14549 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::initializePerformanceApiINTEL" ); 14550 } 14551 } 14552 uninitializePerformanceApiINTEL() const14553 VULKAN_HPP_INLINE void Device::uninitializePerformanceApiINTEL() const VULKAN_HPP_NOEXCEPT 14554 { 14555 VULKAN_HPP_ASSERT( 14556 getDispatcher()->vkUninitializePerformanceApiINTEL && 14557 "Function <vkUninitializePerformanceApiINTEL> needs extension <VK_INTEL_performance_query> enabled!" ); 14558 14559 getDispatcher()->vkUninitializePerformanceApiINTEL( static_cast<VkDevice>( m_device ) ); 14560 } 14561 14562 VULKAN_HPP_INLINE void setPerformanceMarkerINTEL(const PerformanceMarkerInfoINTEL & markerInfo) const14563 CommandBuffer::setPerformanceMarkerINTEL( const PerformanceMarkerInfoINTEL & markerInfo ) const 14564 { 14565 VULKAN_HPP_ASSERT( 14566 getDispatcher()->vkCmdSetPerformanceMarkerINTEL && 14567 "Function <vkCmdSetPerformanceMarkerINTEL> needs extension <VK_INTEL_performance_query> enabled!" ); 14568 14569 VULKAN_HPP_NAMESPACE::Result result = 14570 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCmdSetPerformanceMarkerINTEL( 14571 static_cast<VkCommandBuffer>( m_commandBuffer ), 14572 reinterpret_cast<const VkPerformanceMarkerInfoINTEL *>( &markerInfo ) ) ); 14573 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 14574 { 14575 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::setPerformanceMarkerINTEL" ); 14576 } 14577 } 14578 14579 VULKAN_HPP_INLINE void setPerformanceStreamMarkerINTEL(const PerformanceStreamMarkerInfoINTEL & markerInfo) const14580 CommandBuffer::setPerformanceStreamMarkerINTEL( const PerformanceStreamMarkerInfoINTEL & markerInfo ) const 14581 { 14582 VULKAN_HPP_ASSERT( 14583 getDispatcher()->vkCmdSetPerformanceStreamMarkerINTEL && 14584 "Function <vkCmdSetPerformanceStreamMarkerINTEL> needs extension <VK_INTEL_performance_query> enabled!" ); 14585 14586 VULKAN_HPP_NAMESPACE::Result result = 14587 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCmdSetPerformanceStreamMarkerINTEL( 14588 static_cast<VkCommandBuffer>( m_commandBuffer ), 14589 reinterpret_cast<const VkPerformanceStreamMarkerInfoINTEL *>( &markerInfo ) ) ); 14590 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 14591 { 14592 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::setPerformanceStreamMarkerINTEL" ); 14593 } 14594 } 14595 14596 VULKAN_HPP_INLINE void setPerformanceOverrideINTEL(const PerformanceOverrideInfoINTEL & overrideInfo) const14597 CommandBuffer::setPerformanceOverrideINTEL( const PerformanceOverrideInfoINTEL & overrideInfo ) const 14598 { 14599 VULKAN_HPP_ASSERT( 14600 getDispatcher()->vkCmdSetPerformanceOverrideINTEL && 14601 "Function <vkCmdSetPerformanceOverrideINTEL> needs extension <VK_INTEL_performance_query> enabled!" ); 14602 14603 VULKAN_HPP_NAMESPACE::Result result = 14604 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCmdSetPerformanceOverrideINTEL( 14605 static_cast<VkCommandBuffer>( m_commandBuffer ), 14606 reinterpret_cast<const VkPerformanceOverrideInfoINTEL *>( &overrideInfo ) ) ); 14607 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 14608 { 14609 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::setPerformanceOverrideINTEL" ); 14610 } 14611 } 14612 14613 VULKAN_HPP_INLINE void setPerformanceConfigurationINTEL(VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration) const14614 Queue::setPerformanceConfigurationINTEL( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration ) const 14615 { 14616 VULKAN_HPP_ASSERT( 14617 getDispatcher()->vkQueueSetPerformanceConfigurationINTEL && 14618 "Function <vkQueueSetPerformanceConfigurationINTEL> needs extension <VK_INTEL_performance_query> enabled!" ); 14619 14620 VULKAN_HPP_NAMESPACE::Result result = 14621 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkQueueSetPerformanceConfigurationINTEL( 14622 static_cast<VkQueue>( m_queue ), static_cast<VkPerformanceConfigurationINTEL>( configuration ) ) ); 14623 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 14624 { 14625 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Queue::setPerformanceConfigurationINTEL" ); 14626 } 14627 } 14628 14629 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PerformanceValueINTEL getPerformanceParameterINTEL(VULKAN_HPP_NAMESPACE::PerformanceParameterTypeINTEL parameter) const14630 Device::getPerformanceParameterINTEL( VULKAN_HPP_NAMESPACE::PerformanceParameterTypeINTEL parameter ) const 14631 { 14632 VULKAN_HPP_ASSERT( 14633 getDispatcher()->vkGetPerformanceParameterINTEL && 14634 "Function <vkGetPerformanceParameterINTEL> needs extension <VK_INTEL_performance_query> enabled!" ); 14635 14636 VULKAN_HPP_NAMESPACE::PerformanceValueINTEL value; 14637 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 14638 getDispatcher()->vkGetPerformanceParameterINTEL( static_cast<VkDevice>( m_device ), 14639 static_cast<VkPerformanceParameterTypeINTEL>( parameter ), 14640 reinterpret_cast<VkPerformanceValueINTEL *>( &value ) ) ); 14641 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 14642 { 14643 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPerformanceParameterINTEL" ); 14644 } 14645 return value; 14646 } 14647 14648 //=== VK_AMD_display_native_hdr === 14649 14650 VULKAN_HPP_INLINE void setLocalDimmingAMD(VULKAN_HPP_NAMESPACE::Bool32 localDimmingEnable) const14651 SwapchainKHR::setLocalDimmingAMD( VULKAN_HPP_NAMESPACE::Bool32 localDimmingEnable ) const VULKAN_HPP_NOEXCEPT 14652 { 14653 VULKAN_HPP_ASSERT( getDispatcher()->vkSetLocalDimmingAMD && 14654 "Function <vkSetLocalDimmingAMD> needs extension <VK_AMD_display_native_hdr> enabled!" ); 14655 14656 getDispatcher()->vkSetLocalDimmingAMD( static_cast<VkDevice>( m_device ), 14657 static_cast<VkSwapchainKHR>( m_swapchainKHR ), 14658 static_cast<VkBool32>( localDimmingEnable ) ); 14659 } 14660 14661 //=== VK_KHR_fragment_shading_rate === 14662 14663 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR> getFragmentShadingRatesKHR() const14664 PhysicalDevice::getFragmentShadingRatesKHR() const 14665 { 14666 VULKAN_HPP_ASSERT( 14667 getDispatcher()->vkGetPhysicalDeviceFragmentShadingRatesKHR && 14668 "Function <vkGetPhysicalDeviceFragmentShadingRatesKHR> needs extension <VK_KHR_fragment_shading_rate> enabled!" ); 14669 14670 std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR> fragmentShadingRates; 14671 uint32_t fragmentShadingRateCount; 14672 VULKAN_HPP_NAMESPACE::Result result; 14673 do 14674 { 14675 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceFragmentShadingRatesKHR( 14676 static_cast<VkPhysicalDevice>( m_physicalDevice ), &fragmentShadingRateCount, nullptr ) ); 14677 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && fragmentShadingRateCount ) 14678 { 14679 fragmentShadingRates.resize( fragmentShadingRateCount ); 14680 result = 14681 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceFragmentShadingRatesKHR( 14682 static_cast<VkPhysicalDevice>( m_physicalDevice ), 14683 &fragmentShadingRateCount, 14684 reinterpret_cast<VkPhysicalDeviceFragmentShadingRateKHR *>( fragmentShadingRates.data() ) ) ); 14685 VULKAN_HPP_ASSERT( fragmentShadingRateCount <= fragmentShadingRates.size() ); 14686 } 14687 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 14688 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && 14689 ( fragmentShadingRateCount < fragmentShadingRates.size() ) ) 14690 { 14691 fragmentShadingRates.resize( fragmentShadingRateCount ); 14692 } 14693 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 14694 { 14695 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getFragmentShadingRatesKHR" ); 14696 } 14697 return fragmentShadingRates; 14698 } 14699 setFragmentShadingRateKHR(const Extent2D & fragmentSize,const VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR combinerOps[2]) const14700 VULKAN_HPP_INLINE void CommandBuffer::setFragmentShadingRateKHR( 14701 const Extent2D & fragmentSize, 14702 const VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR combinerOps[2] ) const VULKAN_HPP_NOEXCEPT 14703 { 14704 VULKAN_HPP_ASSERT( 14705 getDispatcher()->vkCmdSetFragmentShadingRateKHR && 14706 "Function <vkCmdSetFragmentShadingRateKHR> needs extension <VK_KHR_fragment_shading_rate> enabled!" ); 14707 14708 getDispatcher()->vkCmdSetFragmentShadingRateKHR( 14709 static_cast<VkCommandBuffer>( m_commandBuffer ), 14710 reinterpret_cast<const VkExtent2D *>( &fragmentSize ), 14711 reinterpret_cast<const VkFragmentShadingRateCombinerOpKHR *>( combinerOps ) ); 14712 } 14713 14714 //=== VK_EXT_buffer_device_address === 14715 14716 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceAddress getBufferAddressEXT(const BufferDeviceAddressInfo & info) const14717 Device::getBufferAddressEXT( const BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT 14718 { 14719 VULKAN_HPP_ASSERT( 14720 getDispatcher()->vkGetBufferDeviceAddressEXT && 14721 "Function <vkGetBufferDeviceAddressEXT> needs extension <VK_EXT_buffer_device_address> enabled!" ); 14722 14723 return static_cast<VULKAN_HPP_NAMESPACE::DeviceAddress>( getDispatcher()->vkGetBufferDeviceAddressEXT( 14724 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkBufferDeviceAddressInfo *>( &info ) ) ); 14725 } 14726 14727 //=== VK_EXT_tooling_info === 14728 14729 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolPropertiesEXT> getToolPropertiesEXT() const14730 PhysicalDevice::getToolPropertiesEXT() const 14731 { 14732 VULKAN_HPP_ASSERT( 14733 getDispatcher()->vkGetPhysicalDeviceToolPropertiesEXT && 14734 "Function <vkGetPhysicalDeviceToolPropertiesEXT> needs extension <VK_EXT_tooling_info> enabled!" ); 14735 14736 std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolPropertiesEXT> toolProperties; 14737 uint32_t toolCount; 14738 VULKAN_HPP_NAMESPACE::Result result; 14739 do 14740 { 14741 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceToolPropertiesEXT( 14742 static_cast<VkPhysicalDevice>( m_physicalDevice ), &toolCount, nullptr ) ); 14743 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && toolCount ) 14744 { 14745 toolProperties.resize( toolCount ); 14746 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceToolPropertiesEXT( 14747 static_cast<VkPhysicalDevice>( m_physicalDevice ), 14748 &toolCount, 14749 reinterpret_cast<VkPhysicalDeviceToolPropertiesEXT *>( toolProperties.data() ) ) ); 14750 VULKAN_HPP_ASSERT( toolCount <= toolProperties.size() ); 14751 } 14752 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 14753 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( toolCount < toolProperties.size() ) ) 14754 { 14755 toolProperties.resize( toolCount ); 14756 } 14757 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 14758 { 14759 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getToolPropertiesEXT" ); 14760 } 14761 return toolProperties; 14762 } 14763 14764 //=== VK_NV_cooperative_matrix === 14765 14766 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV> getCooperativeMatrixPropertiesNV() const14767 PhysicalDevice::getCooperativeMatrixPropertiesNV() const 14768 { 14769 VULKAN_HPP_ASSERT( 14770 getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixPropertiesNV && 14771 "Function <vkGetPhysicalDeviceCooperativeMatrixPropertiesNV> needs extension <VK_NV_cooperative_matrix> enabled!" ); 14772 14773 std::vector<VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV> properties; 14774 uint32_t propertyCount; 14775 VULKAN_HPP_NAMESPACE::Result result; 14776 do 14777 { 14778 result = 14779 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( 14780 static_cast<VkPhysicalDevice>( m_physicalDevice ), &propertyCount, nullptr ) ); 14781 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 14782 { 14783 properties.resize( propertyCount ); 14784 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 14785 getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( 14786 static_cast<VkPhysicalDevice>( m_physicalDevice ), 14787 &propertyCount, 14788 reinterpret_cast<VkCooperativeMatrixPropertiesNV *>( properties.data() ) ) ); 14789 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 14790 } 14791 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 14792 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( propertyCount < properties.size() ) ) 14793 { 14794 properties.resize( propertyCount ); 14795 } 14796 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 14797 { 14798 throwResultException( result, 14799 VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixPropertiesNV" ); 14800 } 14801 return properties; 14802 } 14803 14804 //=== VK_NV_coverage_reduction_mode === 14805 14806 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV> getSupportedFramebufferMixedSamplesCombinationsNV() const14807 PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV() const 14808 { 14809 VULKAN_HPP_ASSERT( 14810 getDispatcher()->vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV && 14811 "Function <vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV> needs extension <VK_NV_coverage_reduction_mode> enabled!" ); 14812 14813 std::vector<VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV> combinations; 14814 uint32_t combinationCount; 14815 VULKAN_HPP_NAMESPACE::Result result; 14816 do 14817 { 14818 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 14819 getDispatcher()->vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( 14820 static_cast<VkPhysicalDevice>( m_physicalDevice ), &combinationCount, nullptr ) ); 14821 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && combinationCount ) 14822 { 14823 combinations.resize( combinationCount ); 14824 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 14825 getDispatcher()->vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( 14826 static_cast<VkPhysicalDevice>( m_physicalDevice ), 14827 &combinationCount, 14828 reinterpret_cast<VkFramebufferMixedSamplesCombinationNV *>( combinations.data() ) ) ); 14829 VULKAN_HPP_ASSERT( combinationCount <= combinations.size() ); 14830 } 14831 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 14832 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( combinationCount < combinations.size() ) ) 14833 { 14834 combinations.resize( combinationCount ); 14835 } 14836 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 14837 { 14838 throwResultException( 14839 result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV" ); 14840 } 14841 return combinations; 14842 } 14843 14844 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 14845 //=== VK_EXT_full_screen_exclusive === 14846 14847 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::PresentModeKHR> getSurfacePresentModes2EXT(const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo) const14848 PhysicalDevice::getSurfacePresentModes2EXT( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const 14849 { 14850 VULKAN_HPP_ASSERT( 14851 getDispatcher()->vkGetPhysicalDeviceSurfacePresentModes2EXT && 14852 "Function <vkGetPhysicalDeviceSurfacePresentModes2EXT> needs extension <VK_EXT_full_screen_exclusive> enabled!" ); 14853 14854 std::vector<VULKAN_HPP_NAMESPACE::PresentModeKHR> presentModes; 14855 uint32_t presentModeCount; 14856 VULKAN_HPP_NAMESPACE::Result result; 14857 do 14858 { 14859 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceSurfacePresentModes2EXT( 14860 static_cast<VkPhysicalDevice>( m_physicalDevice ), 14861 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), 14862 &presentModeCount, 14863 nullptr ) ); 14864 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && presentModeCount ) 14865 { 14866 presentModes.resize( presentModeCount ); 14867 result = 14868 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPhysicalDeviceSurfacePresentModes2EXT( 14869 static_cast<VkPhysicalDevice>( m_physicalDevice ), 14870 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), 14871 &presentModeCount, 14872 reinterpret_cast<VkPresentModeKHR *>( presentModes.data() ) ) ); 14873 VULKAN_HPP_ASSERT( presentModeCount <= presentModes.size() ); 14874 } 14875 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 14876 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( presentModeCount < presentModes.size() ) ) 14877 { 14878 presentModes.resize( presentModeCount ); 14879 } 14880 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 14881 { 14882 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfacePresentModes2EXT" ); 14883 } 14884 return presentModes; 14885 } 14886 acquireFullScreenExclusiveModeEXT() const14887 VULKAN_HPP_INLINE void SwapchainKHR::acquireFullScreenExclusiveModeEXT() const 14888 { 14889 VULKAN_HPP_ASSERT( 14890 getDispatcher()->vkAcquireFullScreenExclusiveModeEXT && 14891 "Function <vkAcquireFullScreenExclusiveModeEXT> needs extension <VK_EXT_full_screen_exclusive> enabled!" ); 14892 14893 VULKAN_HPP_NAMESPACE::Result result = 14894 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkAcquireFullScreenExclusiveModeEXT( 14895 static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ) ) ); 14896 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 14897 { 14898 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::SwapchainKHR::acquireFullScreenExclusiveModeEXT" ); 14899 } 14900 } 14901 releaseFullScreenExclusiveModeEXT() const14902 VULKAN_HPP_INLINE void SwapchainKHR::releaseFullScreenExclusiveModeEXT() const 14903 { 14904 VULKAN_HPP_ASSERT( 14905 getDispatcher()->vkReleaseFullScreenExclusiveModeEXT && 14906 "Function <vkReleaseFullScreenExclusiveModeEXT> needs extension <VK_EXT_full_screen_exclusive> enabled!" ); 14907 14908 VULKAN_HPP_NAMESPACE::Result result = 14909 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkReleaseFullScreenExclusiveModeEXT( 14910 static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ) ) ); 14911 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 14912 { 14913 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::SwapchainKHR::releaseFullScreenExclusiveModeEXT" ); 14914 } 14915 } 14916 14917 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR getGroupSurfacePresentModes2EXT(const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo) const14918 Device::getGroupSurfacePresentModes2EXT( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const 14919 { 14920 VULKAN_HPP_ASSERT( 14921 getDispatcher()->vkGetDeviceGroupSurfacePresentModes2EXT && 14922 "Function <vkGetDeviceGroupSurfacePresentModes2EXT> needs extension <VK_EXT_full_screen_exclusive> enabled!" ); 14923 14924 VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR modes; 14925 VULKAN_HPP_NAMESPACE::Result result = 14926 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetDeviceGroupSurfacePresentModes2EXT( 14927 static_cast<VkDevice>( m_device ), 14928 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), 14929 reinterpret_cast<VkDeviceGroupPresentModeFlagsKHR *>( &modes ) ) ); 14930 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 14931 { 14932 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getGroupSurfacePresentModes2EXT" ); 14933 } 14934 return modes; 14935 } 14936 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 14937 14938 //=== VK_KHR_buffer_device_address === 14939 14940 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceAddress getBufferAddressKHR(const BufferDeviceAddressInfo & info) const14941 Device::getBufferAddressKHR( const BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT 14942 { 14943 VULKAN_HPP_ASSERT( 14944 getDispatcher()->vkGetBufferDeviceAddressKHR && 14945 "Function <vkGetBufferDeviceAddressKHR> needs extension <VK_KHR_buffer_device_address> enabled!" ); 14946 14947 return static_cast<VULKAN_HPP_NAMESPACE::DeviceAddress>( getDispatcher()->vkGetBufferDeviceAddressKHR( 14948 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkBufferDeviceAddressInfo *>( &info ) ) ); 14949 } 14950 14951 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t getBufferOpaqueCaptureAddressKHR(const BufferDeviceAddressInfo & info) const14952 Device::getBufferOpaqueCaptureAddressKHR( const BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT 14953 { 14954 VULKAN_HPP_ASSERT( 14955 getDispatcher()->vkGetBufferOpaqueCaptureAddressKHR && 14956 "Function <vkGetBufferOpaqueCaptureAddressKHR> needs extension <VK_KHR_buffer_device_address> enabled!" ); 14957 14958 return getDispatcher()->vkGetBufferOpaqueCaptureAddressKHR( 14959 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkBufferDeviceAddressInfo *>( &info ) ); 14960 } 14961 getMemoryOpaqueCaptureAddressKHR(const DeviceMemoryOpaqueCaptureAddressInfo & info) const14962 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t Device::getMemoryOpaqueCaptureAddressKHR( 14963 const DeviceMemoryOpaqueCaptureAddressInfo & info ) const VULKAN_HPP_NOEXCEPT 14964 { 14965 VULKAN_HPP_ASSERT( 14966 getDispatcher()->vkGetDeviceMemoryOpaqueCaptureAddressKHR && 14967 "Function <vkGetDeviceMemoryOpaqueCaptureAddressKHR> needs extension <VK_KHR_buffer_device_address> enabled!" ); 14968 14969 return getDispatcher()->vkGetDeviceMemoryOpaqueCaptureAddressKHR( 14970 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkDeviceMemoryOpaqueCaptureAddressInfo *>( &info ) ); 14971 } 14972 14973 //=== VK_EXT_line_rasterization === 14974 setLineStippleEXT(uint32_t lineStippleFactor,uint16_t lineStipplePattern) const14975 VULKAN_HPP_INLINE void CommandBuffer::setLineStippleEXT( uint32_t lineStippleFactor, 14976 uint16_t lineStipplePattern ) const VULKAN_HPP_NOEXCEPT 14977 { 14978 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetLineStippleEXT && 14979 "Function <vkCmdSetLineStippleEXT> needs extension <VK_EXT_line_rasterization> enabled!" ); 14980 14981 getDispatcher()->vkCmdSetLineStippleEXT( 14982 static_cast<VkCommandBuffer>( m_commandBuffer ), lineStippleFactor, lineStipplePattern ); 14983 } 14984 14985 //=== VK_EXT_host_query_reset === 14986 resetEXT(uint32_t firstQuery,uint32_t queryCount) const14987 VULKAN_HPP_INLINE void QueryPool::resetEXT( uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT 14988 { 14989 VULKAN_HPP_ASSERT( getDispatcher()->vkResetQueryPoolEXT && 14990 "Function <vkResetQueryPoolEXT> needs extension <VK_EXT_host_query_reset> enabled!" ); 14991 14992 getDispatcher()->vkResetQueryPoolEXT( 14993 static_cast<VkDevice>( m_device ), static_cast<VkQueryPool>( m_queryPool ), firstQuery, queryCount ); 14994 } 14995 14996 //=== VK_EXT_extended_dynamic_state === 14997 14998 VULKAN_HPP_INLINE void setCullModeEXT(VULKAN_HPP_NAMESPACE::CullModeFlags cullMode) const14999 CommandBuffer::setCullModeEXT( VULKAN_HPP_NAMESPACE::CullModeFlags cullMode ) const VULKAN_HPP_NOEXCEPT 15000 { 15001 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetCullModeEXT && 15002 "Function <vkCmdSetCullModeEXT> needs extension <VK_EXT_extended_dynamic_state> enabled!" ); 15003 15004 getDispatcher()->vkCmdSetCullModeEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 15005 static_cast<VkCullModeFlags>( cullMode ) ); 15006 } 15007 15008 VULKAN_HPP_INLINE void setFrontFaceEXT(VULKAN_HPP_NAMESPACE::FrontFace frontFace) const15009 CommandBuffer::setFrontFaceEXT( VULKAN_HPP_NAMESPACE::FrontFace frontFace ) const VULKAN_HPP_NOEXCEPT 15010 { 15011 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetFrontFaceEXT && 15012 "Function <vkCmdSetFrontFaceEXT> needs extension <VK_EXT_extended_dynamic_state> enabled!" ); 15013 15014 getDispatcher()->vkCmdSetFrontFaceEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 15015 static_cast<VkFrontFace>( frontFace ) ); 15016 } 15017 setPrimitiveTopologyEXT(VULKAN_HPP_NAMESPACE::PrimitiveTopology primitiveTopology) const15018 VULKAN_HPP_INLINE void CommandBuffer::setPrimitiveTopologyEXT( 15019 VULKAN_HPP_NAMESPACE::PrimitiveTopology primitiveTopology ) const VULKAN_HPP_NOEXCEPT 15020 { 15021 VULKAN_HPP_ASSERT( 15022 getDispatcher()->vkCmdSetPrimitiveTopologyEXT && 15023 "Function <vkCmdSetPrimitiveTopologyEXT> needs extension <VK_EXT_extended_dynamic_state> enabled!" ); 15024 15025 getDispatcher()->vkCmdSetPrimitiveTopologyEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 15026 static_cast<VkPrimitiveTopology>( primitiveTopology ) ); 15027 } 15028 setViewportWithCountEXT(ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const & viewports) const15029 VULKAN_HPP_INLINE void CommandBuffer::setViewportWithCountEXT( 15030 ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const & viewports ) const VULKAN_HPP_NOEXCEPT 15031 { 15032 VULKAN_HPP_ASSERT( 15033 getDispatcher()->vkCmdSetViewportWithCountEXT && 15034 "Function <vkCmdSetViewportWithCountEXT> needs extension <VK_EXT_extended_dynamic_state> enabled!" ); 15035 15036 getDispatcher()->vkCmdSetViewportWithCountEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 15037 viewports.size(), 15038 reinterpret_cast<const VkViewport *>( viewports.data() ) ); 15039 } 15040 setScissorWithCountEXT(ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & scissors) const15041 VULKAN_HPP_INLINE void CommandBuffer::setScissorWithCountEXT( 15042 ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & scissors ) const VULKAN_HPP_NOEXCEPT 15043 { 15044 VULKAN_HPP_ASSERT( 15045 getDispatcher()->vkCmdSetScissorWithCountEXT && 15046 "Function <vkCmdSetScissorWithCountEXT> needs extension <VK_EXT_extended_dynamic_state> enabled!" ); 15047 15048 getDispatcher()->vkCmdSetScissorWithCountEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 15049 scissors.size(), 15050 reinterpret_cast<const VkRect2D *>( scissors.data() ) ); 15051 } 15052 bindVertexBuffers2EXT(uint32_t firstBinding,ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers,ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets,ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & sizes,ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & strides) const15053 VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers2EXT( 15054 uint32_t firstBinding, 15055 ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers, 15056 ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets, 15057 ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & sizes, 15058 ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & strides ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS 15059 { 15060 VULKAN_HPP_ASSERT( 15061 getDispatcher()->vkCmdBindVertexBuffers2EXT && 15062 "Function <vkCmdBindVertexBuffers2EXT> needs extension <VK_EXT_extended_dynamic_state> enabled!" ); 15063 15064 # ifdef VULKAN_HPP_NO_EXCEPTIONS 15065 VULKAN_HPP_ASSERT( buffers.size() == offsets.size() ); 15066 VULKAN_HPP_ASSERT( sizes.empty() || buffers.size() == sizes.size() ); 15067 VULKAN_HPP_ASSERT( strides.empty() || buffers.size() == strides.size() ); 15068 # else 15069 if ( buffers.size() != offsets.size() ) 15070 { 15071 throw LogicError( VULKAN_HPP_NAMESPACE_STRING 15072 "::CommandBuffer::bindVertexBuffers2EXT: buffers.size() != offsets.size()" ); 15073 } 15074 if ( !sizes.empty() && buffers.size() != sizes.size() ) 15075 { 15076 throw LogicError( VULKAN_HPP_NAMESPACE_STRING 15077 "::CommandBuffer::bindVertexBuffers2EXT: buffers.size() != sizes.size()" ); 15078 } 15079 if ( !strides.empty() && buffers.size() != strides.size() ) 15080 { 15081 throw LogicError( VULKAN_HPP_NAMESPACE_STRING 15082 "::CommandBuffer::bindVertexBuffers2EXT: buffers.size() != strides.size()" ); 15083 } 15084 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ 15085 15086 getDispatcher()->vkCmdBindVertexBuffers2EXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 15087 firstBinding, 15088 buffers.size(), 15089 reinterpret_cast<const VkBuffer *>( buffers.data() ), 15090 reinterpret_cast<const VkDeviceSize *>( offsets.data() ), 15091 reinterpret_cast<const VkDeviceSize *>( sizes.data() ), 15092 reinterpret_cast<const VkDeviceSize *>( strides.data() ) ); 15093 } 15094 15095 VULKAN_HPP_INLINE void setDepthTestEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 depthTestEnable) const15096 CommandBuffer::setDepthTestEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 depthTestEnable ) const VULKAN_HPP_NOEXCEPT 15097 { 15098 VULKAN_HPP_ASSERT( 15099 getDispatcher()->vkCmdSetDepthTestEnableEXT && 15100 "Function <vkCmdSetDepthTestEnableEXT> needs extension <VK_EXT_extended_dynamic_state> enabled!" ); 15101 15102 getDispatcher()->vkCmdSetDepthTestEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 15103 static_cast<VkBool32>( depthTestEnable ) ); 15104 } 15105 15106 VULKAN_HPP_INLINE void setDepthWriteEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 depthWriteEnable) const15107 CommandBuffer::setDepthWriteEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 depthWriteEnable ) const VULKAN_HPP_NOEXCEPT 15108 { 15109 VULKAN_HPP_ASSERT( 15110 getDispatcher()->vkCmdSetDepthWriteEnableEXT && 15111 "Function <vkCmdSetDepthWriteEnableEXT> needs extension <VK_EXT_extended_dynamic_state> enabled!" ); 15112 15113 getDispatcher()->vkCmdSetDepthWriteEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 15114 static_cast<VkBool32>( depthWriteEnable ) ); 15115 } 15116 15117 VULKAN_HPP_INLINE void setDepthCompareOpEXT(VULKAN_HPP_NAMESPACE::CompareOp depthCompareOp) const15118 CommandBuffer::setDepthCompareOpEXT( VULKAN_HPP_NAMESPACE::CompareOp depthCompareOp ) const VULKAN_HPP_NOEXCEPT 15119 { 15120 VULKAN_HPP_ASSERT( 15121 getDispatcher()->vkCmdSetDepthCompareOpEXT && 15122 "Function <vkCmdSetDepthCompareOpEXT> needs extension <VK_EXT_extended_dynamic_state> enabled!" ); 15123 15124 getDispatcher()->vkCmdSetDepthCompareOpEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 15125 static_cast<VkCompareOp>( depthCompareOp ) ); 15126 } 15127 setDepthBoundsTestEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 depthBoundsTestEnable) const15128 VULKAN_HPP_INLINE void CommandBuffer::setDepthBoundsTestEnableEXT( 15129 VULKAN_HPP_NAMESPACE::Bool32 depthBoundsTestEnable ) const VULKAN_HPP_NOEXCEPT 15130 { 15131 VULKAN_HPP_ASSERT( 15132 getDispatcher()->vkCmdSetDepthBoundsTestEnableEXT && 15133 "Function <vkCmdSetDepthBoundsTestEnableEXT> needs extension <VK_EXT_extended_dynamic_state> enabled!" ); 15134 15135 getDispatcher()->vkCmdSetDepthBoundsTestEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 15136 static_cast<VkBool32>( depthBoundsTestEnable ) ); 15137 } 15138 15139 VULKAN_HPP_INLINE void setStencilTestEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 stencilTestEnable) const15140 CommandBuffer::setStencilTestEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 stencilTestEnable ) const VULKAN_HPP_NOEXCEPT 15141 { 15142 VULKAN_HPP_ASSERT( 15143 getDispatcher()->vkCmdSetStencilTestEnableEXT && 15144 "Function <vkCmdSetStencilTestEnableEXT> needs extension <VK_EXT_extended_dynamic_state> enabled!" ); 15145 15146 getDispatcher()->vkCmdSetStencilTestEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 15147 static_cast<VkBool32>( stencilTestEnable ) ); 15148 } 15149 15150 VULKAN_HPP_INLINE void 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) const15151 CommandBuffer::setStencilOpEXT( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask, 15152 VULKAN_HPP_NAMESPACE::StencilOp failOp, 15153 VULKAN_HPP_NAMESPACE::StencilOp passOp, 15154 VULKAN_HPP_NAMESPACE::StencilOp depthFailOp, 15155 VULKAN_HPP_NAMESPACE::CompareOp compareOp ) const VULKAN_HPP_NOEXCEPT 15156 { 15157 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetStencilOpEXT && 15158 "Function <vkCmdSetStencilOpEXT> needs extension <VK_EXT_extended_dynamic_state> enabled!" ); 15159 15160 getDispatcher()->vkCmdSetStencilOpEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 15161 static_cast<VkStencilFaceFlags>( faceMask ), 15162 static_cast<VkStencilOp>( failOp ), 15163 static_cast<VkStencilOp>( passOp ), 15164 static_cast<VkStencilOp>( depthFailOp ), 15165 static_cast<VkCompareOp>( compareOp ) ); 15166 } 15167 15168 //=== VK_KHR_deferred_host_operations === 15169 getMaxConcurrency() const15170 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint32_t DeferredOperationKHR::getMaxConcurrency() const VULKAN_HPP_NOEXCEPT 15171 { 15172 VULKAN_HPP_ASSERT( 15173 getDispatcher()->vkGetDeferredOperationMaxConcurrencyKHR && 15174 "Function <vkGetDeferredOperationMaxConcurrencyKHR> needs extension <VK_KHR_deferred_host_operations> enabled!" ); 15175 15176 return getDispatcher()->vkGetDeferredOperationMaxConcurrencyKHR( 15177 static_cast<VkDevice>( m_device ), static_cast<VkDeferredOperationKHR>( m_deferredOperationKHR ) ); 15178 } 15179 15180 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result getResult() const15181 DeferredOperationKHR::getResult() const VULKAN_HPP_NOEXCEPT 15182 { 15183 VULKAN_HPP_ASSERT( 15184 getDispatcher()->vkGetDeferredOperationResultKHR && 15185 "Function <vkGetDeferredOperationResultKHR> needs extension <VK_KHR_deferred_host_operations> enabled!" ); 15186 15187 return static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetDeferredOperationResultKHR( 15188 static_cast<VkDevice>( m_device ), static_cast<VkDeferredOperationKHR>( m_deferredOperationKHR ) ) ); 15189 } 15190 join() const15191 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result DeferredOperationKHR::join() const 15192 { 15193 VULKAN_HPP_ASSERT( 15194 getDispatcher()->vkDeferredOperationJoinKHR && 15195 "Function <vkDeferredOperationJoinKHR> needs extension <VK_KHR_deferred_host_operations> enabled!" ); 15196 15197 VULKAN_HPP_NAMESPACE::Result result = 15198 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkDeferredOperationJoinKHR( 15199 static_cast<VkDevice>( m_device ), static_cast<VkDeferredOperationKHR>( m_deferredOperationKHR ) ) ); 15200 if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && 15201 ( result != VULKAN_HPP_NAMESPACE::Result::eThreadDoneKHR ) && 15202 ( result != VULKAN_HPP_NAMESPACE::Result::eThreadIdleKHR ) ) 15203 { 15204 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::DeferredOperationKHR::join" ); 15205 } 15206 return result; 15207 } 15208 15209 //=== VK_KHR_pipeline_executable_properties === 15210 15211 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR> getPipelineExecutablePropertiesKHR(const PipelineInfoKHR & pipelineInfo) const15212 Device::getPipelineExecutablePropertiesKHR( const PipelineInfoKHR & pipelineInfo ) const 15213 { 15214 VULKAN_HPP_ASSERT( 15215 getDispatcher()->vkGetPipelineExecutablePropertiesKHR && 15216 "Function <vkGetPipelineExecutablePropertiesKHR> needs extension <VK_KHR_pipeline_executable_properties> enabled!" ); 15217 15218 std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR> properties; 15219 uint32_t executableCount; 15220 VULKAN_HPP_NAMESPACE::Result result; 15221 do 15222 { 15223 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPipelineExecutablePropertiesKHR( 15224 static_cast<VkDevice>( m_device ), 15225 reinterpret_cast<const VkPipelineInfoKHR *>( &pipelineInfo ), 15226 &executableCount, 15227 nullptr ) ); 15228 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && executableCount ) 15229 { 15230 properties.resize( executableCount ); 15231 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPipelineExecutablePropertiesKHR( 15232 static_cast<VkDevice>( m_device ), 15233 reinterpret_cast<const VkPipelineInfoKHR *>( &pipelineInfo ), 15234 &executableCount, 15235 reinterpret_cast<VkPipelineExecutablePropertiesKHR *>( properties.data() ) ) ); 15236 VULKAN_HPP_ASSERT( executableCount <= properties.size() ); 15237 } 15238 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 15239 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( executableCount < properties.size() ) ) 15240 { 15241 properties.resize( executableCount ); 15242 } 15243 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 15244 { 15245 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineExecutablePropertiesKHR" ); 15246 } 15247 return properties; 15248 } 15249 15250 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticKHR> getPipelineExecutableStatisticsKHR(const PipelineExecutableInfoKHR & executableInfo) const15251 Device::getPipelineExecutableStatisticsKHR( const PipelineExecutableInfoKHR & executableInfo ) const 15252 { 15253 VULKAN_HPP_ASSERT( 15254 getDispatcher()->vkGetPipelineExecutableStatisticsKHR && 15255 "Function <vkGetPipelineExecutableStatisticsKHR> needs extension <VK_KHR_pipeline_executable_properties> enabled!" ); 15256 15257 std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticKHR> statistics; 15258 uint32_t statisticCount; 15259 VULKAN_HPP_NAMESPACE::Result result; 15260 do 15261 { 15262 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPipelineExecutableStatisticsKHR( 15263 static_cast<VkDevice>( m_device ), 15264 reinterpret_cast<const VkPipelineExecutableInfoKHR *>( &executableInfo ), 15265 &statisticCount, 15266 nullptr ) ); 15267 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && statisticCount ) 15268 { 15269 statistics.resize( statisticCount ); 15270 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPipelineExecutableStatisticsKHR( 15271 static_cast<VkDevice>( m_device ), 15272 reinterpret_cast<const VkPipelineExecutableInfoKHR *>( &executableInfo ), 15273 &statisticCount, 15274 reinterpret_cast<VkPipelineExecutableStatisticKHR *>( statistics.data() ) ) ); 15275 VULKAN_HPP_ASSERT( statisticCount <= statistics.size() ); 15276 } 15277 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 15278 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( statisticCount < statistics.size() ) ) 15279 { 15280 statistics.resize( statisticCount ); 15281 } 15282 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 15283 { 15284 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineExecutableStatisticsKHR" ); 15285 } 15286 return statistics; 15287 } 15288 15289 VULKAN_HPP_NODISCARD 15290 VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR> getPipelineExecutableInternalRepresentationsKHR(const PipelineExecutableInfoKHR & executableInfo) const15291 Device::getPipelineExecutableInternalRepresentationsKHR( const PipelineExecutableInfoKHR & executableInfo ) const 15292 { 15293 VULKAN_HPP_ASSERT( 15294 getDispatcher()->vkGetPipelineExecutableInternalRepresentationsKHR && 15295 "Function <vkGetPipelineExecutableInternalRepresentationsKHR> needs extension <VK_KHR_pipeline_executable_properties> enabled!" ); 15296 15297 std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR> internalRepresentations; 15298 uint32_t internalRepresentationCount; 15299 VULKAN_HPP_NAMESPACE::Result result; 15300 do 15301 { 15302 result = 15303 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPipelineExecutableInternalRepresentationsKHR( 15304 static_cast<VkDevice>( m_device ), 15305 reinterpret_cast<const VkPipelineExecutableInfoKHR *>( &executableInfo ), 15306 &internalRepresentationCount, 15307 nullptr ) ); 15308 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && internalRepresentationCount ) 15309 { 15310 internalRepresentations.resize( internalRepresentationCount ); 15311 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 15312 getDispatcher()->vkGetPipelineExecutableInternalRepresentationsKHR( 15313 static_cast<VkDevice>( m_device ), 15314 reinterpret_cast<const VkPipelineExecutableInfoKHR *>( &executableInfo ), 15315 &internalRepresentationCount, 15316 reinterpret_cast<VkPipelineExecutableInternalRepresentationKHR *>( internalRepresentations.data() ) ) ); 15317 VULKAN_HPP_ASSERT( internalRepresentationCount <= internalRepresentations.size() ); 15318 } 15319 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 15320 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && 15321 ( internalRepresentationCount < internalRepresentations.size() ) ) 15322 { 15323 internalRepresentations.resize( internalRepresentationCount ); 15324 } 15325 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 15326 { 15327 throwResultException( result, 15328 VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineExecutableInternalRepresentationsKHR" ); 15329 } 15330 return internalRepresentations; 15331 } 15332 15333 //=== VK_NV_device_generated_commands === 15334 15335 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2 getGeneratedCommandsMemoryRequirementsNV(const GeneratedCommandsMemoryRequirementsInfoNV & info) const15336 Device::getGeneratedCommandsMemoryRequirementsNV( const GeneratedCommandsMemoryRequirementsInfoNV & info ) const 15337 VULKAN_HPP_NOEXCEPT 15338 { 15339 VULKAN_HPP_ASSERT( 15340 getDispatcher()->vkGetGeneratedCommandsMemoryRequirementsNV && 15341 "Function <vkGetGeneratedCommandsMemoryRequirementsNV> needs extension <VK_NV_device_generated_commands> enabled!" ); 15342 15343 VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements; 15344 getDispatcher()->vkGetGeneratedCommandsMemoryRequirementsNV( 15345 static_cast<VkDevice>( m_device ), 15346 reinterpret_cast<const VkGeneratedCommandsMemoryRequirementsInfoNV *>( &info ), 15347 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 15348 return memoryRequirements; 15349 } 15350 15351 template <typename X, typename Y, typename... Z> getGeneratedCommandsMemoryRequirementsNV(const GeneratedCommandsMemoryRequirementsInfoNV & info) const15352 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> Device::getGeneratedCommandsMemoryRequirementsNV( 15353 const GeneratedCommandsMemoryRequirementsInfoNV & info ) const VULKAN_HPP_NOEXCEPT 15354 { 15355 VULKAN_HPP_ASSERT( 15356 getDispatcher()->vkGetGeneratedCommandsMemoryRequirementsNV && 15357 "Function <vkGetGeneratedCommandsMemoryRequirementsNV> needs extension <VK_NV_device_generated_commands> enabled!" ); 15358 15359 StructureChain<X, Y, Z...> structureChain; 15360 VULKAN_HPP_NAMESPACE::MemoryRequirements2 & memoryRequirements = 15361 structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>(); 15362 getDispatcher()->vkGetGeneratedCommandsMemoryRequirementsNV( 15363 static_cast<VkDevice>( m_device ), 15364 reinterpret_cast<const VkGeneratedCommandsMemoryRequirementsInfoNV *>( &info ), 15365 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 15366 return structureChain; 15367 } 15368 preprocessGeneratedCommandsNV(const GeneratedCommandsInfoNV & generatedCommandsInfo) const15369 VULKAN_HPP_INLINE void CommandBuffer::preprocessGeneratedCommandsNV( 15370 const GeneratedCommandsInfoNV & generatedCommandsInfo ) const VULKAN_HPP_NOEXCEPT 15371 { 15372 VULKAN_HPP_ASSERT( 15373 getDispatcher()->vkCmdPreprocessGeneratedCommandsNV && 15374 "Function <vkCmdPreprocessGeneratedCommandsNV> needs extension <VK_NV_device_generated_commands> enabled!" ); 15375 15376 getDispatcher()->vkCmdPreprocessGeneratedCommandsNV( 15377 static_cast<VkCommandBuffer>( m_commandBuffer ), 15378 reinterpret_cast<const VkGeneratedCommandsInfoNV *>( &generatedCommandsInfo ) ); 15379 } 15380 executeGeneratedCommandsNV(VULKAN_HPP_NAMESPACE::Bool32 isPreprocessed,const GeneratedCommandsInfoNV & generatedCommandsInfo) const15381 VULKAN_HPP_INLINE void CommandBuffer::executeGeneratedCommandsNV( 15382 VULKAN_HPP_NAMESPACE::Bool32 isPreprocessed, 15383 const GeneratedCommandsInfoNV & generatedCommandsInfo ) const VULKAN_HPP_NOEXCEPT 15384 { 15385 VULKAN_HPP_ASSERT( 15386 getDispatcher()->vkCmdExecuteGeneratedCommandsNV && 15387 "Function <vkCmdExecuteGeneratedCommandsNV> needs extension <VK_NV_device_generated_commands> enabled!" ); 15388 15389 getDispatcher()->vkCmdExecuteGeneratedCommandsNV( 15390 static_cast<VkCommandBuffer>( m_commandBuffer ), 15391 static_cast<VkBool32>( isPreprocessed ), 15392 reinterpret_cast<const VkGeneratedCommandsInfoNV *>( &generatedCommandsInfo ) ); 15393 } 15394 15395 VULKAN_HPP_INLINE void bindPipelineShaderGroupNV(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,VULKAN_HPP_NAMESPACE::Pipeline pipeline,uint32_t groupIndex) const15396 CommandBuffer::bindPipelineShaderGroupNV( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint, 15397 VULKAN_HPP_NAMESPACE::Pipeline pipeline, 15398 uint32_t groupIndex ) const VULKAN_HPP_NOEXCEPT 15399 { 15400 VULKAN_HPP_ASSERT( 15401 getDispatcher()->vkCmdBindPipelineShaderGroupNV && 15402 "Function <vkCmdBindPipelineShaderGroupNV> needs extension <VK_NV_device_generated_commands> enabled!" ); 15403 15404 getDispatcher()->vkCmdBindPipelineShaderGroupNV( static_cast<VkCommandBuffer>( m_commandBuffer ), 15405 static_cast<VkPipelineBindPoint>( pipelineBindPoint ), 15406 static_cast<VkPipeline>( pipeline ), 15407 groupIndex ); 15408 } 15409 15410 //=== VK_EXT_acquire_drm_display === 15411 acquireDrmDisplayEXT(int32_t drmFd,VULKAN_HPP_NAMESPACE::DisplayKHR display) const15412 VULKAN_HPP_INLINE void PhysicalDevice::acquireDrmDisplayEXT( int32_t drmFd, 15413 VULKAN_HPP_NAMESPACE::DisplayKHR display ) const 15414 { 15415 VULKAN_HPP_ASSERT( getDispatcher()->vkAcquireDrmDisplayEXT && 15416 "Function <vkAcquireDrmDisplayEXT> needs extension <VK_EXT_acquire_drm_display> enabled!" ); 15417 15418 VULKAN_HPP_NAMESPACE::Result result = 15419 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkAcquireDrmDisplayEXT( 15420 static_cast<VkPhysicalDevice>( m_physicalDevice ), drmFd, static_cast<VkDisplayKHR>( display ) ) ); 15421 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 15422 { 15423 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::acquireDrmDisplayEXT" ); 15424 } 15425 } 15426 15427 //=== VK_EXT_private_data === 15428 setPrivateDataEXT(VULKAN_HPP_NAMESPACE::ObjectType objectType_,uint64_t objectHandle,VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot,uint64_t data) const15429 VULKAN_HPP_INLINE void Device::setPrivateDataEXT( VULKAN_HPP_NAMESPACE::ObjectType objectType_, 15430 uint64_t objectHandle, 15431 VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot, 15432 uint64_t data ) const 15433 { 15434 VULKAN_HPP_ASSERT( getDispatcher()->vkSetPrivateDataEXT && 15435 "Function <vkSetPrivateDataEXT> needs extension <VK_EXT_private_data> enabled!" ); 15436 15437 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 15438 getDispatcher()->vkSetPrivateDataEXT( static_cast<VkDevice>( m_device ), 15439 static_cast<VkObjectType>( objectType_ ), 15440 objectHandle, 15441 static_cast<VkPrivateDataSlotEXT>( privateDataSlot ), 15442 data ) ); 15443 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 15444 { 15445 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::setPrivateDataEXT" ); 15446 } 15447 } 15448 15449 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t getPrivateDataEXT(VULKAN_HPP_NAMESPACE::ObjectType objectType_,uint64_t objectHandle,VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot) const15450 Device::getPrivateDataEXT( VULKAN_HPP_NAMESPACE::ObjectType objectType_, 15451 uint64_t objectHandle, 15452 VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot ) const VULKAN_HPP_NOEXCEPT 15453 { 15454 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPrivateDataEXT && 15455 "Function <vkGetPrivateDataEXT> needs extension <VK_EXT_private_data> enabled!" ); 15456 15457 uint64_t data; 15458 getDispatcher()->vkGetPrivateDataEXT( static_cast<VkDevice>( m_device ), 15459 static_cast<VkObjectType>( objectType_ ), 15460 objectHandle, 15461 static_cast<VkPrivateDataSlotEXT>( privateDataSlot ), 15462 &data ); 15463 return data; 15464 } 15465 15466 # if defined( VK_ENABLE_BETA_EXTENSIONS ) 15467 //=== VK_KHR_video_encode_queue === 15468 15469 VULKAN_HPP_INLINE void encodeVideoKHR(const VideoEncodeInfoKHR & encodeInfo) const15470 CommandBuffer::encodeVideoKHR( const VideoEncodeInfoKHR & encodeInfo ) const VULKAN_HPP_NOEXCEPT 15471 { 15472 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdEncodeVideoKHR && 15473 "Function <vkCmdEncodeVideoKHR> needs extension <VK_KHR_video_encode_queue> enabled!" ); 15474 15475 getDispatcher()->vkCmdEncodeVideoKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 15476 reinterpret_cast<const VkVideoEncodeInfoKHR *>( &encodeInfo ) ); 15477 } 15478 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ 15479 15480 //=== VK_KHR_synchronization2 === 15481 15482 VULKAN_HPP_INLINE void setEvent2KHR(VULKAN_HPP_NAMESPACE::Event event,const DependencyInfoKHR & dependencyInfo) const15483 CommandBuffer::setEvent2KHR( VULKAN_HPP_NAMESPACE::Event event, 15484 const DependencyInfoKHR & dependencyInfo ) const VULKAN_HPP_NOEXCEPT 15485 { 15486 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetEvent2KHR && 15487 "Function <vkCmdSetEvent2KHR> needs extension <VK_KHR_synchronization2> enabled!" ); 15488 15489 getDispatcher()->vkCmdSetEvent2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 15490 static_cast<VkEvent>( event ), 15491 reinterpret_cast<const VkDependencyInfoKHR *>( &dependencyInfo ) ); 15492 } 15493 15494 VULKAN_HPP_INLINE void resetEvent2KHR(VULKAN_HPP_NAMESPACE::Event event,VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR stageMask) const15495 CommandBuffer::resetEvent2KHR( VULKAN_HPP_NAMESPACE::Event event, 15496 VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR stageMask ) const VULKAN_HPP_NOEXCEPT 15497 { 15498 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdResetEvent2KHR && 15499 "Function <vkCmdResetEvent2KHR> needs extension <VK_KHR_synchronization2> enabled!" ); 15500 15501 getDispatcher()->vkCmdResetEvent2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 15502 static_cast<VkEvent>( event ), 15503 static_cast<VkPipelineStageFlags2KHR>( stageMask ) ); 15504 } 15505 15506 VULKAN_HPP_INLINE void waitEvents2KHR(ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const & events,ArrayProxy<const VULKAN_HPP_NAMESPACE::DependencyInfoKHR> const & dependencyInfos) const15507 CommandBuffer::waitEvents2KHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const & events, 15508 ArrayProxy<const VULKAN_HPP_NAMESPACE::DependencyInfoKHR> const & dependencyInfos ) 15509 const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS 15510 { 15511 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdWaitEvents2KHR && 15512 "Function <vkCmdWaitEvents2KHR> needs extension <VK_KHR_synchronization2> enabled!" ); 15513 15514 # ifdef VULKAN_HPP_NO_EXCEPTIONS 15515 VULKAN_HPP_ASSERT( events.size() == dependencyInfos.size() ); 15516 # else 15517 if ( events.size() != dependencyInfos.size() ) 15518 { 15519 throw LogicError( VULKAN_HPP_NAMESPACE_STRING 15520 "::CommandBuffer::waitEvents2KHR: events.size() != dependencyInfos.size()" ); 15521 } 15522 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ 15523 15524 getDispatcher()->vkCmdWaitEvents2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 15525 events.size(), 15526 reinterpret_cast<const VkEvent *>( events.data() ), 15527 reinterpret_cast<const VkDependencyInfoKHR *>( dependencyInfos.data() ) ); 15528 } 15529 15530 VULKAN_HPP_INLINE void pipelineBarrier2KHR(const DependencyInfoKHR & dependencyInfo) const15531 CommandBuffer::pipelineBarrier2KHR( const DependencyInfoKHR & dependencyInfo ) const VULKAN_HPP_NOEXCEPT 15532 { 15533 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdPipelineBarrier2KHR && 15534 "Function <vkCmdPipelineBarrier2KHR> needs extension <VK_KHR_synchronization2> enabled!" ); 15535 15536 getDispatcher()->vkCmdPipelineBarrier2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 15537 reinterpret_cast<const VkDependencyInfoKHR *>( &dependencyInfo ) ); 15538 } 15539 writeTimestamp2KHR(VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR stage,VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t query) const15540 VULKAN_HPP_INLINE void CommandBuffer::writeTimestamp2KHR( VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR stage, 15541 VULKAN_HPP_NAMESPACE::QueryPool queryPool, 15542 uint32_t query ) const VULKAN_HPP_NOEXCEPT 15543 { 15544 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdWriteTimestamp2KHR && 15545 "Function <vkCmdWriteTimestamp2KHR> needs extension <VK_KHR_synchronization2> enabled!" ); 15546 15547 getDispatcher()->vkCmdWriteTimestamp2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 15548 static_cast<VkPipelineStageFlags2KHR>( stage ), 15549 static_cast<VkQueryPool>( queryPool ), 15550 query ); 15551 } 15552 submit2KHR(ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo2KHR> const & submits,VULKAN_HPP_NAMESPACE::Fence fence) const15553 VULKAN_HPP_INLINE void Queue::submit2KHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo2KHR> const & submits, 15554 VULKAN_HPP_NAMESPACE::Fence fence ) const 15555 { 15556 VULKAN_HPP_ASSERT( getDispatcher()->vkQueueSubmit2KHR && 15557 "Function <vkQueueSubmit2KHR> needs extension <VK_KHR_synchronization2> enabled!" ); 15558 15559 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 15560 getDispatcher()->vkQueueSubmit2KHR( static_cast<VkQueue>( m_queue ), 15561 submits.size(), 15562 reinterpret_cast<const VkSubmitInfo2KHR *>( submits.data() ), 15563 static_cast<VkFence>( fence ) ) ); 15564 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 15565 { 15566 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Queue::submit2KHR" ); 15567 } 15568 } 15569 writeBufferMarker2AMD(VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR stage,VULKAN_HPP_NAMESPACE::Buffer dstBuffer,VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,uint32_t marker) const15570 VULKAN_HPP_INLINE void CommandBuffer::writeBufferMarker2AMD( VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR stage, 15571 VULKAN_HPP_NAMESPACE::Buffer dstBuffer, 15572 VULKAN_HPP_NAMESPACE::DeviceSize dstOffset, 15573 uint32_t marker ) const VULKAN_HPP_NOEXCEPT 15574 { 15575 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdWriteBufferMarker2AMD && 15576 "Function <vkCmdWriteBufferMarker2AMD> needs extension <VK_KHR_synchronization2> enabled!" ); 15577 15578 getDispatcher()->vkCmdWriteBufferMarker2AMD( static_cast<VkCommandBuffer>( m_commandBuffer ), 15579 static_cast<VkPipelineStageFlags2KHR>( stage ), 15580 static_cast<VkBuffer>( dstBuffer ), 15581 static_cast<VkDeviceSize>( dstOffset ), 15582 marker ); 15583 } 15584 15585 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::CheckpointData2NV> getCheckpointData2NV() const15586 Queue::getCheckpointData2NV() const VULKAN_HPP_NOEXCEPT 15587 { 15588 VULKAN_HPP_ASSERT( getDispatcher()->vkGetQueueCheckpointData2NV && 15589 "Function <vkGetQueueCheckpointData2NV> needs extension <VK_KHR_synchronization2> enabled!" ); 15590 15591 uint32_t checkpointDataCount; 15592 getDispatcher()->vkGetQueueCheckpointData2NV( static_cast<VkQueue>( m_queue ), &checkpointDataCount, nullptr ); 15593 std::vector<VULKAN_HPP_NAMESPACE::CheckpointData2NV> checkpointData( checkpointDataCount ); 15594 getDispatcher()->vkGetQueueCheckpointData2NV( static_cast<VkQueue>( m_queue ), 15595 &checkpointDataCount, 15596 reinterpret_cast<VkCheckpointData2NV *>( checkpointData.data() ) ); 15597 VULKAN_HPP_ASSERT( checkpointDataCount <= checkpointData.size() ); 15598 return checkpointData; 15599 } 15600 15601 //=== VK_NV_fragment_shading_rate_enums === 15602 setFragmentShadingRateEnumNV(VULKAN_HPP_NAMESPACE::FragmentShadingRateNV shadingRate,const VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR combinerOps[2]) const15603 VULKAN_HPP_INLINE void CommandBuffer::setFragmentShadingRateEnumNV( 15604 VULKAN_HPP_NAMESPACE::FragmentShadingRateNV shadingRate, 15605 const VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR combinerOps[2] ) const VULKAN_HPP_NOEXCEPT 15606 { 15607 VULKAN_HPP_ASSERT( 15608 getDispatcher()->vkCmdSetFragmentShadingRateEnumNV && 15609 "Function <vkCmdSetFragmentShadingRateEnumNV> needs extension <VK_NV_fragment_shading_rate_enums> enabled!" ); 15610 15611 getDispatcher()->vkCmdSetFragmentShadingRateEnumNV( 15612 static_cast<VkCommandBuffer>( m_commandBuffer ), 15613 static_cast<VkFragmentShadingRateNV>( shadingRate ), 15614 reinterpret_cast<const VkFragmentShadingRateCombinerOpKHR *>( combinerOps ) ); 15615 } 15616 15617 //=== VK_KHR_copy_commands2 === 15618 15619 VULKAN_HPP_INLINE void copyBuffer2KHR(const CopyBufferInfo2KHR & copyBufferInfo) const15620 CommandBuffer::copyBuffer2KHR( const CopyBufferInfo2KHR & copyBufferInfo ) const VULKAN_HPP_NOEXCEPT 15621 { 15622 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyBuffer2KHR && 15623 "Function <vkCmdCopyBuffer2KHR> needs extension <VK_KHR_copy_commands2> enabled!" ); 15624 15625 getDispatcher()->vkCmdCopyBuffer2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 15626 reinterpret_cast<const VkCopyBufferInfo2KHR *>( ©BufferInfo ) ); 15627 } 15628 15629 VULKAN_HPP_INLINE void copyImage2KHR(const CopyImageInfo2KHR & copyImageInfo) const15630 CommandBuffer::copyImage2KHR( const CopyImageInfo2KHR & copyImageInfo ) const VULKAN_HPP_NOEXCEPT 15631 { 15632 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyImage2KHR && 15633 "Function <vkCmdCopyImage2KHR> needs extension <VK_KHR_copy_commands2> enabled!" ); 15634 15635 getDispatcher()->vkCmdCopyImage2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 15636 reinterpret_cast<const VkCopyImageInfo2KHR *>( ©ImageInfo ) ); 15637 } 15638 copyBufferToImage2KHR(const CopyBufferToImageInfo2KHR & copyBufferToImageInfo) const15639 VULKAN_HPP_INLINE void CommandBuffer::copyBufferToImage2KHR( 15640 const CopyBufferToImageInfo2KHR & copyBufferToImageInfo ) const VULKAN_HPP_NOEXCEPT 15641 { 15642 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyBufferToImage2KHR && 15643 "Function <vkCmdCopyBufferToImage2KHR> needs extension <VK_KHR_copy_commands2> enabled!" ); 15644 15645 getDispatcher()->vkCmdCopyBufferToImage2KHR( 15646 static_cast<VkCommandBuffer>( m_commandBuffer ), 15647 reinterpret_cast<const VkCopyBufferToImageInfo2KHR *>( ©BufferToImageInfo ) ); 15648 } 15649 copyImageToBuffer2KHR(const CopyImageToBufferInfo2KHR & copyImageToBufferInfo) const15650 VULKAN_HPP_INLINE void CommandBuffer::copyImageToBuffer2KHR( 15651 const CopyImageToBufferInfo2KHR & copyImageToBufferInfo ) const VULKAN_HPP_NOEXCEPT 15652 { 15653 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyImageToBuffer2KHR && 15654 "Function <vkCmdCopyImageToBuffer2KHR> needs extension <VK_KHR_copy_commands2> enabled!" ); 15655 15656 getDispatcher()->vkCmdCopyImageToBuffer2KHR( 15657 static_cast<VkCommandBuffer>( m_commandBuffer ), 15658 reinterpret_cast<const VkCopyImageToBufferInfo2KHR *>( ©ImageToBufferInfo ) ); 15659 } 15660 15661 VULKAN_HPP_INLINE void blitImage2KHR(const BlitImageInfo2KHR & blitImageInfo) const15662 CommandBuffer::blitImage2KHR( const BlitImageInfo2KHR & blitImageInfo ) const VULKAN_HPP_NOEXCEPT 15663 { 15664 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBlitImage2KHR && 15665 "Function <vkCmdBlitImage2KHR> needs extension <VK_KHR_copy_commands2> enabled!" ); 15666 15667 getDispatcher()->vkCmdBlitImage2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 15668 reinterpret_cast<const VkBlitImageInfo2KHR *>( &blitImageInfo ) ); 15669 } 15670 15671 VULKAN_HPP_INLINE void resolveImage2KHR(const ResolveImageInfo2KHR & resolveImageInfo) const15672 CommandBuffer::resolveImage2KHR( const ResolveImageInfo2KHR & resolveImageInfo ) const VULKAN_HPP_NOEXCEPT 15673 { 15674 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdResolveImage2KHR && 15675 "Function <vkCmdResolveImage2KHR> needs extension <VK_KHR_copy_commands2> enabled!" ); 15676 15677 getDispatcher()->vkCmdResolveImage2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 15678 reinterpret_cast<const VkResolveImageInfo2KHR *>( &resolveImageInfo ) ); 15679 } 15680 15681 # if defined( VK_USE_PLATFORM_WIN32_KHR ) 15682 //=== VK_NV_acquire_winrt_display === 15683 acquireWinrtNV() const15684 VULKAN_HPP_INLINE void DisplayKHR::acquireWinrtNV() const 15685 { 15686 VULKAN_HPP_ASSERT( getDispatcher()->vkAcquireWinrtDisplayNV && 15687 "Function <vkAcquireWinrtDisplayNV> needs extension <VK_NV_acquire_winrt_display> enabled!" ); 15688 15689 VULKAN_HPP_NAMESPACE::Result result = 15690 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkAcquireWinrtDisplayNV( 15691 static_cast<VkPhysicalDevice>( m_physicalDevice ), static_cast<VkDisplayKHR>( m_displayKHR ) ) ); 15692 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 15693 { 15694 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::DisplayKHR::acquireWinrtNV" ); 15695 } 15696 } 15697 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ 15698 15699 # if defined( VK_USE_PLATFORM_DIRECTFB_EXT ) 15700 //=== VK_EXT_directfb_surface === 15701 15702 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Bool32 getDirectFBPresentationSupportEXT(uint32_t queueFamilyIndex,IDirectFB & dfb) const15703 PhysicalDevice::getDirectFBPresentationSupportEXT( uint32_t queueFamilyIndex, 15704 IDirectFB & dfb ) const VULKAN_HPP_NOEXCEPT 15705 { 15706 VULKAN_HPP_ASSERT( 15707 getDispatcher()->vkGetPhysicalDeviceDirectFBPresentationSupportEXT && 15708 "Function <vkGetPhysicalDeviceDirectFBPresentationSupportEXT> needs extension <VK_EXT_directfb_surface> enabled!" ); 15709 15710 return static_cast<VULKAN_HPP_NAMESPACE::Bool32>( 15711 getDispatcher()->vkGetPhysicalDeviceDirectFBPresentationSupportEXT( 15712 static_cast<VkPhysicalDevice>( m_physicalDevice ), queueFamilyIndex, &dfb ) ); 15713 } 15714 # endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/ 15715 15716 //=== VK_KHR_ray_tracing_pipeline === 15717 15718 VULKAN_HPP_INLINE void traceRaysKHR(const StridedDeviceAddressRegionKHR & raygenShaderBindingTable,const StridedDeviceAddressRegionKHR & missShaderBindingTable,const StridedDeviceAddressRegionKHR & hitShaderBindingTable,const StridedDeviceAddressRegionKHR & callableShaderBindingTable,uint32_t width,uint32_t height,uint32_t depth) const15719 CommandBuffer::traceRaysKHR( const StridedDeviceAddressRegionKHR & raygenShaderBindingTable, 15720 const StridedDeviceAddressRegionKHR & missShaderBindingTable, 15721 const StridedDeviceAddressRegionKHR & hitShaderBindingTable, 15722 const StridedDeviceAddressRegionKHR & callableShaderBindingTable, 15723 uint32_t width, 15724 uint32_t height, 15725 uint32_t depth ) const VULKAN_HPP_NOEXCEPT 15726 { 15727 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdTraceRaysKHR && 15728 "Function <vkCmdTraceRaysKHR> needs extension <VK_KHR_ray_tracing_pipeline> enabled!" ); 15729 15730 getDispatcher()->vkCmdTraceRaysKHR( 15731 static_cast<VkCommandBuffer>( m_commandBuffer ), 15732 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &raygenShaderBindingTable ), 15733 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &missShaderBindingTable ), 15734 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &hitShaderBindingTable ), 15735 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &callableShaderBindingTable ), 15736 width, 15737 height, 15738 depth ); 15739 } 15740 15741 template <typename T> 15742 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<T> getRayTracingShaderGroupHandlesKHR(uint32_t firstGroup,uint32_t groupCount,size_t dataSize) const15743 Pipeline::getRayTracingShaderGroupHandlesKHR( uint32_t firstGroup, uint32_t groupCount, size_t dataSize ) const 15744 { 15745 VULKAN_HPP_ASSERT( 15746 getDispatcher()->vkGetRayTracingShaderGroupHandlesKHR && 15747 "Function <vkGetRayTracingShaderGroupHandlesKHR> needs extension <VK_KHR_ray_tracing_pipeline> enabled!" ); 15748 15749 VULKAN_HPP_ASSERT( dataSize % sizeof( T ) == 0 ); 15750 std::vector<T> data( dataSize / sizeof( T ) ); 15751 Result result = static_cast<Result>( 15752 getDispatcher()->vkGetRayTracingShaderGroupHandlesKHR( static_cast<VkDevice>( m_device ), 15753 static_cast<VkPipeline>( m_pipeline ), 15754 firstGroup, 15755 groupCount, 15756 data.size() * sizeof( T ), 15757 reinterpret_cast<void *>( data.data() ) ) ); 15758 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 15759 { 15760 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Pipeline::getRayTracingShaderGroupHandlesKHR" ); 15761 } 15762 return data; 15763 } 15764 15765 template <typename T> getRayTracingShaderGroupHandleKHR(uint32_t firstGroup,uint32_t groupCount) const15766 VULKAN_HPP_NODISCARD T Pipeline::getRayTracingShaderGroupHandleKHR( uint32_t firstGroup, uint32_t groupCount ) const 15767 { 15768 T data; 15769 Result result = static_cast<Result>( 15770 getDispatcher()->vkGetRayTracingShaderGroupHandlesKHR( static_cast<VkDevice>( m_device ), 15771 static_cast<VkPipeline>( m_pipeline ), 15772 firstGroup, 15773 groupCount, 15774 sizeof( T ), 15775 reinterpret_cast<void *>( &data ) ) ); 15776 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 15777 { 15778 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Pipeline::getRayTracingShaderGroupHandleKHR" ); 15779 } 15780 return data; 15781 } 15782 15783 template <typename T> getRayTracingCaptureReplayShaderGroupHandlesKHR(uint32_t firstGroup,uint32_t groupCount,size_t dataSize) const15784 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<T> Pipeline::getRayTracingCaptureReplayShaderGroupHandlesKHR( 15785 uint32_t firstGroup, uint32_t groupCount, size_t dataSize ) const 15786 { 15787 VULKAN_HPP_ASSERT( 15788 getDispatcher()->vkGetRayTracingCaptureReplayShaderGroupHandlesKHR && 15789 "Function <vkGetRayTracingCaptureReplayShaderGroupHandlesKHR> needs extension <VK_KHR_ray_tracing_pipeline> enabled!" ); 15790 15791 VULKAN_HPP_ASSERT( dataSize % sizeof( T ) == 0 ); 15792 std::vector<T> data( dataSize / sizeof( T ) ); 15793 Result result = static_cast<Result>( 15794 getDispatcher()->vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( static_cast<VkDevice>( m_device ), 15795 static_cast<VkPipeline>( m_pipeline ), 15796 firstGroup, 15797 groupCount, 15798 data.size() * sizeof( T ), 15799 reinterpret_cast<void *>( data.data() ) ) ); 15800 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 15801 { 15802 throwResultException( 15803 result, VULKAN_HPP_NAMESPACE_STRING "::Pipeline::getRayTracingCaptureReplayShaderGroupHandlesKHR" ); 15804 } 15805 return data; 15806 } 15807 15808 template <typename T> getRayTracingCaptureReplayShaderGroupHandleKHR(uint32_t firstGroup,uint32_t groupCount) const15809 VULKAN_HPP_NODISCARD T Pipeline::getRayTracingCaptureReplayShaderGroupHandleKHR( uint32_t firstGroup, 15810 uint32_t groupCount ) const 15811 { 15812 T data; 15813 Result result = static_cast<Result>( 15814 getDispatcher()->vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( static_cast<VkDevice>( m_device ), 15815 static_cast<VkPipeline>( m_pipeline ), 15816 firstGroup, 15817 groupCount, 15818 sizeof( T ), 15819 reinterpret_cast<void *>( &data ) ) ); 15820 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 15821 { 15822 throwResultException( 15823 result, VULKAN_HPP_NAMESPACE_STRING "::Pipeline::getRayTracingCaptureReplayShaderGroupHandleKHR" ); 15824 } 15825 return data; 15826 } 15827 traceRaysIndirectKHR(const StridedDeviceAddressRegionKHR & raygenShaderBindingTable,const StridedDeviceAddressRegionKHR & missShaderBindingTable,const StridedDeviceAddressRegionKHR & hitShaderBindingTable,const StridedDeviceAddressRegionKHR & callableShaderBindingTable,VULKAN_HPP_NAMESPACE::DeviceAddress indirectDeviceAddress) const15828 VULKAN_HPP_INLINE void CommandBuffer::traceRaysIndirectKHR( 15829 const StridedDeviceAddressRegionKHR & raygenShaderBindingTable, 15830 const StridedDeviceAddressRegionKHR & missShaderBindingTable, 15831 const StridedDeviceAddressRegionKHR & hitShaderBindingTable, 15832 const StridedDeviceAddressRegionKHR & callableShaderBindingTable, 15833 VULKAN_HPP_NAMESPACE::DeviceAddress indirectDeviceAddress ) const VULKAN_HPP_NOEXCEPT 15834 { 15835 VULKAN_HPP_ASSERT( 15836 getDispatcher()->vkCmdTraceRaysIndirectKHR && 15837 "Function <vkCmdTraceRaysIndirectKHR> needs extension <VK_KHR_ray_tracing_pipeline> enabled!" ); 15838 15839 getDispatcher()->vkCmdTraceRaysIndirectKHR( 15840 static_cast<VkCommandBuffer>( m_commandBuffer ), 15841 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &raygenShaderBindingTable ), 15842 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &missShaderBindingTable ), 15843 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &hitShaderBindingTable ), 15844 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &callableShaderBindingTable ), 15845 static_cast<VkDeviceAddress>( indirectDeviceAddress ) ); 15846 } 15847 15848 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceSize getRayTracingShaderGroupStackSizeKHR(uint32_t group,VULKAN_HPP_NAMESPACE::ShaderGroupShaderKHR groupShader) const15849 Pipeline::getRayTracingShaderGroupStackSizeKHR( 15850 uint32_t group, VULKAN_HPP_NAMESPACE::ShaderGroupShaderKHR groupShader ) const VULKAN_HPP_NOEXCEPT 15851 { 15852 VULKAN_HPP_ASSERT( 15853 getDispatcher()->vkGetRayTracingShaderGroupStackSizeKHR && 15854 "Function <vkGetRayTracingShaderGroupStackSizeKHR> needs extension <VK_KHR_ray_tracing_pipeline> enabled!" ); 15855 15856 return static_cast<VULKAN_HPP_NAMESPACE::DeviceSize>( 15857 getDispatcher()->vkGetRayTracingShaderGroupStackSizeKHR( static_cast<VkDevice>( m_device ), 15858 static_cast<VkPipeline>( m_pipeline ), 15859 group, 15860 static_cast<VkShaderGroupShaderKHR>( groupShader ) ) ); 15861 } 15862 15863 VULKAN_HPP_INLINE void setRayTracingPipelineStackSizeKHR(uint32_t pipelineStackSize) const15864 CommandBuffer::setRayTracingPipelineStackSizeKHR( uint32_t pipelineStackSize ) const VULKAN_HPP_NOEXCEPT 15865 { 15866 VULKAN_HPP_ASSERT( 15867 getDispatcher()->vkCmdSetRayTracingPipelineStackSizeKHR && 15868 "Function <vkCmdSetRayTracingPipelineStackSizeKHR> needs extension <VK_KHR_ray_tracing_pipeline> enabled!" ); 15869 15870 getDispatcher()->vkCmdSetRayTracingPipelineStackSizeKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 15871 pipelineStackSize ); 15872 } 15873 15874 //=== VK_EXT_vertex_input_dynamic_state === 15875 setVertexInputEXT(ArrayProxy<const VULKAN_HPP_NAMESPACE::VertexInputBindingDescription2EXT> const & vertexBindingDescriptions,ArrayProxy<const VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription2EXT> const & vertexAttributeDescriptions) const15876 VULKAN_HPP_INLINE void CommandBuffer::setVertexInputEXT( 15877 ArrayProxy<const VULKAN_HPP_NAMESPACE::VertexInputBindingDescription2EXT> const & vertexBindingDescriptions, 15878 ArrayProxy<const VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription2EXT> const & vertexAttributeDescriptions ) 15879 const VULKAN_HPP_NOEXCEPT 15880 { 15881 VULKAN_HPP_ASSERT( 15882 getDispatcher()->vkCmdSetVertexInputEXT && 15883 "Function <vkCmdSetVertexInputEXT> needs extension <VK_EXT_vertex_input_dynamic_state> enabled!" ); 15884 15885 getDispatcher()->vkCmdSetVertexInputEXT( 15886 static_cast<VkCommandBuffer>( m_commandBuffer ), 15887 vertexBindingDescriptions.size(), 15888 reinterpret_cast<const VkVertexInputBindingDescription2EXT *>( vertexBindingDescriptions.data() ), 15889 vertexAttributeDescriptions.size(), 15890 reinterpret_cast<const VkVertexInputAttributeDescription2EXT *>( vertexAttributeDescriptions.data() ) ); 15891 } 15892 15893 # if defined( VK_USE_PLATFORM_FUCHSIA ) 15894 //=== VK_FUCHSIA_external_memory === 15895 15896 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE zx_handle_t getMemoryZirconHandleFUCHSIA(const MemoryGetZirconHandleInfoFUCHSIA & getZirconHandleInfo) const15897 Device::getMemoryZirconHandleFUCHSIA( const MemoryGetZirconHandleInfoFUCHSIA & getZirconHandleInfo ) const 15898 { 15899 VULKAN_HPP_ASSERT( 15900 getDispatcher()->vkGetMemoryZirconHandleFUCHSIA && 15901 "Function <vkGetMemoryZirconHandleFUCHSIA> needs extension <VK_FUCHSIA_external_memory> enabled!" ); 15902 15903 zx_handle_t zirconHandle; 15904 VULKAN_HPP_NAMESPACE::Result result = 15905 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetMemoryZirconHandleFUCHSIA( 15906 static_cast<VkDevice>( m_device ), 15907 reinterpret_cast<const VkMemoryGetZirconHandleInfoFUCHSIA *>( &getZirconHandleInfo ), 15908 &zirconHandle ) ); 15909 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 15910 { 15911 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryZirconHandleFUCHSIA" ); 15912 } 15913 return zirconHandle; 15914 } 15915 15916 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA getMemoryZirconHandlePropertiesFUCHSIA(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,zx_handle_t zirconHandle) const15917 Device::getMemoryZirconHandlePropertiesFUCHSIA( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, 15918 zx_handle_t zirconHandle ) const 15919 { 15920 VULKAN_HPP_ASSERT( 15921 getDispatcher()->vkGetMemoryZirconHandlePropertiesFUCHSIA && 15922 "Function <vkGetMemoryZirconHandlePropertiesFUCHSIA> needs extension <VK_FUCHSIA_external_memory> enabled!" ); 15923 15924 VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA memoryZirconHandleProperties; 15925 VULKAN_HPP_NAMESPACE::Result result = 15926 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetMemoryZirconHandlePropertiesFUCHSIA( 15927 static_cast<VkDevice>( m_device ), 15928 static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ), 15929 zirconHandle, 15930 reinterpret_cast<VkMemoryZirconHandlePropertiesFUCHSIA *>( &memoryZirconHandleProperties ) ) ); 15931 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 15932 { 15933 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryZirconHandlePropertiesFUCHSIA" ); 15934 } 15935 return memoryZirconHandleProperties; 15936 } 15937 # endif /*VK_USE_PLATFORM_FUCHSIA*/ 15938 15939 # if defined( VK_USE_PLATFORM_FUCHSIA ) 15940 //=== VK_FUCHSIA_external_semaphore === 15941 importSemaphoreZirconHandleFUCHSIA(const ImportSemaphoreZirconHandleInfoFUCHSIA & importSemaphoreZirconHandleInfo) const15942 VULKAN_HPP_INLINE void Device::importSemaphoreZirconHandleFUCHSIA( 15943 const ImportSemaphoreZirconHandleInfoFUCHSIA & importSemaphoreZirconHandleInfo ) const 15944 { 15945 VULKAN_HPP_ASSERT( 15946 getDispatcher()->vkImportSemaphoreZirconHandleFUCHSIA && 15947 "Function <vkImportSemaphoreZirconHandleFUCHSIA> needs extension <VK_FUCHSIA_external_semaphore> enabled!" ); 15948 15949 VULKAN_HPP_NAMESPACE::Result result = 15950 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkImportSemaphoreZirconHandleFUCHSIA( 15951 static_cast<VkDevice>( m_device ), 15952 reinterpret_cast<const VkImportSemaphoreZirconHandleInfoFUCHSIA *>( &importSemaphoreZirconHandleInfo ) ) ); 15953 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 15954 { 15955 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::importSemaphoreZirconHandleFUCHSIA" ); 15956 } 15957 } 15958 15959 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE zx_handle_t getSemaphoreZirconHandleFUCHSIA(const SemaphoreGetZirconHandleInfoFUCHSIA & getZirconHandleInfo) const15960 Device::getSemaphoreZirconHandleFUCHSIA( const SemaphoreGetZirconHandleInfoFUCHSIA & getZirconHandleInfo ) const 15961 { 15962 VULKAN_HPP_ASSERT( 15963 getDispatcher()->vkGetSemaphoreZirconHandleFUCHSIA && 15964 "Function <vkGetSemaphoreZirconHandleFUCHSIA> needs extension <VK_FUCHSIA_external_semaphore> enabled!" ); 15965 15966 zx_handle_t zirconHandle; 15967 VULKAN_HPP_NAMESPACE::Result result = 15968 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetSemaphoreZirconHandleFUCHSIA( 15969 static_cast<VkDevice>( m_device ), 15970 reinterpret_cast<const VkSemaphoreGetZirconHandleInfoFUCHSIA *>( &getZirconHandleInfo ), 15971 &zirconHandle ) ); 15972 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 15973 { 15974 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreZirconHandleFUCHSIA" ); 15975 } 15976 return zirconHandle; 15977 } 15978 # endif /*VK_USE_PLATFORM_FUCHSIA*/ 15979 15980 //=== VK_HUAWEI_subpass_shading === 15981 15982 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::pair<VULKAN_HPP_NAMESPACE::Result, VULKAN_HPP_NAMESPACE::Extent2D> getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI() const15983 RenderPass::getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI() const 15984 { 15985 VULKAN_HPP_ASSERT( 15986 getDispatcher()->vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI && 15987 "Function <vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI> needs extension <VK_HUAWEI_subpass_shading> enabled!" ); 15988 15989 VULKAN_HPP_NAMESPACE::Extent2D maxWorkgroupSize; 15990 VULKAN_HPP_NAMESPACE::Result result = 15991 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( 15992 static_cast<VkDevice>( m_device ), 15993 static_cast<VkRenderPass>( m_renderPass ), 15994 reinterpret_cast<VkExtent2D *>( &maxWorkgroupSize ) ) ); 15995 if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && 15996 ( result != VULKAN_HPP_NAMESPACE::Result::eIncomplete ) ) 15997 { 15998 throwResultException( 15999 result, VULKAN_HPP_NAMESPACE_STRING "::RenderPass::getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" ); 16000 } 16001 return std::make_pair( result, maxWorkgroupSize ); 16002 } 16003 subpassShadingHUAWEI() const16004 VULKAN_HPP_INLINE void CommandBuffer::subpassShadingHUAWEI() const VULKAN_HPP_NOEXCEPT 16005 { 16006 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSubpassShadingHUAWEI && 16007 "Function <vkCmdSubpassShadingHUAWEI> needs extension <VK_HUAWEI_subpass_shading> enabled!" ); 16008 16009 getDispatcher()->vkCmdSubpassShadingHUAWEI( static_cast<VkCommandBuffer>( m_commandBuffer ) ); 16010 } 16011 16012 //=== VK_NV_external_memory_rdma === 16013 16014 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::RemoteAddressNV getMemoryRemoteAddressNV(const MemoryGetRemoteAddressInfoNV & getMemoryRemoteAddressInfo) const16015 Device::getMemoryRemoteAddressNV( const MemoryGetRemoteAddressInfoNV & getMemoryRemoteAddressInfo ) const 16016 { 16017 VULKAN_HPP_ASSERT( 16018 getDispatcher()->vkGetMemoryRemoteAddressNV && 16019 "Function <vkGetMemoryRemoteAddressNV> needs extension <VK_NV_external_memory_rdma> enabled!" ); 16020 16021 VULKAN_HPP_NAMESPACE::RemoteAddressNV address; 16022 VULKAN_HPP_NAMESPACE::Result result = 16023 static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetMemoryRemoteAddressNV( 16024 static_cast<VkDevice>( m_device ), 16025 reinterpret_cast<const VkMemoryGetRemoteAddressInfoNV *>( &getMemoryRemoteAddressInfo ), 16026 reinterpret_cast<VkRemoteAddressNV *>( &address ) ) ); 16027 if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) 16028 { 16029 throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryRemoteAddressNV" ); 16030 } 16031 return address; 16032 } 16033 16034 //=== VK_EXT_extended_dynamic_state2 === 16035 16036 VULKAN_HPP_INLINE void setPatchControlPointsEXT(uint32_t patchControlPoints) const16037 CommandBuffer::setPatchControlPointsEXT( uint32_t patchControlPoints ) const VULKAN_HPP_NOEXCEPT 16038 { 16039 VULKAN_HPP_ASSERT( 16040 getDispatcher()->vkCmdSetPatchControlPointsEXT && 16041 "Function <vkCmdSetPatchControlPointsEXT> needs extension <VK_EXT_extended_dynamic_state2> enabled!" ); 16042 16043 getDispatcher()->vkCmdSetPatchControlPointsEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 16044 patchControlPoints ); 16045 } 16046 setRasterizerDiscardEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 rasterizerDiscardEnable) const16047 VULKAN_HPP_INLINE void CommandBuffer::setRasterizerDiscardEnableEXT( 16048 VULKAN_HPP_NAMESPACE::Bool32 rasterizerDiscardEnable ) const VULKAN_HPP_NOEXCEPT 16049 { 16050 VULKAN_HPP_ASSERT( 16051 getDispatcher()->vkCmdSetRasterizerDiscardEnableEXT && 16052 "Function <vkCmdSetRasterizerDiscardEnableEXT> needs extension <VK_EXT_extended_dynamic_state2> enabled!" ); 16053 16054 getDispatcher()->vkCmdSetRasterizerDiscardEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 16055 static_cast<VkBool32>( rasterizerDiscardEnable ) ); 16056 } 16057 16058 VULKAN_HPP_INLINE void setDepthBiasEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 depthBiasEnable) const16059 CommandBuffer::setDepthBiasEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 depthBiasEnable ) const VULKAN_HPP_NOEXCEPT 16060 { 16061 VULKAN_HPP_ASSERT( 16062 getDispatcher()->vkCmdSetDepthBiasEnableEXT && 16063 "Function <vkCmdSetDepthBiasEnableEXT> needs extension <VK_EXT_extended_dynamic_state2> enabled!" ); 16064 16065 getDispatcher()->vkCmdSetDepthBiasEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 16066 static_cast<VkBool32>( depthBiasEnable ) ); 16067 } 16068 16069 VULKAN_HPP_INLINE void setLogicOpEXT(VULKAN_HPP_NAMESPACE::LogicOp logicOp) const16070 CommandBuffer::setLogicOpEXT( VULKAN_HPP_NAMESPACE::LogicOp logicOp ) const VULKAN_HPP_NOEXCEPT 16071 { 16072 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetLogicOpEXT && 16073 "Function <vkCmdSetLogicOpEXT> needs extension <VK_EXT_extended_dynamic_state2> enabled!" ); 16074 16075 getDispatcher()->vkCmdSetLogicOpEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 16076 static_cast<VkLogicOp>( logicOp ) ); 16077 } 16078 setPrimitiveRestartEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 primitiveRestartEnable) const16079 VULKAN_HPP_INLINE void CommandBuffer::setPrimitiveRestartEnableEXT( 16080 VULKAN_HPP_NAMESPACE::Bool32 primitiveRestartEnable ) const VULKAN_HPP_NOEXCEPT 16081 { 16082 VULKAN_HPP_ASSERT( 16083 getDispatcher()->vkCmdSetPrimitiveRestartEnableEXT && 16084 "Function <vkCmdSetPrimitiveRestartEnableEXT> needs extension <VK_EXT_extended_dynamic_state2> enabled!" ); 16085 16086 getDispatcher()->vkCmdSetPrimitiveRestartEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 16087 static_cast<VkBool32>( primitiveRestartEnable ) ); 16088 } 16089 16090 # if defined( VK_USE_PLATFORM_SCREEN_QNX ) 16091 //=== VK_QNX_screen_surface === 16092 16093 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Bool32 getScreenPresentationSupportQNX(uint32_t queueFamilyIndex,struct _screen_window & window) const16094 PhysicalDevice::getScreenPresentationSupportQNX( uint32_t queueFamilyIndex, 16095 struct _screen_window & window ) const VULKAN_HPP_NOEXCEPT 16096 { 16097 VULKAN_HPP_ASSERT( 16098 getDispatcher()->vkGetPhysicalDeviceScreenPresentationSupportQNX && 16099 "Function <vkGetPhysicalDeviceScreenPresentationSupportQNX> needs extension <VK_QNX_screen_surface> enabled!" ); 16100 16101 return static_cast<VULKAN_HPP_NAMESPACE::Bool32>( 16102 getDispatcher()->vkGetPhysicalDeviceScreenPresentationSupportQNX( 16103 static_cast<VkPhysicalDevice>( m_physicalDevice ), queueFamilyIndex, &window ) ); 16104 } 16105 # endif /*VK_USE_PLATFORM_SCREEN_QNX*/ 16106 16107 //=== VK_EXT_color_write_enable === 16108 setColorWriteEnableEXT(ArrayProxy<const VULKAN_HPP_NAMESPACE::Bool32> const & colorWriteEnables) const16109 VULKAN_HPP_INLINE void CommandBuffer::setColorWriteEnableEXT( 16110 ArrayProxy<const VULKAN_HPP_NAMESPACE::Bool32> const & colorWriteEnables ) const VULKAN_HPP_NOEXCEPT 16111 { 16112 VULKAN_HPP_ASSERT( 16113 getDispatcher()->vkCmdSetColorWriteEnableEXT && 16114 "Function <vkCmdSetColorWriteEnableEXT> needs extension <VK_EXT_color_write_enable> enabled!" ); 16115 16116 getDispatcher()->vkCmdSetColorWriteEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 16117 colorWriteEnables.size(), 16118 reinterpret_cast<const VkBool32 *>( colorWriteEnables.data() ) ); 16119 } 16120 16121 //=== VK_EXT_multi_draw === 16122 16123 VULKAN_HPP_INLINE void drawMultiEXT(ArrayProxy<const VULKAN_HPP_NAMESPACE::MultiDrawInfoEXT> const & vertexInfo,uint32_t instanceCount,uint32_t firstInstance,uint32_t stride) const16124 CommandBuffer::drawMultiEXT( ArrayProxy<const VULKAN_HPP_NAMESPACE::MultiDrawInfoEXT> const & vertexInfo, 16125 uint32_t instanceCount, 16126 uint32_t firstInstance, 16127 uint32_t stride ) const VULKAN_HPP_NOEXCEPT 16128 { 16129 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDrawMultiEXT && 16130 "Function <vkCmdDrawMultiEXT> needs extension <VK_EXT_multi_draw> enabled!" ); 16131 16132 getDispatcher()->vkCmdDrawMultiEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 16133 vertexInfo.size(), 16134 reinterpret_cast<const VkMultiDrawInfoEXT *>( vertexInfo.data() ), 16135 instanceCount, 16136 firstInstance, 16137 stride ); 16138 } 16139 drawMultiIndexedEXT(ArrayProxy<const VULKAN_HPP_NAMESPACE::MultiDrawIndexedInfoEXT> const & indexInfo,uint32_t instanceCount,uint32_t firstInstance,uint32_t stride,Optional<const int32_t> vertexOffset) const16140 VULKAN_HPP_INLINE void CommandBuffer::drawMultiIndexedEXT( 16141 ArrayProxy<const VULKAN_HPP_NAMESPACE::MultiDrawIndexedInfoEXT> const & indexInfo, 16142 uint32_t instanceCount, 16143 uint32_t firstInstance, 16144 uint32_t stride, 16145 Optional<const int32_t> vertexOffset ) const VULKAN_HPP_NOEXCEPT 16146 { 16147 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDrawMultiIndexedEXT && 16148 "Function <vkCmdDrawMultiIndexedEXT> needs extension <VK_EXT_multi_draw> enabled!" ); 16149 16150 getDispatcher()->vkCmdDrawMultiIndexedEXT( 16151 static_cast<VkCommandBuffer>( m_commandBuffer ), 16152 indexInfo.size(), 16153 reinterpret_cast<const VkMultiDrawIndexedInfoEXT *>( indexInfo.data() ), 16154 instanceCount, 16155 firstInstance, 16156 stride, 16157 static_cast<const int32_t *>( vertexOffset ) ); 16158 } 16159 16160 #endif 16161 } // namespace VULKAN_HPP_RAII_NAMESPACE 16162 } // namespace VULKAN_HPP_NAMESPACE 16163 #endif 16164