Mercurial > games > semicongine
comparison fuhtark_test/Vulkan-Headers-1.4.334/include/vulkan/vulkan_raii.hpp @ 1501:f40d9d814c08 default tip main
did: correct vulkan-api generator
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 23:34:29 +0700 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1500:91c8c3b7cbf0 | 1501:f40d9d814c08 |
|---|---|
| 1 // Copyright 2015-2025 The Khronos Group Inc. | |
| 2 // | |
| 3 // SPDX-License-Identifier: Apache-2.0 OR MIT | |
| 4 // | |
| 5 | |
| 6 // This header is generated from the Khronos Vulkan XML API Registry. | |
| 7 | |
| 8 #ifndef VULKAN_RAII_HPP | |
| 9 #define VULKAN_RAII_HPP | |
| 10 | |
| 11 #include <vulkan/vulkan.hpp> | |
| 12 #if !defined( VULKAN_HPP_CXX_MODULE ) | |
| 13 # include <memory> // std::unique_ptr | |
| 14 # include <utility> // std::forward | |
| 15 #endif | |
| 16 | |
| 17 #if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) | |
| 18 namespace VULKAN_HPP_NAMESPACE | |
| 19 { | |
| 20 namespace VULKAN_HPP_RAII_NAMESPACE | |
| 21 { | |
| 22 namespace detail | |
| 23 { | |
| 24 using PFN_dummy = void ( * )(); | |
| 25 | |
| 26 class ContextDispatcher : public ::VULKAN_HPP_NAMESPACE::detail::DispatchLoaderBase | |
| 27 { | |
| 28 public: | |
| 29 ContextDispatcher( PFN_vkGetInstanceProcAddr getProcAddr ) | |
| 30 : vkGetInstanceProcAddr( getProcAddr ) | |
| 31 //=== VK_VERSION_1_0 === | |
| 32 , vkCreateInstance( PFN_vkCreateInstance( getProcAddr( NULL, "vkCreateInstance" ) ) ) | |
| 33 , vkEnumerateInstanceExtensionProperties( | |
| 34 PFN_vkEnumerateInstanceExtensionProperties( getProcAddr( NULL, "vkEnumerateInstanceExtensionProperties" ) ) ) | |
| 35 , vkEnumerateInstanceLayerProperties( PFN_vkEnumerateInstanceLayerProperties( getProcAddr( NULL, "vkEnumerateInstanceLayerProperties" ) ) ) | |
| 36 //=== VK_VERSION_1_1 === | |
| 37 , vkEnumerateInstanceVersion( PFN_vkEnumerateInstanceVersion( getProcAddr( NULL, "vkEnumerateInstanceVersion" ) ) ) | |
| 38 { | |
| 39 } | |
| 40 | |
| 41 public: | |
| 42 PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr = 0; | |
| 43 | |
| 44 //=== VK_VERSION_1_0 === | |
| 45 PFN_vkCreateInstance vkCreateInstance = 0; | |
| 46 PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties = 0; | |
| 47 PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties = 0; | |
| 48 | |
| 49 //=== VK_VERSION_1_1 === | |
| 50 PFN_vkEnumerateInstanceVersion vkEnumerateInstanceVersion = 0; | |
| 51 }; | |
| 52 | |
| 53 class InstanceDispatcher : public ::VULKAN_HPP_NAMESPACE::detail::DispatchLoaderBase | |
| 54 { | |
| 55 public: | |
| 56 InstanceDispatcher( PFN_vkGetInstanceProcAddr getProcAddr, VkInstance instance ) : vkGetInstanceProcAddr( getProcAddr ) | |
| 57 { | |
| 58 //=== VK_VERSION_1_0 === | |
| 59 vkDestroyInstance = PFN_vkDestroyInstance( vkGetInstanceProcAddr( instance, "vkDestroyInstance" ) ); | |
| 60 vkEnumeratePhysicalDevices = PFN_vkEnumeratePhysicalDevices( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDevices" ) ); | |
| 61 vkGetPhysicalDeviceFeatures = PFN_vkGetPhysicalDeviceFeatures( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures" ) ); | |
| 62 vkGetPhysicalDeviceFormatProperties = | |
| 63 PFN_vkGetPhysicalDeviceFormatProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties" ) ); | |
| 64 vkGetPhysicalDeviceImageFormatProperties = | |
| 65 PFN_vkGetPhysicalDeviceImageFormatProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties" ) ); | |
| 66 vkGetPhysicalDeviceProperties = PFN_vkGetPhysicalDeviceProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties" ) ); | |
| 67 vkGetPhysicalDeviceQueueFamilyProperties = | |
| 68 PFN_vkGetPhysicalDeviceQueueFamilyProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties" ) ); | |
| 69 vkGetPhysicalDeviceMemoryProperties = | |
| 70 PFN_vkGetPhysicalDeviceMemoryProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties" ) ); | |
| 71 vkCreateDevice = PFN_vkCreateDevice( vkGetInstanceProcAddr( instance, "vkCreateDevice" ) ); | |
| 72 vkEnumerateDeviceExtensionProperties = | |
| 73 PFN_vkEnumerateDeviceExtensionProperties( vkGetInstanceProcAddr( instance, "vkEnumerateDeviceExtensionProperties" ) ); | |
| 74 vkEnumerateDeviceLayerProperties = PFN_vkEnumerateDeviceLayerProperties( vkGetInstanceProcAddr( instance, "vkEnumerateDeviceLayerProperties" ) ); | |
| 75 vkGetPhysicalDeviceSparseImageFormatProperties = | |
| 76 PFN_vkGetPhysicalDeviceSparseImageFormatProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties" ) ); | |
| 77 | |
| 78 //=== VK_VERSION_1_1 === | |
| 79 vkEnumeratePhysicalDeviceGroups = PFN_vkEnumeratePhysicalDeviceGroups( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceGroups" ) ); | |
| 80 vkGetPhysicalDeviceFeatures2 = PFN_vkGetPhysicalDeviceFeatures2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures2" ) ); | |
| 81 vkGetPhysicalDeviceProperties2 = PFN_vkGetPhysicalDeviceProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties2" ) ); | |
| 82 vkGetPhysicalDeviceFormatProperties2 = | |
| 83 PFN_vkGetPhysicalDeviceFormatProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties2" ) ); | |
| 84 vkGetPhysicalDeviceImageFormatProperties2 = | |
| 85 PFN_vkGetPhysicalDeviceImageFormatProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties2" ) ); | |
| 86 vkGetPhysicalDeviceQueueFamilyProperties2 = | |
| 87 PFN_vkGetPhysicalDeviceQueueFamilyProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties2" ) ); | |
| 88 vkGetPhysicalDeviceMemoryProperties2 = | |
| 89 PFN_vkGetPhysicalDeviceMemoryProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties2" ) ); | |
| 90 vkGetPhysicalDeviceSparseImageFormatProperties2 = | |
| 91 PFN_vkGetPhysicalDeviceSparseImageFormatProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties2" ) ); | |
| 92 vkGetPhysicalDeviceExternalBufferProperties = | |
| 93 PFN_vkGetPhysicalDeviceExternalBufferProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalBufferProperties" ) ); | |
| 94 vkGetPhysicalDeviceExternalFenceProperties = | |
| 95 PFN_vkGetPhysicalDeviceExternalFenceProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalFenceProperties" ) ); | |
| 96 vkGetPhysicalDeviceExternalSemaphoreProperties = | |
| 97 PFN_vkGetPhysicalDeviceExternalSemaphoreProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalSemaphoreProperties" ) ); | |
| 98 | |
| 99 //=== VK_VERSION_1_3 === | |
| 100 vkGetPhysicalDeviceToolProperties = PFN_vkGetPhysicalDeviceToolProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceToolProperties" ) ); | |
| 101 | |
| 102 //=== VK_KHR_surface === | |
| 103 vkDestroySurfaceKHR = PFN_vkDestroySurfaceKHR( vkGetInstanceProcAddr( instance, "vkDestroySurfaceKHR" ) ); | |
| 104 vkGetPhysicalDeviceSurfaceSupportKHR = | |
| 105 PFN_vkGetPhysicalDeviceSurfaceSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceSupportKHR" ) ); | |
| 106 vkGetPhysicalDeviceSurfaceCapabilitiesKHR = | |
| 107 PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR" ) ); | |
| 108 vkGetPhysicalDeviceSurfaceFormatsKHR = | |
| 109 PFN_vkGetPhysicalDeviceSurfaceFormatsKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceFormatsKHR" ) ); | |
| 110 vkGetPhysicalDeviceSurfacePresentModesKHR = | |
| 111 PFN_vkGetPhysicalDeviceSurfacePresentModesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfacePresentModesKHR" ) ); | |
| 112 | |
| 113 //=== VK_KHR_swapchain === | |
| 114 vkGetPhysicalDevicePresentRectanglesKHR = | |
| 115 PFN_vkGetPhysicalDevicePresentRectanglesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDevicePresentRectanglesKHR" ) ); | |
| 116 | |
| 117 //=== VK_KHR_display === | |
| 118 vkGetPhysicalDeviceDisplayPropertiesKHR = | |
| 119 PFN_vkGetPhysicalDeviceDisplayPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPropertiesKHR" ) ); | |
| 120 vkGetPhysicalDeviceDisplayPlanePropertiesKHR = | |
| 121 PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR" ) ); | |
| 122 vkGetDisplayPlaneSupportedDisplaysKHR = | |
| 123 PFN_vkGetDisplayPlaneSupportedDisplaysKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneSupportedDisplaysKHR" ) ); | |
| 124 vkGetDisplayModePropertiesKHR = PFN_vkGetDisplayModePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayModePropertiesKHR" ) ); | |
| 125 vkCreateDisplayModeKHR = PFN_vkCreateDisplayModeKHR( vkGetInstanceProcAddr( instance, "vkCreateDisplayModeKHR" ) ); | |
| 126 vkGetDisplayPlaneCapabilitiesKHR = PFN_vkGetDisplayPlaneCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneCapabilitiesKHR" ) ); | |
| 127 vkCreateDisplayPlaneSurfaceKHR = PFN_vkCreateDisplayPlaneSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateDisplayPlaneSurfaceKHR" ) ); | |
| 128 | |
| 129 # if defined( VK_USE_PLATFORM_XLIB_KHR ) | |
| 130 //=== VK_KHR_xlib_surface === | |
| 131 vkCreateXlibSurfaceKHR = PFN_vkCreateXlibSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateXlibSurfaceKHR" ) ); | |
| 132 vkGetPhysicalDeviceXlibPresentationSupportKHR = | |
| 133 PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceXlibPresentationSupportKHR" ) ); | |
| 134 # endif /*VK_USE_PLATFORM_XLIB_KHR*/ | |
| 135 | |
| 136 # if defined( VK_USE_PLATFORM_XCB_KHR ) | |
| 137 //=== VK_KHR_xcb_surface === | |
| 138 vkCreateXcbSurfaceKHR = PFN_vkCreateXcbSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateXcbSurfaceKHR" ) ); | |
| 139 vkGetPhysicalDeviceXcbPresentationSupportKHR = | |
| 140 PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceXcbPresentationSupportKHR" ) ); | |
| 141 # endif /*VK_USE_PLATFORM_XCB_KHR*/ | |
| 142 | |
| 143 # if defined( VK_USE_PLATFORM_WAYLAND_KHR ) | |
| 144 //=== VK_KHR_wayland_surface === | |
| 145 vkCreateWaylandSurfaceKHR = PFN_vkCreateWaylandSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateWaylandSurfaceKHR" ) ); | |
| 146 vkGetPhysicalDeviceWaylandPresentationSupportKHR = | |
| 147 PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceWaylandPresentationSupportKHR" ) ); | |
| 148 # endif /*VK_USE_PLATFORM_WAYLAND_KHR*/ | |
| 149 | |
| 150 # if defined( VK_USE_PLATFORM_ANDROID_KHR ) | |
| 151 //=== VK_KHR_android_surface === | |
| 152 vkCreateAndroidSurfaceKHR = PFN_vkCreateAndroidSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateAndroidSurfaceKHR" ) ); | |
| 153 # endif /*VK_USE_PLATFORM_ANDROID_KHR*/ | |
| 154 | |
| 155 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 156 //=== VK_KHR_win32_surface === | |
| 157 vkCreateWin32SurfaceKHR = PFN_vkCreateWin32SurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateWin32SurfaceKHR" ) ); | |
| 158 vkGetPhysicalDeviceWin32PresentationSupportKHR = | |
| 159 PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR" ) ); | |
| 160 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 161 | |
| 162 //=== VK_EXT_debug_report === | |
| 163 vkCreateDebugReportCallbackEXT = PFN_vkCreateDebugReportCallbackEXT( vkGetInstanceProcAddr( instance, "vkCreateDebugReportCallbackEXT" ) ); | |
| 164 vkDestroyDebugReportCallbackEXT = PFN_vkDestroyDebugReportCallbackEXT( vkGetInstanceProcAddr( instance, "vkDestroyDebugReportCallbackEXT" ) ); | |
| 165 vkDebugReportMessageEXT = PFN_vkDebugReportMessageEXT( vkGetInstanceProcAddr( instance, "vkDebugReportMessageEXT" ) ); | |
| 166 | |
| 167 //=== VK_KHR_video_queue === | |
| 168 vkGetPhysicalDeviceVideoCapabilitiesKHR = | |
| 169 PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoCapabilitiesKHR" ) ); | |
| 170 vkGetPhysicalDeviceVideoFormatPropertiesKHR = | |
| 171 PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoFormatPropertiesKHR" ) ); | |
| 172 | |
| 173 # if defined( VK_USE_PLATFORM_GGP ) | |
| 174 //=== VK_GGP_stream_descriptor_surface === | |
| 175 vkCreateStreamDescriptorSurfaceGGP = | |
| 176 PFN_vkCreateStreamDescriptorSurfaceGGP( vkGetInstanceProcAddr( instance, "vkCreateStreamDescriptorSurfaceGGP" ) ); | |
| 177 # endif /*VK_USE_PLATFORM_GGP*/ | |
| 178 | |
| 179 //=== VK_NV_external_memory_capabilities === | |
| 180 vkGetPhysicalDeviceExternalImageFormatPropertiesNV = | |
| 181 PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV" ) ); | |
| 182 | |
| 183 //=== VK_KHR_get_physical_device_properties2 === | |
| 184 vkGetPhysicalDeviceFeatures2KHR = PFN_vkGetPhysicalDeviceFeatures2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures2KHR" ) ); | |
| 185 if ( !vkGetPhysicalDeviceFeatures2 ) | |
| 186 vkGetPhysicalDeviceFeatures2 = vkGetPhysicalDeviceFeatures2KHR; | |
| 187 vkGetPhysicalDeviceProperties2KHR = PFN_vkGetPhysicalDeviceProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties2KHR" ) ); | |
| 188 if ( !vkGetPhysicalDeviceProperties2 ) | |
| 189 vkGetPhysicalDeviceProperties2 = vkGetPhysicalDeviceProperties2KHR; | |
| 190 vkGetPhysicalDeviceFormatProperties2KHR = | |
| 191 PFN_vkGetPhysicalDeviceFormatProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties2KHR" ) ); | |
| 192 if ( !vkGetPhysicalDeviceFormatProperties2 ) | |
| 193 vkGetPhysicalDeviceFormatProperties2 = vkGetPhysicalDeviceFormatProperties2KHR; | |
| 194 vkGetPhysicalDeviceImageFormatProperties2KHR = | |
| 195 PFN_vkGetPhysicalDeviceImageFormatProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties2KHR" ) ); | |
| 196 if ( !vkGetPhysicalDeviceImageFormatProperties2 ) | |
| 197 vkGetPhysicalDeviceImageFormatProperties2 = vkGetPhysicalDeviceImageFormatProperties2KHR; | |
| 198 vkGetPhysicalDeviceQueueFamilyProperties2KHR = | |
| 199 PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties2KHR" ) ); | |
| 200 if ( !vkGetPhysicalDeviceQueueFamilyProperties2 ) | |
| 201 vkGetPhysicalDeviceQueueFamilyProperties2 = vkGetPhysicalDeviceQueueFamilyProperties2KHR; | |
| 202 vkGetPhysicalDeviceMemoryProperties2KHR = | |
| 203 PFN_vkGetPhysicalDeviceMemoryProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties2KHR" ) ); | |
| 204 if ( !vkGetPhysicalDeviceMemoryProperties2 ) | |
| 205 vkGetPhysicalDeviceMemoryProperties2 = vkGetPhysicalDeviceMemoryProperties2KHR; | |
| 206 vkGetPhysicalDeviceSparseImageFormatProperties2KHR = | |
| 207 PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR" ) ); | |
| 208 if ( !vkGetPhysicalDeviceSparseImageFormatProperties2 ) | |
| 209 vkGetPhysicalDeviceSparseImageFormatProperties2 = vkGetPhysicalDeviceSparseImageFormatProperties2KHR; | |
| 210 | |
| 211 # if defined( VK_USE_PLATFORM_VI_NN ) | |
| 212 //=== VK_NN_vi_surface === | |
| 213 vkCreateViSurfaceNN = PFN_vkCreateViSurfaceNN( vkGetInstanceProcAddr( instance, "vkCreateViSurfaceNN" ) ); | |
| 214 # endif /*VK_USE_PLATFORM_VI_NN*/ | |
| 215 | |
| 216 //=== VK_KHR_device_group_creation === | |
| 217 vkEnumeratePhysicalDeviceGroupsKHR = | |
| 218 PFN_vkEnumeratePhysicalDeviceGroupsKHR( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceGroupsKHR" ) ); | |
| 219 if ( !vkEnumeratePhysicalDeviceGroups ) | |
| 220 vkEnumeratePhysicalDeviceGroups = vkEnumeratePhysicalDeviceGroupsKHR; | |
| 221 | |
| 222 //=== VK_KHR_external_memory_capabilities === | |
| 223 vkGetPhysicalDeviceExternalBufferPropertiesKHR = | |
| 224 PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalBufferPropertiesKHR" ) ); | |
| 225 if ( !vkGetPhysicalDeviceExternalBufferProperties ) | |
| 226 vkGetPhysicalDeviceExternalBufferProperties = vkGetPhysicalDeviceExternalBufferPropertiesKHR; | |
| 227 | |
| 228 //=== VK_KHR_external_semaphore_capabilities === | |
| 229 vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = | |
| 230 PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR" ) ); | |
| 231 if ( !vkGetPhysicalDeviceExternalSemaphoreProperties ) | |
| 232 vkGetPhysicalDeviceExternalSemaphoreProperties = vkGetPhysicalDeviceExternalSemaphorePropertiesKHR; | |
| 233 | |
| 234 //=== VK_EXT_direct_mode_display === | |
| 235 vkReleaseDisplayEXT = PFN_vkReleaseDisplayEXT( vkGetInstanceProcAddr( instance, "vkReleaseDisplayEXT" ) ); | |
| 236 | |
| 237 # if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT ) | |
| 238 //=== VK_EXT_acquire_xlib_display === | |
| 239 vkAcquireXlibDisplayEXT = PFN_vkAcquireXlibDisplayEXT( vkGetInstanceProcAddr( instance, "vkAcquireXlibDisplayEXT" ) ); | |
| 240 vkGetRandROutputDisplayEXT = PFN_vkGetRandROutputDisplayEXT( vkGetInstanceProcAddr( instance, "vkGetRandROutputDisplayEXT" ) ); | |
| 241 # endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/ | |
| 242 | |
| 243 //=== VK_EXT_display_surface_counter === | |
| 244 vkGetPhysicalDeviceSurfaceCapabilities2EXT = | |
| 245 PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilities2EXT" ) ); | |
| 246 | |
| 247 //=== VK_KHR_external_fence_capabilities === | |
| 248 vkGetPhysicalDeviceExternalFencePropertiesKHR = | |
| 249 PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalFencePropertiesKHR" ) ); | |
| 250 if ( !vkGetPhysicalDeviceExternalFenceProperties ) | |
| 251 vkGetPhysicalDeviceExternalFenceProperties = vkGetPhysicalDeviceExternalFencePropertiesKHR; | |
| 252 | |
| 253 //=== VK_KHR_performance_query === | |
| 254 vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( | |
| 255 vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR" ) ); | |
| 256 vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( | |
| 257 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR" ) ); | |
| 258 | |
| 259 //=== VK_KHR_get_surface_capabilities2 === | |
| 260 vkGetPhysicalDeviceSurfaceCapabilities2KHR = | |
| 261 PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilities2KHR" ) ); | |
| 262 vkGetPhysicalDeviceSurfaceFormats2KHR = | |
| 263 PFN_vkGetPhysicalDeviceSurfaceFormats2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceFormats2KHR" ) ); | |
| 264 | |
| 265 //=== VK_KHR_get_display_properties2 === | |
| 266 vkGetPhysicalDeviceDisplayProperties2KHR = | |
| 267 PFN_vkGetPhysicalDeviceDisplayProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayProperties2KHR" ) ); | |
| 268 vkGetPhysicalDeviceDisplayPlaneProperties2KHR = | |
| 269 PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR" ) ); | |
| 270 vkGetDisplayModeProperties2KHR = PFN_vkGetDisplayModeProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetDisplayModeProperties2KHR" ) ); | |
| 271 vkGetDisplayPlaneCapabilities2KHR = PFN_vkGetDisplayPlaneCapabilities2KHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneCapabilities2KHR" ) ); | |
| 272 | |
| 273 # if defined( VK_USE_PLATFORM_IOS_MVK ) | |
| 274 //=== VK_MVK_ios_surface === | |
| 275 vkCreateIOSSurfaceMVK = PFN_vkCreateIOSSurfaceMVK( vkGetInstanceProcAddr( instance, "vkCreateIOSSurfaceMVK" ) ); | |
| 276 # endif /*VK_USE_PLATFORM_IOS_MVK*/ | |
| 277 | |
| 278 # if defined( VK_USE_PLATFORM_MACOS_MVK ) | |
| 279 //=== VK_MVK_macos_surface === | |
| 280 vkCreateMacOSSurfaceMVK = PFN_vkCreateMacOSSurfaceMVK( vkGetInstanceProcAddr( instance, "vkCreateMacOSSurfaceMVK" ) ); | |
| 281 # endif /*VK_USE_PLATFORM_MACOS_MVK*/ | |
| 282 | |
| 283 //=== VK_EXT_debug_utils === | |
| 284 vkCreateDebugUtilsMessengerEXT = PFN_vkCreateDebugUtilsMessengerEXT( vkGetInstanceProcAddr( instance, "vkCreateDebugUtilsMessengerEXT" ) ); | |
| 285 vkDestroyDebugUtilsMessengerEXT = PFN_vkDestroyDebugUtilsMessengerEXT( vkGetInstanceProcAddr( instance, "vkDestroyDebugUtilsMessengerEXT" ) ); | |
| 286 vkSubmitDebugUtilsMessageEXT = PFN_vkSubmitDebugUtilsMessageEXT( vkGetInstanceProcAddr( instance, "vkSubmitDebugUtilsMessageEXT" ) ); | |
| 287 | |
| 288 //=== VK_EXT_sample_locations === | |
| 289 vkGetPhysicalDeviceMultisamplePropertiesEXT = | |
| 290 PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMultisamplePropertiesEXT" ) ); | |
| 291 | |
| 292 //=== VK_EXT_calibrated_timestamps === | |
| 293 vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = | |
| 294 PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT" ) ); | |
| 295 if ( !vkGetPhysicalDeviceCalibrateableTimeDomainsKHR ) | |
| 296 vkGetPhysicalDeviceCalibrateableTimeDomainsKHR = vkGetPhysicalDeviceCalibrateableTimeDomainsEXT; | |
| 297 | |
| 298 # if defined( VK_USE_PLATFORM_FUCHSIA ) | |
| 299 //=== VK_FUCHSIA_imagepipe_surface === | |
| 300 vkCreateImagePipeSurfaceFUCHSIA = PFN_vkCreateImagePipeSurfaceFUCHSIA( vkGetInstanceProcAddr( instance, "vkCreateImagePipeSurfaceFUCHSIA" ) ); | |
| 301 # endif /*VK_USE_PLATFORM_FUCHSIA*/ | |
| 302 | |
| 303 # if defined( VK_USE_PLATFORM_METAL_EXT ) | |
| 304 //=== VK_EXT_metal_surface === | |
| 305 vkCreateMetalSurfaceEXT = PFN_vkCreateMetalSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateMetalSurfaceEXT" ) ); | |
| 306 # endif /*VK_USE_PLATFORM_METAL_EXT*/ | |
| 307 | |
| 308 //=== VK_KHR_fragment_shading_rate === | |
| 309 vkGetPhysicalDeviceFragmentShadingRatesKHR = | |
| 310 PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFragmentShadingRatesKHR" ) ); | |
| 311 | |
| 312 //=== VK_EXT_tooling_info === | |
| 313 vkGetPhysicalDeviceToolPropertiesEXT = | |
| 314 PFN_vkGetPhysicalDeviceToolPropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceToolPropertiesEXT" ) ); | |
| 315 if ( !vkGetPhysicalDeviceToolProperties ) | |
| 316 vkGetPhysicalDeviceToolProperties = vkGetPhysicalDeviceToolPropertiesEXT; | |
| 317 | |
| 318 //=== VK_NV_cooperative_matrix === | |
| 319 vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = | |
| 320 PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV" ) ); | |
| 321 | |
| 322 //=== VK_NV_coverage_reduction_mode === | |
| 323 vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( | |
| 324 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV" ) ); | |
| 325 | |
| 326 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 327 //=== VK_EXT_full_screen_exclusive === | |
| 328 vkGetPhysicalDeviceSurfacePresentModes2EXT = | |
| 329 PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfacePresentModes2EXT" ) ); | |
| 330 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 331 | |
| 332 //=== VK_EXT_headless_surface === | |
| 333 vkCreateHeadlessSurfaceEXT = PFN_vkCreateHeadlessSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateHeadlessSurfaceEXT" ) ); | |
| 334 | |
| 335 //=== VK_EXT_acquire_drm_display === | |
| 336 vkAcquireDrmDisplayEXT = PFN_vkAcquireDrmDisplayEXT( vkGetInstanceProcAddr( instance, "vkAcquireDrmDisplayEXT" ) ); | |
| 337 vkGetDrmDisplayEXT = PFN_vkGetDrmDisplayEXT( vkGetInstanceProcAddr( instance, "vkGetDrmDisplayEXT" ) ); | |
| 338 | |
| 339 //=== VK_KHR_video_encode_queue === | |
| 340 vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR = PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( | |
| 341 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR" ) ); | |
| 342 | |
| 343 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 344 //=== VK_NV_acquire_winrt_display === | |
| 345 vkAcquireWinrtDisplayNV = PFN_vkAcquireWinrtDisplayNV( vkGetInstanceProcAddr( instance, "vkAcquireWinrtDisplayNV" ) ); | |
| 346 vkGetWinrtDisplayNV = PFN_vkGetWinrtDisplayNV( vkGetInstanceProcAddr( instance, "vkGetWinrtDisplayNV" ) ); | |
| 347 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 348 | |
| 349 # if defined( VK_USE_PLATFORM_DIRECTFB_EXT ) | |
| 350 //=== VK_EXT_directfb_surface === | |
| 351 vkCreateDirectFBSurfaceEXT = PFN_vkCreateDirectFBSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateDirectFBSurfaceEXT" ) ); | |
| 352 vkGetPhysicalDeviceDirectFBPresentationSupportEXT = | |
| 353 PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDirectFBPresentationSupportEXT" ) ); | |
| 354 # endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/ | |
| 355 | |
| 356 # if defined( VK_USE_PLATFORM_SCREEN_QNX ) | |
| 357 //=== VK_QNX_screen_surface === | |
| 358 vkCreateScreenSurfaceQNX = PFN_vkCreateScreenSurfaceQNX( vkGetInstanceProcAddr( instance, "vkCreateScreenSurfaceQNX" ) ); | |
| 359 vkGetPhysicalDeviceScreenPresentationSupportQNX = | |
| 360 PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceScreenPresentationSupportQNX" ) ); | |
| 361 # endif /*VK_USE_PLATFORM_SCREEN_QNX*/ | |
| 362 | |
| 363 //=== VK_ARM_tensors === | |
| 364 vkGetPhysicalDeviceExternalTensorPropertiesARM = | |
| 365 PFN_vkGetPhysicalDeviceExternalTensorPropertiesARM( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalTensorPropertiesARM" ) ); | |
| 366 | |
| 367 //=== VK_NV_optical_flow === | |
| 368 vkGetPhysicalDeviceOpticalFlowImageFormatsNV = | |
| 369 PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceOpticalFlowImageFormatsNV" ) ); | |
| 370 | |
| 371 //=== VK_NV_cooperative_vector === | |
| 372 vkGetPhysicalDeviceCooperativeVectorPropertiesNV = | |
| 373 PFN_vkGetPhysicalDeviceCooperativeVectorPropertiesNV( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCooperativeVectorPropertiesNV" ) ); | |
| 374 | |
| 375 //=== VK_KHR_cooperative_matrix === | |
| 376 vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR = | |
| 377 PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR" ) ); | |
| 378 | |
| 379 //=== VK_ARM_data_graph === | |
| 380 vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM = PFN_vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM( | |
| 381 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM" ) ); | |
| 382 vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM = PFN_vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM( | |
| 383 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM" ) ); | |
| 384 | |
| 385 //=== VK_KHR_calibrated_timestamps === | |
| 386 vkGetPhysicalDeviceCalibrateableTimeDomainsKHR = | |
| 387 PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsKHR" ) ); | |
| 388 | |
| 389 # if defined( VK_USE_PLATFORM_OHOS ) | |
| 390 //=== VK_OHOS_surface === | |
| 391 vkCreateSurfaceOHOS = PFN_vkCreateSurfaceOHOS( vkGetInstanceProcAddr( instance, "vkCreateSurfaceOHOS" ) ); | |
| 392 # endif /*VK_USE_PLATFORM_OHOS*/ | |
| 393 | |
| 394 //=== VK_NV_cooperative_matrix2 === | |
| 395 vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV = PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV( | |
| 396 vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV" ) ); | |
| 397 | |
| 398 //=== VK_ARM_performance_counters_by_region === | |
| 399 vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM = PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM( | |
| 400 vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM" ) ); | |
| 401 | |
| 402 vkGetDeviceProcAddr = PFN_vkGetDeviceProcAddr( vkGetInstanceProcAddr( instance, "vkGetDeviceProcAddr" ) ); | |
| 403 } | |
| 404 | |
| 405 public: | |
| 406 //=== VK_VERSION_1_0 === | |
| 407 PFN_vkDestroyInstance vkDestroyInstance = 0; | |
| 408 PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices = 0; | |
| 409 PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures = 0; | |
| 410 PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties = 0; | |
| 411 PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties = 0; | |
| 412 PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties = 0; | |
| 413 PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties = 0; | |
| 414 PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties = 0; | |
| 415 PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr = 0; | |
| 416 PFN_vkCreateDevice vkCreateDevice = 0; | |
| 417 PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties = 0; | |
| 418 PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties = 0; | |
| 419 PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties = 0; | |
| 420 | |
| 421 //=== VK_VERSION_1_1 === | |
| 422 PFN_vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups = 0; | |
| 423 PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2 = 0; | |
| 424 PFN_vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2 = 0; | |
| 425 PFN_vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2 = 0; | |
| 426 PFN_vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2 = 0; | |
| 427 PFN_vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2 = 0; | |
| 428 PFN_vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2 = 0; | |
| 429 PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2 = 0; | |
| 430 PFN_vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties = 0; | |
| 431 PFN_vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties = 0; | |
| 432 PFN_vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties = 0; | |
| 433 | |
| 434 //=== VK_VERSION_1_3 === | |
| 435 PFN_vkGetPhysicalDeviceToolProperties vkGetPhysicalDeviceToolProperties = 0; | |
| 436 | |
| 437 //=== VK_KHR_surface === | |
| 438 PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR = 0; | |
| 439 PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR = 0; | |
| 440 PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR = 0; | |
| 441 PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR = 0; | |
| 442 PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR = 0; | |
| 443 | |
| 444 //=== VK_KHR_swapchain === | |
| 445 PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR = 0; | |
| 446 | |
| 447 //=== VK_KHR_display === | |
| 448 PFN_vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR = 0; | |
| 449 PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR = 0; | |
| 450 PFN_vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR = 0; | |
| 451 PFN_vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR = 0; | |
| 452 PFN_vkCreateDisplayModeKHR vkCreateDisplayModeKHR = 0; | |
| 453 PFN_vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR = 0; | |
| 454 PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR = 0; | |
| 455 | |
| 456 # if defined( VK_USE_PLATFORM_XLIB_KHR ) | |
| 457 //=== VK_KHR_xlib_surface === | |
| 458 PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR = 0; | |
| 459 PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR = 0; | |
| 460 # else | |
| 461 PFN_dummy vkCreateXlibSurfaceKHR_placeholder = 0; | |
| 462 PFN_dummy vkGetPhysicalDeviceXlibPresentationSupportKHR_placeholder = 0; | |
| 463 # endif /*VK_USE_PLATFORM_XLIB_KHR*/ | |
| 464 | |
| 465 # if defined( VK_USE_PLATFORM_XCB_KHR ) | |
| 466 //=== VK_KHR_xcb_surface === | |
| 467 PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR = 0; | |
| 468 PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR = 0; | |
| 469 # else | |
| 470 PFN_dummy vkCreateXcbSurfaceKHR_placeholder = 0; | |
| 471 PFN_dummy vkGetPhysicalDeviceXcbPresentationSupportKHR_placeholder = 0; | |
| 472 # endif /*VK_USE_PLATFORM_XCB_KHR*/ | |
| 473 | |
| 474 # if defined( VK_USE_PLATFORM_WAYLAND_KHR ) | |
| 475 //=== VK_KHR_wayland_surface === | |
| 476 PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR = 0; | |
| 477 PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR = 0; | |
| 478 # else | |
| 479 PFN_dummy vkCreateWaylandSurfaceKHR_placeholder = 0; | |
| 480 PFN_dummy vkGetPhysicalDeviceWaylandPresentationSupportKHR_placeholder = 0; | |
| 481 # endif /*VK_USE_PLATFORM_WAYLAND_KHR*/ | |
| 482 | |
| 483 # if defined( VK_USE_PLATFORM_ANDROID_KHR ) | |
| 484 //=== VK_KHR_android_surface === | |
| 485 PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR = 0; | |
| 486 # else | |
| 487 PFN_dummy vkCreateAndroidSurfaceKHR_placeholder = 0; | |
| 488 # endif /*VK_USE_PLATFORM_ANDROID_KHR*/ | |
| 489 | |
| 490 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 491 //=== VK_KHR_win32_surface === | |
| 492 PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR = 0; | |
| 493 PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR = 0; | |
| 494 # else | |
| 495 PFN_dummy vkCreateWin32SurfaceKHR_placeholder = 0; | |
| 496 PFN_dummy vkGetPhysicalDeviceWin32PresentationSupportKHR_placeholder = 0; | |
| 497 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 498 | |
| 499 //=== VK_EXT_debug_report === | |
| 500 PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT = 0; | |
| 501 PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT = 0; | |
| 502 PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT = 0; | |
| 503 | |
| 504 //=== VK_KHR_video_queue === | |
| 505 PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR vkGetPhysicalDeviceVideoCapabilitiesKHR = 0; | |
| 506 PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR = 0; | |
| 507 | |
| 508 # if defined( VK_USE_PLATFORM_GGP ) | |
| 509 //=== VK_GGP_stream_descriptor_surface === | |
| 510 PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP = 0; | |
| 511 # else | |
| 512 PFN_dummy vkCreateStreamDescriptorSurfaceGGP_placeholder = 0; | |
| 513 # endif /*VK_USE_PLATFORM_GGP*/ | |
| 514 | |
| 515 //=== VK_NV_external_memory_capabilities === | |
| 516 PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV = 0; | |
| 517 | |
| 518 //=== VK_KHR_get_physical_device_properties2 === | |
| 519 PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR = 0; | |
| 520 PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR = 0; | |
| 521 PFN_vkGetPhysicalDeviceFormatProperties2KHR vkGetPhysicalDeviceFormatProperties2KHR = 0; | |
| 522 PFN_vkGetPhysicalDeviceImageFormatProperties2KHR vkGetPhysicalDeviceImageFormatProperties2KHR = 0; | |
| 523 PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR vkGetPhysicalDeviceQueueFamilyProperties2KHR = 0; | |
| 524 PFN_vkGetPhysicalDeviceMemoryProperties2KHR vkGetPhysicalDeviceMemoryProperties2KHR = 0; | |
| 525 PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR = 0; | |
| 526 | |
| 527 # if defined( VK_USE_PLATFORM_VI_NN ) | |
| 528 //=== VK_NN_vi_surface === | |
| 529 PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN = 0; | |
| 530 # else | |
| 531 PFN_dummy vkCreateViSurfaceNN_placeholder = 0; | |
| 532 # endif /*VK_USE_PLATFORM_VI_NN*/ | |
| 533 | |
| 534 //=== VK_KHR_device_group_creation === | |
| 535 PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR = 0; | |
| 536 | |
| 537 //=== VK_KHR_external_memory_capabilities === | |
| 538 PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR = 0; | |
| 539 | |
| 540 //=== VK_KHR_external_semaphore_capabilities === | |
| 541 PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = 0; | |
| 542 | |
| 543 //=== VK_EXT_direct_mode_display === | |
| 544 PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT = 0; | |
| 545 | |
| 546 # if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT ) | |
| 547 //=== VK_EXT_acquire_xlib_display === | |
| 548 PFN_vkAcquireXlibDisplayEXT vkAcquireXlibDisplayEXT = 0; | |
| 549 PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT = 0; | |
| 550 # else | |
| 551 PFN_dummy vkAcquireXlibDisplayEXT_placeholder = 0; | |
| 552 PFN_dummy vkGetRandROutputDisplayEXT_placeholder = 0; | |
| 553 # endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/ | |
| 554 | |
| 555 //=== VK_EXT_display_surface_counter === | |
| 556 PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT = 0; | |
| 557 | |
| 558 //=== VK_KHR_external_fence_capabilities === | |
| 559 PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR = 0; | |
| 560 | |
| 561 //=== VK_KHR_performance_query === | |
| 562 PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = 0; | |
| 563 PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = 0; | |
| 564 | |
| 565 //=== VK_KHR_get_surface_capabilities2 === | |
| 566 PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR = 0; | |
| 567 PFN_vkGetPhysicalDeviceSurfaceFormats2KHR vkGetPhysicalDeviceSurfaceFormats2KHR = 0; | |
| 568 | |
| 569 //=== VK_KHR_get_display_properties2 === | |
| 570 PFN_vkGetPhysicalDeviceDisplayProperties2KHR vkGetPhysicalDeviceDisplayProperties2KHR = 0; | |
| 571 PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR = 0; | |
| 572 PFN_vkGetDisplayModeProperties2KHR vkGetDisplayModeProperties2KHR = 0; | |
| 573 PFN_vkGetDisplayPlaneCapabilities2KHR vkGetDisplayPlaneCapabilities2KHR = 0; | |
| 574 | |
| 575 # if defined( VK_USE_PLATFORM_IOS_MVK ) | |
| 576 //=== VK_MVK_ios_surface === | |
| 577 PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK = 0; | |
| 578 # else | |
| 579 PFN_dummy vkCreateIOSSurfaceMVK_placeholder = 0; | |
| 580 # endif /*VK_USE_PLATFORM_IOS_MVK*/ | |
| 581 | |
| 582 # if defined( VK_USE_PLATFORM_MACOS_MVK ) | |
| 583 //=== VK_MVK_macos_surface === | |
| 584 PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK = 0; | |
| 585 # else | |
| 586 PFN_dummy vkCreateMacOSSurfaceMVK_placeholder = 0; | |
| 587 # endif /*VK_USE_PLATFORM_MACOS_MVK*/ | |
| 588 | |
| 589 //=== VK_EXT_debug_utils === | |
| 590 PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT = 0; | |
| 591 PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT = 0; | |
| 592 PFN_vkSubmitDebugUtilsMessageEXT vkSubmitDebugUtilsMessageEXT = 0; | |
| 593 | |
| 594 //=== VK_EXT_sample_locations === | |
| 595 PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXT = 0; | |
| 596 | |
| 597 //=== VK_EXT_calibrated_timestamps === | |
| 598 PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = 0; | |
| 599 | |
| 600 # if defined( VK_USE_PLATFORM_FUCHSIA ) | |
| 601 //=== VK_FUCHSIA_imagepipe_surface === | |
| 602 PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA = 0; | |
| 603 # else | |
| 604 PFN_dummy vkCreateImagePipeSurfaceFUCHSIA_placeholder = 0; | |
| 605 # endif /*VK_USE_PLATFORM_FUCHSIA*/ | |
| 606 | |
| 607 # if defined( VK_USE_PLATFORM_METAL_EXT ) | |
| 608 //=== VK_EXT_metal_surface === | |
| 609 PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT = 0; | |
| 610 # else | |
| 611 PFN_dummy vkCreateMetalSurfaceEXT_placeholder = 0; | |
| 612 # endif /*VK_USE_PLATFORM_METAL_EXT*/ | |
| 613 | |
| 614 //=== VK_KHR_fragment_shading_rate === | |
| 615 PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR = 0; | |
| 616 | |
| 617 //=== VK_EXT_tooling_info === | |
| 618 PFN_vkGetPhysicalDeviceToolPropertiesEXT vkGetPhysicalDeviceToolPropertiesEXT = 0; | |
| 619 | |
| 620 //=== VK_NV_cooperative_matrix === | |
| 621 PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = 0; | |
| 622 | |
| 623 //=== VK_NV_coverage_reduction_mode === | |
| 624 PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = 0; | |
| 625 | |
| 626 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 627 //=== VK_EXT_full_screen_exclusive === | |
| 628 PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT vkGetPhysicalDeviceSurfacePresentModes2EXT = 0; | |
| 629 # else | |
| 630 PFN_dummy vkGetPhysicalDeviceSurfacePresentModes2EXT_placeholder = 0; | |
| 631 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 632 | |
| 633 //=== VK_EXT_headless_surface === | |
| 634 PFN_vkCreateHeadlessSurfaceEXT vkCreateHeadlessSurfaceEXT = 0; | |
| 635 | |
| 636 //=== VK_EXT_acquire_drm_display === | |
| 637 PFN_vkAcquireDrmDisplayEXT vkAcquireDrmDisplayEXT = 0; | |
| 638 PFN_vkGetDrmDisplayEXT vkGetDrmDisplayEXT = 0; | |
| 639 | |
| 640 //=== VK_KHR_video_encode_queue === | |
| 641 PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR = 0; | |
| 642 | |
| 643 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 644 //=== VK_NV_acquire_winrt_display === | |
| 645 PFN_vkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNV = 0; | |
| 646 PFN_vkGetWinrtDisplayNV vkGetWinrtDisplayNV = 0; | |
| 647 # else | |
| 648 PFN_dummy vkAcquireWinrtDisplayNV_placeholder = 0; | |
| 649 PFN_dummy vkGetWinrtDisplayNV_placeholder = 0; | |
| 650 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 651 | |
| 652 # if defined( VK_USE_PLATFORM_DIRECTFB_EXT ) | |
| 653 //=== VK_EXT_directfb_surface === | |
| 654 PFN_vkCreateDirectFBSurfaceEXT vkCreateDirectFBSurfaceEXT = 0; | |
| 655 PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT vkGetPhysicalDeviceDirectFBPresentationSupportEXT = 0; | |
| 656 # else | |
| 657 PFN_dummy vkCreateDirectFBSurfaceEXT_placeholder = 0; | |
| 658 PFN_dummy vkGetPhysicalDeviceDirectFBPresentationSupportEXT_placeholder = 0; | |
| 659 # endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/ | |
| 660 | |
| 661 # if defined( VK_USE_PLATFORM_SCREEN_QNX ) | |
| 662 //=== VK_QNX_screen_surface === | |
| 663 PFN_vkCreateScreenSurfaceQNX vkCreateScreenSurfaceQNX = 0; | |
| 664 PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX vkGetPhysicalDeviceScreenPresentationSupportQNX = 0; | |
| 665 # else | |
| 666 PFN_dummy vkCreateScreenSurfaceQNX_placeholder = 0; | |
| 667 PFN_dummy vkGetPhysicalDeviceScreenPresentationSupportQNX_placeholder = 0; | |
| 668 # endif /*VK_USE_PLATFORM_SCREEN_QNX*/ | |
| 669 | |
| 670 //=== VK_ARM_tensors === | |
| 671 PFN_vkGetPhysicalDeviceExternalTensorPropertiesARM vkGetPhysicalDeviceExternalTensorPropertiesARM = 0; | |
| 672 | |
| 673 //=== VK_NV_optical_flow === | |
| 674 PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV vkGetPhysicalDeviceOpticalFlowImageFormatsNV = 0; | |
| 675 | |
| 676 //=== VK_NV_cooperative_vector === | |
| 677 PFN_vkGetPhysicalDeviceCooperativeVectorPropertiesNV vkGetPhysicalDeviceCooperativeVectorPropertiesNV = 0; | |
| 678 | |
| 679 //=== VK_KHR_cooperative_matrix === | |
| 680 PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR = 0; | |
| 681 | |
| 682 //=== VK_ARM_data_graph === | |
| 683 PFN_vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM = 0; | |
| 684 PFN_vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM = 0; | |
| 685 | |
| 686 //=== VK_KHR_calibrated_timestamps === | |
| 687 PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR vkGetPhysicalDeviceCalibrateableTimeDomainsKHR = 0; | |
| 688 | |
| 689 # if defined( VK_USE_PLATFORM_OHOS ) | |
| 690 //=== VK_OHOS_surface === | |
| 691 PFN_vkCreateSurfaceOHOS vkCreateSurfaceOHOS = 0; | |
| 692 # else | |
| 693 PFN_dummy vkCreateSurfaceOHOS_placeholder = 0; | |
| 694 # endif /*VK_USE_PLATFORM_OHOS*/ | |
| 695 | |
| 696 //=== VK_NV_cooperative_matrix2 === | |
| 697 PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV = 0; | |
| 698 | |
| 699 //=== VK_ARM_performance_counters_by_region === | |
| 700 PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM = 0; | |
| 701 | |
| 702 PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr = 0; | |
| 703 }; | |
| 704 | |
| 705 class DeviceDispatcher : public ::VULKAN_HPP_NAMESPACE::detail::DispatchLoaderBase | |
| 706 { | |
| 707 public: | |
| 708 DeviceDispatcher( PFN_vkGetDeviceProcAddr getProcAddr, VkDevice device ) : vkGetDeviceProcAddr( getProcAddr ) | |
| 709 { | |
| 710 //=== VK_VERSION_1_0 === | |
| 711 vkGetDeviceProcAddr = PFN_vkGetDeviceProcAddr( vkGetDeviceProcAddr( device, "vkGetDeviceProcAddr" ) ); | |
| 712 vkDestroyDevice = PFN_vkDestroyDevice( vkGetDeviceProcAddr( device, "vkDestroyDevice" ) ); | |
| 713 vkGetDeviceQueue = PFN_vkGetDeviceQueue( vkGetDeviceProcAddr( device, "vkGetDeviceQueue" ) ); | |
| 714 vkQueueSubmit = PFN_vkQueueSubmit( vkGetDeviceProcAddr( device, "vkQueueSubmit" ) ); | |
| 715 vkQueueWaitIdle = PFN_vkQueueWaitIdle( vkGetDeviceProcAddr( device, "vkQueueWaitIdle" ) ); | |
| 716 vkDeviceWaitIdle = PFN_vkDeviceWaitIdle( vkGetDeviceProcAddr( device, "vkDeviceWaitIdle" ) ); | |
| 717 vkAllocateMemory = PFN_vkAllocateMemory( vkGetDeviceProcAddr( device, "vkAllocateMemory" ) ); | |
| 718 vkFreeMemory = PFN_vkFreeMemory( vkGetDeviceProcAddr( device, "vkFreeMemory" ) ); | |
| 719 vkMapMemory = PFN_vkMapMemory( vkGetDeviceProcAddr( device, "vkMapMemory" ) ); | |
| 720 vkUnmapMemory = PFN_vkUnmapMemory( vkGetDeviceProcAddr( device, "vkUnmapMemory" ) ); | |
| 721 vkFlushMappedMemoryRanges = PFN_vkFlushMappedMemoryRanges( vkGetDeviceProcAddr( device, "vkFlushMappedMemoryRanges" ) ); | |
| 722 vkInvalidateMappedMemoryRanges = PFN_vkInvalidateMappedMemoryRanges( vkGetDeviceProcAddr( device, "vkInvalidateMappedMemoryRanges" ) ); | |
| 723 vkGetDeviceMemoryCommitment = PFN_vkGetDeviceMemoryCommitment( vkGetDeviceProcAddr( device, "vkGetDeviceMemoryCommitment" ) ); | |
| 724 vkBindBufferMemory = PFN_vkBindBufferMemory( vkGetDeviceProcAddr( device, "vkBindBufferMemory" ) ); | |
| 725 vkBindImageMemory = PFN_vkBindImageMemory( vkGetDeviceProcAddr( device, "vkBindImageMemory" ) ); | |
| 726 vkGetBufferMemoryRequirements = PFN_vkGetBufferMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements" ) ); | |
| 727 vkGetImageMemoryRequirements = PFN_vkGetImageMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements" ) ); | |
| 728 vkGetImageSparseMemoryRequirements = PFN_vkGetImageSparseMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements" ) ); | |
| 729 vkQueueBindSparse = PFN_vkQueueBindSparse( vkGetDeviceProcAddr( device, "vkQueueBindSparse" ) ); | |
| 730 vkCreateFence = PFN_vkCreateFence( vkGetDeviceProcAddr( device, "vkCreateFence" ) ); | |
| 731 vkDestroyFence = PFN_vkDestroyFence( vkGetDeviceProcAddr( device, "vkDestroyFence" ) ); | |
| 732 vkResetFences = PFN_vkResetFences( vkGetDeviceProcAddr( device, "vkResetFences" ) ); | |
| 733 vkGetFenceStatus = PFN_vkGetFenceStatus( vkGetDeviceProcAddr( device, "vkGetFenceStatus" ) ); | |
| 734 vkWaitForFences = PFN_vkWaitForFences( vkGetDeviceProcAddr( device, "vkWaitForFences" ) ); | |
| 735 vkCreateSemaphore = PFN_vkCreateSemaphore( vkGetDeviceProcAddr( device, "vkCreateSemaphore" ) ); | |
| 736 vkDestroySemaphore = PFN_vkDestroySemaphore( vkGetDeviceProcAddr( device, "vkDestroySemaphore" ) ); | |
| 737 vkCreateQueryPool = PFN_vkCreateQueryPool( vkGetDeviceProcAddr( device, "vkCreateQueryPool" ) ); | |
| 738 vkDestroyQueryPool = PFN_vkDestroyQueryPool( vkGetDeviceProcAddr( device, "vkDestroyQueryPool" ) ); | |
| 739 vkGetQueryPoolResults = PFN_vkGetQueryPoolResults( vkGetDeviceProcAddr( device, "vkGetQueryPoolResults" ) ); | |
| 740 vkCreateBuffer = PFN_vkCreateBuffer( vkGetDeviceProcAddr( device, "vkCreateBuffer" ) ); | |
| 741 vkDestroyBuffer = PFN_vkDestroyBuffer( vkGetDeviceProcAddr( device, "vkDestroyBuffer" ) ); | |
| 742 vkCreateImage = PFN_vkCreateImage( vkGetDeviceProcAddr( device, "vkCreateImage" ) ); | |
| 743 vkDestroyImage = PFN_vkDestroyImage( vkGetDeviceProcAddr( device, "vkDestroyImage" ) ); | |
| 744 vkGetImageSubresourceLayout = PFN_vkGetImageSubresourceLayout( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout" ) ); | |
| 745 vkCreateImageView = PFN_vkCreateImageView( vkGetDeviceProcAddr( device, "vkCreateImageView" ) ); | |
| 746 vkDestroyImageView = PFN_vkDestroyImageView( vkGetDeviceProcAddr( device, "vkDestroyImageView" ) ); | |
| 747 vkCreateCommandPool = PFN_vkCreateCommandPool( vkGetDeviceProcAddr( device, "vkCreateCommandPool" ) ); | |
| 748 vkDestroyCommandPool = PFN_vkDestroyCommandPool( vkGetDeviceProcAddr( device, "vkDestroyCommandPool" ) ); | |
| 749 vkResetCommandPool = PFN_vkResetCommandPool( vkGetDeviceProcAddr( device, "vkResetCommandPool" ) ); | |
| 750 vkAllocateCommandBuffers = PFN_vkAllocateCommandBuffers( vkGetDeviceProcAddr( device, "vkAllocateCommandBuffers" ) ); | |
| 751 vkFreeCommandBuffers = PFN_vkFreeCommandBuffers( vkGetDeviceProcAddr( device, "vkFreeCommandBuffers" ) ); | |
| 752 vkBeginCommandBuffer = PFN_vkBeginCommandBuffer( vkGetDeviceProcAddr( device, "vkBeginCommandBuffer" ) ); | |
| 753 vkEndCommandBuffer = PFN_vkEndCommandBuffer( vkGetDeviceProcAddr( device, "vkEndCommandBuffer" ) ); | |
| 754 vkResetCommandBuffer = PFN_vkResetCommandBuffer( vkGetDeviceProcAddr( device, "vkResetCommandBuffer" ) ); | |
| 755 vkCmdCopyBuffer = PFN_vkCmdCopyBuffer( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer" ) ); | |
| 756 vkCmdCopyImage = PFN_vkCmdCopyImage( vkGetDeviceProcAddr( device, "vkCmdCopyImage" ) ); | |
| 757 vkCmdCopyBufferToImage = PFN_vkCmdCopyBufferToImage( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage" ) ); | |
| 758 vkCmdCopyImageToBuffer = PFN_vkCmdCopyImageToBuffer( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer" ) ); | |
| 759 vkCmdUpdateBuffer = PFN_vkCmdUpdateBuffer( vkGetDeviceProcAddr( device, "vkCmdUpdateBuffer" ) ); | |
| 760 vkCmdFillBuffer = PFN_vkCmdFillBuffer( vkGetDeviceProcAddr( device, "vkCmdFillBuffer" ) ); | |
| 761 vkCmdPipelineBarrier = PFN_vkCmdPipelineBarrier( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier" ) ); | |
| 762 vkCmdBeginQuery = PFN_vkCmdBeginQuery( vkGetDeviceProcAddr( device, "vkCmdBeginQuery" ) ); | |
| 763 vkCmdEndQuery = PFN_vkCmdEndQuery( vkGetDeviceProcAddr( device, "vkCmdEndQuery" ) ); | |
| 764 vkCmdResetQueryPool = PFN_vkCmdResetQueryPool( vkGetDeviceProcAddr( device, "vkCmdResetQueryPool" ) ); | |
| 765 vkCmdWriteTimestamp = PFN_vkCmdWriteTimestamp( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp" ) ); | |
| 766 vkCmdCopyQueryPoolResults = PFN_vkCmdCopyQueryPoolResults( vkGetDeviceProcAddr( device, "vkCmdCopyQueryPoolResults" ) ); | |
| 767 vkCmdExecuteCommands = PFN_vkCmdExecuteCommands( vkGetDeviceProcAddr( device, "vkCmdExecuteCommands" ) ); | |
| 768 vkCreateEvent = PFN_vkCreateEvent( vkGetDeviceProcAddr( device, "vkCreateEvent" ) ); | |
| 769 vkDestroyEvent = PFN_vkDestroyEvent( vkGetDeviceProcAddr( device, "vkDestroyEvent" ) ); | |
| 770 vkGetEventStatus = PFN_vkGetEventStatus( vkGetDeviceProcAddr( device, "vkGetEventStatus" ) ); | |
| 771 vkSetEvent = PFN_vkSetEvent( vkGetDeviceProcAddr( device, "vkSetEvent" ) ); | |
| 772 vkResetEvent = PFN_vkResetEvent( vkGetDeviceProcAddr( device, "vkResetEvent" ) ); | |
| 773 vkCreateBufferView = PFN_vkCreateBufferView( vkGetDeviceProcAddr( device, "vkCreateBufferView" ) ); | |
| 774 vkDestroyBufferView = PFN_vkDestroyBufferView( vkGetDeviceProcAddr( device, "vkDestroyBufferView" ) ); | |
| 775 vkCreateShaderModule = PFN_vkCreateShaderModule( vkGetDeviceProcAddr( device, "vkCreateShaderModule" ) ); | |
| 776 vkDestroyShaderModule = PFN_vkDestroyShaderModule( vkGetDeviceProcAddr( device, "vkDestroyShaderModule" ) ); | |
| 777 vkCreatePipelineCache = PFN_vkCreatePipelineCache( vkGetDeviceProcAddr( device, "vkCreatePipelineCache" ) ); | |
| 778 vkDestroyPipelineCache = PFN_vkDestroyPipelineCache( vkGetDeviceProcAddr( device, "vkDestroyPipelineCache" ) ); | |
| 779 vkGetPipelineCacheData = PFN_vkGetPipelineCacheData( vkGetDeviceProcAddr( device, "vkGetPipelineCacheData" ) ); | |
| 780 vkMergePipelineCaches = PFN_vkMergePipelineCaches( vkGetDeviceProcAddr( device, "vkMergePipelineCaches" ) ); | |
| 781 vkCreateComputePipelines = PFN_vkCreateComputePipelines( vkGetDeviceProcAddr( device, "vkCreateComputePipelines" ) ); | |
| 782 vkDestroyPipeline = PFN_vkDestroyPipeline( vkGetDeviceProcAddr( device, "vkDestroyPipeline" ) ); | |
| 783 vkCreatePipelineLayout = PFN_vkCreatePipelineLayout( vkGetDeviceProcAddr( device, "vkCreatePipelineLayout" ) ); | |
| 784 vkDestroyPipelineLayout = PFN_vkDestroyPipelineLayout( vkGetDeviceProcAddr( device, "vkDestroyPipelineLayout" ) ); | |
| 785 vkCreateSampler = PFN_vkCreateSampler( vkGetDeviceProcAddr( device, "vkCreateSampler" ) ); | |
| 786 vkDestroySampler = PFN_vkDestroySampler( vkGetDeviceProcAddr( device, "vkDestroySampler" ) ); | |
| 787 vkCreateDescriptorSetLayout = PFN_vkCreateDescriptorSetLayout( vkGetDeviceProcAddr( device, "vkCreateDescriptorSetLayout" ) ); | |
| 788 vkDestroyDescriptorSetLayout = PFN_vkDestroyDescriptorSetLayout( vkGetDeviceProcAddr( device, "vkDestroyDescriptorSetLayout" ) ); | |
| 789 vkCreateDescriptorPool = PFN_vkCreateDescriptorPool( vkGetDeviceProcAddr( device, "vkCreateDescriptorPool" ) ); | |
| 790 vkDestroyDescriptorPool = PFN_vkDestroyDescriptorPool( vkGetDeviceProcAddr( device, "vkDestroyDescriptorPool" ) ); | |
| 791 vkResetDescriptorPool = PFN_vkResetDescriptorPool( vkGetDeviceProcAddr( device, "vkResetDescriptorPool" ) ); | |
| 792 vkAllocateDescriptorSets = PFN_vkAllocateDescriptorSets( vkGetDeviceProcAddr( device, "vkAllocateDescriptorSets" ) ); | |
| 793 vkFreeDescriptorSets = PFN_vkFreeDescriptorSets( vkGetDeviceProcAddr( device, "vkFreeDescriptorSets" ) ); | |
| 794 vkUpdateDescriptorSets = PFN_vkUpdateDescriptorSets( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSets" ) ); | |
| 795 vkCmdBindPipeline = PFN_vkCmdBindPipeline( vkGetDeviceProcAddr( device, "vkCmdBindPipeline" ) ); | |
| 796 vkCmdBindDescriptorSets = PFN_vkCmdBindDescriptorSets( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorSets" ) ); | |
| 797 vkCmdClearColorImage = PFN_vkCmdClearColorImage( vkGetDeviceProcAddr( device, "vkCmdClearColorImage" ) ); | |
| 798 vkCmdDispatch = PFN_vkCmdDispatch( vkGetDeviceProcAddr( device, "vkCmdDispatch" ) ); | |
| 799 vkCmdDispatchIndirect = PFN_vkCmdDispatchIndirect( vkGetDeviceProcAddr( device, "vkCmdDispatchIndirect" ) ); | |
| 800 vkCmdSetEvent = PFN_vkCmdSetEvent( vkGetDeviceProcAddr( device, "vkCmdSetEvent" ) ); | |
| 801 vkCmdResetEvent = PFN_vkCmdResetEvent( vkGetDeviceProcAddr( device, "vkCmdResetEvent" ) ); | |
| 802 vkCmdWaitEvents = PFN_vkCmdWaitEvents( vkGetDeviceProcAddr( device, "vkCmdWaitEvents" ) ); | |
| 803 vkCmdPushConstants = PFN_vkCmdPushConstants( vkGetDeviceProcAddr( device, "vkCmdPushConstants" ) ); | |
| 804 vkCreateGraphicsPipelines = PFN_vkCreateGraphicsPipelines( vkGetDeviceProcAddr( device, "vkCreateGraphicsPipelines" ) ); | |
| 805 vkCreateFramebuffer = PFN_vkCreateFramebuffer( vkGetDeviceProcAddr( device, "vkCreateFramebuffer" ) ); | |
| 806 vkDestroyFramebuffer = PFN_vkDestroyFramebuffer( vkGetDeviceProcAddr( device, "vkDestroyFramebuffer" ) ); | |
| 807 vkCreateRenderPass = PFN_vkCreateRenderPass( vkGetDeviceProcAddr( device, "vkCreateRenderPass" ) ); | |
| 808 vkDestroyRenderPass = PFN_vkDestroyRenderPass( vkGetDeviceProcAddr( device, "vkDestroyRenderPass" ) ); | |
| 809 vkGetRenderAreaGranularity = PFN_vkGetRenderAreaGranularity( vkGetDeviceProcAddr( device, "vkGetRenderAreaGranularity" ) ); | |
| 810 vkCmdSetViewport = PFN_vkCmdSetViewport( vkGetDeviceProcAddr( device, "vkCmdSetViewport" ) ); | |
| 811 vkCmdSetScissor = PFN_vkCmdSetScissor( vkGetDeviceProcAddr( device, "vkCmdSetScissor" ) ); | |
| 812 vkCmdSetLineWidth = PFN_vkCmdSetLineWidth( vkGetDeviceProcAddr( device, "vkCmdSetLineWidth" ) ); | |
| 813 vkCmdSetDepthBias = PFN_vkCmdSetDepthBias( vkGetDeviceProcAddr( device, "vkCmdSetDepthBias" ) ); | |
| 814 vkCmdSetBlendConstants = PFN_vkCmdSetBlendConstants( vkGetDeviceProcAddr( device, "vkCmdSetBlendConstants" ) ); | |
| 815 vkCmdSetDepthBounds = PFN_vkCmdSetDepthBounds( vkGetDeviceProcAddr( device, "vkCmdSetDepthBounds" ) ); | |
| 816 vkCmdSetStencilCompareMask = PFN_vkCmdSetStencilCompareMask( vkGetDeviceProcAddr( device, "vkCmdSetStencilCompareMask" ) ); | |
| 817 vkCmdSetStencilWriteMask = PFN_vkCmdSetStencilWriteMask( vkGetDeviceProcAddr( device, "vkCmdSetStencilWriteMask" ) ); | |
| 818 vkCmdSetStencilReference = PFN_vkCmdSetStencilReference( vkGetDeviceProcAddr( device, "vkCmdSetStencilReference" ) ); | |
| 819 vkCmdBindIndexBuffer = PFN_vkCmdBindIndexBuffer( vkGetDeviceProcAddr( device, "vkCmdBindIndexBuffer" ) ); | |
| 820 vkCmdBindVertexBuffers = PFN_vkCmdBindVertexBuffers( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers" ) ); | |
| 821 vkCmdDraw = PFN_vkCmdDraw( vkGetDeviceProcAddr( device, "vkCmdDraw" ) ); | |
| 822 vkCmdDrawIndexed = PFN_vkCmdDrawIndexed( vkGetDeviceProcAddr( device, "vkCmdDrawIndexed" ) ); | |
| 823 vkCmdDrawIndirect = PFN_vkCmdDrawIndirect( vkGetDeviceProcAddr( device, "vkCmdDrawIndirect" ) ); | |
| 824 vkCmdDrawIndexedIndirect = PFN_vkCmdDrawIndexedIndirect( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirect" ) ); | |
| 825 vkCmdBlitImage = PFN_vkCmdBlitImage( vkGetDeviceProcAddr( device, "vkCmdBlitImage" ) ); | |
| 826 vkCmdClearDepthStencilImage = PFN_vkCmdClearDepthStencilImage( vkGetDeviceProcAddr( device, "vkCmdClearDepthStencilImage" ) ); | |
| 827 vkCmdClearAttachments = PFN_vkCmdClearAttachments( vkGetDeviceProcAddr( device, "vkCmdClearAttachments" ) ); | |
| 828 vkCmdResolveImage = PFN_vkCmdResolveImage( vkGetDeviceProcAddr( device, "vkCmdResolveImage" ) ); | |
| 829 vkCmdBeginRenderPass = PFN_vkCmdBeginRenderPass( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass" ) ); | |
| 830 vkCmdNextSubpass = PFN_vkCmdNextSubpass( vkGetDeviceProcAddr( device, "vkCmdNextSubpass" ) ); | |
| 831 vkCmdEndRenderPass = PFN_vkCmdEndRenderPass( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass" ) ); | |
| 832 | |
| 833 //=== VK_VERSION_1_1 === | |
| 834 vkBindBufferMemory2 = PFN_vkBindBufferMemory2( vkGetDeviceProcAddr( device, "vkBindBufferMemory2" ) ); | |
| 835 vkBindImageMemory2 = PFN_vkBindImageMemory2( vkGetDeviceProcAddr( device, "vkBindImageMemory2" ) ); | |
| 836 vkGetDeviceGroupPeerMemoryFeatures = PFN_vkGetDeviceGroupPeerMemoryFeatures( vkGetDeviceProcAddr( device, "vkGetDeviceGroupPeerMemoryFeatures" ) ); | |
| 837 vkCmdSetDeviceMask = PFN_vkCmdSetDeviceMask( vkGetDeviceProcAddr( device, "vkCmdSetDeviceMask" ) ); | |
| 838 vkGetImageMemoryRequirements2 = PFN_vkGetImageMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements2" ) ); | |
| 839 vkGetBufferMemoryRequirements2 = PFN_vkGetBufferMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements2" ) ); | |
| 840 vkGetImageSparseMemoryRequirements2 = PFN_vkGetImageSparseMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements2" ) ); | |
| 841 vkTrimCommandPool = PFN_vkTrimCommandPool( vkGetDeviceProcAddr( device, "vkTrimCommandPool" ) ); | |
| 842 vkGetDeviceQueue2 = PFN_vkGetDeviceQueue2( vkGetDeviceProcAddr( device, "vkGetDeviceQueue2" ) ); | |
| 843 vkCmdDispatchBase = PFN_vkCmdDispatchBase( vkGetDeviceProcAddr( device, "vkCmdDispatchBase" ) ); | |
| 844 vkCreateDescriptorUpdateTemplate = PFN_vkCreateDescriptorUpdateTemplate( vkGetDeviceProcAddr( device, "vkCreateDescriptorUpdateTemplate" ) ); | |
| 845 vkDestroyDescriptorUpdateTemplate = PFN_vkDestroyDescriptorUpdateTemplate( vkGetDeviceProcAddr( device, "vkDestroyDescriptorUpdateTemplate" ) ); | |
| 846 vkUpdateDescriptorSetWithTemplate = PFN_vkUpdateDescriptorSetWithTemplate( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSetWithTemplate" ) ); | |
| 847 vkGetDescriptorSetLayoutSupport = PFN_vkGetDescriptorSetLayoutSupport( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSupport" ) ); | |
| 848 vkCreateSamplerYcbcrConversion = PFN_vkCreateSamplerYcbcrConversion( vkGetDeviceProcAddr( device, "vkCreateSamplerYcbcrConversion" ) ); | |
| 849 vkDestroySamplerYcbcrConversion = PFN_vkDestroySamplerYcbcrConversion( vkGetDeviceProcAddr( device, "vkDestroySamplerYcbcrConversion" ) ); | |
| 850 | |
| 851 //=== VK_VERSION_1_2 === | |
| 852 vkResetQueryPool = PFN_vkResetQueryPool( vkGetDeviceProcAddr( device, "vkResetQueryPool" ) ); | |
| 853 vkGetSemaphoreCounterValue = PFN_vkGetSemaphoreCounterValue( vkGetDeviceProcAddr( device, "vkGetSemaphoreCounterValue" ) ); | |
| 854 vkWaitSemaphores = PFN_vkWaitSemaphores( vkGetDeviceProcAddr( device, "vkWaitSemaphores" ) ); | |
| 855 vkSignalSemaphore = PFN_vkSignalSemaphore( vkGetDeviceProcAddr( device, "vkSignalSemaphore" ) ); | |
| 856 vkGetBufferDeviceAddress = PFN_vkGetBufferDeviceAddress( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddress" ) ); | |
| 857 vkGetBufferOpaqueCaptureAddress = PFN_vkGetBufferOpaqueCaptureAddress( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureAddress" ) ); | |
| 858 vkGetDeviceMemoryOpaqueCaptureAddress = | |
| 859 PFN_vkGetDeviceMemoryOpaqueCaptureAddress( vkGetDeviceProcAddr( device, "vkGetDeviceMemoryOpaqueCaptureAddress" ) ); | |
| 860 vkCmdDrawIndirectCount = PFN_vkCmdDrawIndirectCount( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCount" ) ); | |
| 861 vkCmdDrawIndexedIndirectCount = PFN_vkCmdDrawIndexedIndirectCount( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCount" ) ); | |
| 862 vkCreateRenderPass2 = PFN_vkCreateRenderPass2( vkGetDeviceProcAddr( device, "vkCreateRenderPass2" ) ); | |
| 863 vkCmdBeginRenderPass2 = PFN_vkCmdBeginRenderPass2( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass2" ) ); | |
| 864 vkCmdNextSubpass2 = PFN_vkCmdNextSubpass2( vkGetDeviceProcAddr( device, "vkCmdNextSubpass2" ) ); | |
| 865 vkCmdEndRenderPass2 = PFN_vkCmdEndRenderPass2( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass2" ) ); | |
| 866 | |
| 867 //=== VK_VERSION_1_3 === | |
| 868 vkCreatePrivateDataSlot = PFN_vkCreatePrivateDataSlot( vkGetDeviceProcAddr( device, "vkCreatePrivateDataSlot" ) ); | |
| 869 vkDestroyPrivateDataSlot = PFN_vkDestroyPrivateDataSlot( vkGetDeviceProcAddr( device, "vkDestroyPrivateDataSlot" ) ); | |
| 870 vkSetPrivateData = PFN_vkSetPrivateData( vkGetDeviceProcAddr( device, "vkSetPrivateData" ) ); | |
| 871 vkGetPrivateData = PFN_vkGetPrivateData( vkGetDeviceProcAddr( device, "vkGetPrivateData" ) ); | |
| 872 vkCmdPipelineBarrier2 = PFN_vkCmdPipelineBarrier2( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier2" ) ); | |
| 873 vkCmdWriteTimestamp2 = PFN_vkCmdWriteTimestamp2( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp2" ) ); | |
| 874 vkQueueSubmit2 = PFN_vkQueueSubmit2( vkGetDeviceProcAddr( device, "vkQueueSubmit2" ) ); | |
| 875 vkCmdCopyBuffer2 = PFN_vkCmdCopyBuffer2( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer2" ) ); | |
| 876 vkCmdCopyImage2 = PFN_vkCmdCopyImage2( vkGetDeviceProcAddr( device, "vkCmdCopyImage2" ) ); | |
| 877 vkCmdCopyBufferToImage2 = PFN_vkCmdCopyBufferToImage2( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage2" ) ); | |
| 878 vkCmdCopyImageToBuffer2 = PFN_vkCmdCopyImageToBuffer2( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer2" ) ); | |
| 879 vkGetDeviceBufferMemoryRequirements = PFN_vkGetDeviceBufferMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetDeviceBufferMemoryRequirements" ) ); | |
| 880 vkGetDeviceImageMemoryRequirements = PFN_vkGetDeviceImageMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetDeviceImageMemoryRequirements" ) ); | |
| 881 vkGetDeviceImageSparseMemoryRequirements = | |
| 882 PFN_vkGetDeviceImageSparseMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetDeviceImageSparseMemoryRequirements" ) ); | |
| 883 vkCmdSetEvent2 = PFN_vkCmdSetEvent2( vkGetDeviceProcAddr( device, "vkCmdSetEvent2" ) ); | |
| 884 vkCmdResetEvent2 = PFN_vkCmdResetEvent2( vkGetDeviceProcAddr( device, "vkCmdResetEvent2" ) ); | |
| 885 vkCmdWaitEvents2 = PFN_vkCmdWaitEvents2( vkGetDeviceProcAddr( device, "vkCmdWaitEvents2" ) ); | |
| 886 vkCmdBlitImage2 = PFN_vkCmdBlitImage2( vkGetDeviceProcAddr( device, "vkCmdBlitImage2" ) ); | |
| 887 vkCmdResolveImage2 = PFN_vkCmdResolveImage2( vkGetDeviceProcAddr( device, "vkCmdResolveImage2" ) ); | |
| 888 vkCmdBeginRendering = PFN_vkCmdBeginRendering( vkGetDeviceProcAddr( device, "vkCmdBeginRendering" ) ); | |
| 889 vkCmdEndRendering = PFN_vkCmdEndRendering( vkGetDeviceProcAddr( device, "vkCmdEndRendering" ) ); | |
| 890 vkCmdSetCullMode = PFN_vkCmdSetCullMode( vkGetDeviceProcAddr( device, "vkCmdSetCullMode" ) ); | |
| 891 vkCmdSetFrontFace = PFN_vkCmdSetFrontFace( vkGetDeviceProcAddr( device, "vkCmdSetFrontFace" ) ); | |
| 892 vkCmdSetPrimitiveTopology = PFN_vkCmdSetPrimitiveTopology( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveTopology" ) ); | |
| 893 vkCmdSetViewportWithCount = PFN_vkCmdSetViewportWithCount( vkGetDeviceProcAddr( device, "vkCmdSetViewportWithCount" ) ); | |
| 894 vkCmdSetScissorWithCount = PFN_vkCmdSetScissorWithCount( vkGetDeviceProcAddr( device, "vkCmdSetScissorWithCount" ) ); | |
| 895 vkCmdBindVertexBuffers2 = PFN_vkCmdBindVertexBuffers2( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers2" ) ); | |
| 896 vkCmdSetDepthTestEnable = PFN_vkCmdSetDepthTestEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthTestEnable" ) ); | |
| 897 vkCmdSetDepthWriteEnable = PFN_vkCmdSetDepthWriteEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthWriteEnable" ) ); | |
| 898 vkCmdSetDepthCompareOp = PFN_vkCmdSetDepthCompareOp( vkGetDeviceProcAddr( device, "vkCmdSetDepthCompareOp" ) ); | |
| 899 vkCmdSetDepthBoundsTestEnable = PFN_vkCmdSetDepthBoundsTestEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthBoundsTestEnable" ) ); | |
| 900 vkCmdSetStencilTestEnable = PFN_vkCmdSetStencilTestEnable( vkGetDeviceProcAddr( device, "vkCmdSetStencilTestEnable" ) ); | |
| 901 vkCmdSetStencilOp = PFN_vkCmdSetStencilOp( vkGetDeviceProcAddr( device, "vkCmdSetStencilOp" ) ); | |
| 902 vkCmdSetRasterizerDiscardEnable = PFN_vkCmdSetRasterizerDiscardEnable( vkGetDeviceProcAddr( device, "vkCmdSetRasterizerDiscardEnable" ) ); | |
| 903 vkCmdSetDepthBiasEnable = PFN_vkCmdSetDepthBiasEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthBiasEnable" ) ); | |
| 904 vkCmdSetPrimitiveRestartEnable = PFN_vkCmdSetPrimitiveRestartEnable( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveRestartEnable" ) ); | |
| 905 | |
| 906 //=== VK_VERSION_1_4 === | |
| 907 vkMapMemory2 = PFN_vkMapMemory2( vkGetDeviceProcAddr( device, "vkMapMemory2" ) ); | |
| 908 vkUnmapMemory2 = PFN_vkUnmapMemory2( vkGetDeviceProcAddr( device, "vkUnmapMemory2" ) ); | |
| 909 vkGetDeviceImageSubresourceLayout = PFN_vkGetDeviceImageSubresourceLayout( vkGetDeviceProcAddr( device, "vkGetDeviceImageSubresourceLayout" ) ); | |
| 910 vkGetImageSubresourceLayout2 = PFN_vkGetImageSubresourceLayout2( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout2" ) ); | |
| 911 vkCopyMemoryToImage = PFN_vkCopyMemoryToImage( vkGetDeviceProcAddr( device, "vkCopyMemoryToImage" ) ); | |
| 912 vkCopyImageToMemory = PFN_vkCopyImageToMemory( vkGetDeviceProcAddr( device, "vkCopyImageToMemory" ) ); | |
| 913 vkCopyImageToImage = PFN_vkCopyImageToImage( vkGetDeviceProcAddr( device, "vkCopyImageToImage" ) ); | |
| 914 vkTransitionImageLayout = PFN_vkTransitionImageLayout( vkGetDeviceProcAddr( device, "vkTransitionImageLayout" ) ); | |
| 915 vkCmdPushDescriptorSet = PFN_vkCmdPushDescriptorSet( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSet" ) ); | |
| 916 vkCmdPushDescriptorSetWithTemplate = PFN_vkCmdPushDescriptorSetWithTemplate( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplate" ) ); | |
| 917 vkCmdBindDescriptorSets2 = PFN_vkCmdBindDescriptorSets2( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorSets2" ) ); | |
| 918 vkCmdPushConstants2 = PFN_vkCmdPushConstants2( vkGetDeviceProcAddr( device, "vkCmdPushConstants2" ) ); | |
| 919 vkCmdPushDescriptorSet2 = PFN_vkCmdPushDescriptorSet2( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSet2" ) ); | |
| 920 vkCmdPushDescriptorSetWithTemplate2 = PFN_vkCmdPushDescriptorSetWithTemplate2( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplate2" ) ); | |
| 921 vkCmdSetLineStipple = PFN_vkCmdSetLineStipple( vkGetDeviceProcAddr( device, "vkCmdSetLineStipple" ) ); | |
| 922 vkCmdBindIndexBuffer2 = PFN_vkCmdBindIndexBuffer2( vkGetDeviceProcAddr( device, "vkCmdBindIndexBuffer2" ) ); | |
| 923 vkGetRenderingAreaGranularity = PFN_vkGetRenderingAreaGranularity( vkGetDeviceProcAddr( device, "vkGetRenderingAreaGranularity" ) ); | |
| 924 vkCmdSetRenderingAttachmentLocations = | |
| 925 PFN_vkCmdSetRenderingAttachmentLocations( vkGetDeviceProcAddr( device, "vkCmdSetRenderingAttachmentLocations" ) ); | |
| 926 vkCmdSetRenderingInputAttachmentIndices = | |
| 927 PFN_vkCmdSetRenderingInputAttachmentIndices( vkGetDeviceProcAddr( device, "vkCmdSetRenderingInputAttachmentIndices" ) ); | |
| 928 | |
| 929 //=== VK_KHR_swapchain === | |
| 930 vkCreateSwapchainKHR = PFN_vkCreateSwapchainKHR( vkGetDeviceProcAddr( device, "vkCreateSwapchainKHR" ) ); | |
| 931 vkDestroySwapchainKHR = PFN_vkDestroySwapchainKHR( vkGetDeviceProcAddr( device, "vkDestroySwapchainKHR" ) ); | |
| 932 vkGetSwapchainImagesKHR = PFN_vkGetSwapchainImagesKHR( vkGetDeviceProcAddr( device, "vkGetSwapchainImagesKHR" ) ); | |
| 933 vkAcquireNextImageKHR = PFN_vkAcquireNextImageKHR( vkGetDeviceProcAddr( device, "vkAcquireNextImageKHR" ) ); | |
| 934 vkQueuePresentKHR = PFN_vkQueuePresentKHR( vkGetDeviceProcAddr( device, "vkQueuePresentKHR" ) ); | |
| 935 vkGetDeviceGroupPresentCapabilitiesKHR = | |
| 936 PFN_vkGetDeviceGroupPresentCapabilitiesKHR( vkGetDeviceProcAddr( device, "vkGetDeviceGroupPresentCapabilitiesKHR" ) ); | |
| 937 vkGetDeviceGroupSurfacePresentModesKHR = | |
| 938 PFN_vkGetDeviceGroupSurfacePresentModesKHR( vkGetDeviceProcAddr( device, "vkGetDeviceGroupSurfacePresentModesKHR" ) ); | |
| 939 vkAcquireNextImage2KHR = PFN_vkAcquireNextImage2KHR( vkGetDeviceProcAddr( device, "vkAcquireNextImage2KHR" ) ); | |
| 940 | |
| 941 //=== VK_KHR_display_swapchain === | |
| 942 vkCreateSharedSwapchainsKHR = PFN_vkCreateSharedSwapchainsKHR( vkGetDeviceProcAddr( device, "vkCreateSharedSwapchainsKHR" ) ); | |
| 943 | |
| 944 //=== VK_EXT_debug_marker === | |
| 945 vkDebugMarkerSetObjectTagEXT = PFN_vkDebugMarkerSetObjectTagEXT( vkGetDeviceProcAddr( device, "vkDebugMarkerSetObjectTagEXT" ) ); | |
| 946 vkDebugMarkerSetObjectNameEXT = PFN_vkDebugMarkerSetObjectNameEXT( vkGetDeviceProcAddr( device, "vkDebugMarkerSetObjectNameEXT" ) ); | |
| 947 vkCmdDebugMarkerBeginEXT = PFN_vkCmdDebugMarkerBeginEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerBeginEXT" ) ); | |
| 948 vkCmdDebugMarkerEndEXT = PFN_vkCmdDebugMarkerEndEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerEndEXT" ) ); | |
| 949 vkCmdDebugMarkerInsertEXT = PFN_vkCmdDebugMarkerInsertEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerInsertEXT" ) ); | |
| 950 | |
| 951 //=== VK_KHR_video_queue === | |
| 952 vkCreateVideoSessionKHR = PFN_vkCreateVideoSessionKHR( vkGetDeviceProcAddr( device, "vkCreateVideoSessionKHR" ) ); | |
| 953 vkDestroyVideoSessionKHR = PFN_vkDestroyVideoSessionKHR( vkGetDeviceProcAddr( device, "vkDestroyVideoSessionKHR" ) ); | |
| 954 vkGetVideoSessionMemoryRequirementsKHR = | |
| 955 PFN_vkGetVideoSessionMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetVideoSessionMemoryRequirementsKHR" ) ); | |
| 956 vkBindVideoSessionMemoryKHR = PFN_vkBindVideoSessionMemoryKHR( vkGetDeviceProcAddr( device, "vkBindVideoSessionMemoryKHR" ) ); | |
| 957 vkCreateVideoSessionParametersKHR = PFN_vkCreateVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkCreateVideoSessionParametersKHR" ) ); | |
| 958 vkUpdateVideoSessionParametersKHR = PFN_vkUpdateVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkUpdateVideoSessionParametersKHR" ) ); | |
| 959 vkDestroyVideoSessionParametersKHR = PFN_vkDestroyVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkDestroyVideoSessionParametersKHR" ) ); | |
| 960 vkCmdBeginVideoCodingKHR = PFN_vkCmdBeginVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdBeginVideoCodingKHR" ) ); | |
| 961 vkCmdEndVideoCodingKHR = PFN_vkCmdEndVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdEndVideoCodingKHR" ) ); | |
| 962 vkCmdControlVideoCodingKHR = PFN_vkCmdControlVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdControlVideoCodingKHR" ) ); | |
| 963 | |
| 964 //=== VK_KHR_video_decode_queue === | |
| 965 vkCmdDecodeVideoKHR = PFN_vkCmdDecodeVideoKHR( vkGetDeviceProcAddr( device, "vkCmdDecodeVideoKHR" ) ); | |
| 966 | |
| 967 //=== VK_EXT_transform_feedback === | |
| 968 vkCmdBindTransformFeedbackBuffersEXT = | |
| 969 PFN_vkCmdBindTransformFeedbackBuffersEXT( vkGetDeviceProcAddr( device, "vkCmdBindTransformFeedbackBuffersEXT" ) ); | |
| 970 vkCmdBeginTransformFeedbackEXT = PFN_vkCmdBeginTransformFeedbackEXT( vkGetDeviceProcAddr( device, "vkCmdBeginTransformFeedbackEXT" ) ); | |
| 971 vkCmdEndTransformFeedbackEXT = PFN_vkCmdEndTransformFeedbackEXT( vkGetDeviceProcAddr( device, "vkCmdEndTransformFeedbackEXT" ) ); | |
| 972 vkCmdBeginQueryIndexedEXT = PFN_vkCmdBeginQueryIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdBeginQueryIndexedEXT" ) ); | |
| 973 vkCmdEndQueryIndexedEXT = PFN_vkCmdEndQueryIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdEndQueryIndexedEXT" ) ); | |
| 974 vkCmdDrawIndirectByteCountEXT = PFN_vkCmdDrawIndirectByteCountEXT( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectByteCountEXT" ) ); | |
| 975 | |
| 976 //=== VK_NVX_binary_import === | |
| 977 vkCreateCuModuleNVX = PFN_vkCreateCuModuleNVX( vkGetDeviceProcAddr( device, "vkCreateCuModuleNVX" ) ); | |
| 978 vkCreateCuFunctionNVX = PFN_vkCreateCuFunctionNVX( vkGetDeviceProcAddr( device, "vkCreateCuFunctionNVX" ) ); | |
| 979 vkDestroyCuModuleNVX = PFN_vkDestroyCuModuleNVX( vkGetDeviceProcAddr( device, "vkDestroyCuModuleNVX" ) ); | |
| 980 vkDestroyCuFunctionNVX = PFN_vkDestroyCuFunctionNVX( vkGetDeviceProcAddr( device, "vkDestroyCuFunctionNVX" ) ); | |
| 981 vkCmdCuLaunchKernelNVX = PFN_vkCmdCuLaunchKernelNVX( vkGetDeviceProcAddr( device, "vkCmdCuLaunchKernelNVX" ) ); | |
| 982 | |
| 983 //=== VK_NVX_image_view_handle === | |
| 984 vkGetImageViewHandleNVX = PFN_vkGetImageViewHandleNVX( vkGetDeviceProcAddr( device, "vkGetImageViewHandleNVX" ) ); | |
| 985 vkGetImageViewHandle64NVX = PFN_vkGetImageViewHandle64NVX( vkGetDeviceProcAddr( device, "vkGetImageViewHandle64NVX" ) ); | |
| 986 vkGetImageViewAddressNVX = PFN_vkGetImageViewAddressNVX( vkGetDeviceProcAddr( device, "vkGetImageViewAddressNVX" ) ); | |
| 987 | |
| 988 //=== VK_AMD_draw_indirect_count === | |
| 989 vkCmdDrawIndirectCountAMD = PFN_vkCmdDrawIndirectCountAMD( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCountAMD" ) ); | |
| 990 if ( !vkCmdDrawIndirectCount ) | |
| 991 vkCmdDrawIndirectCount = vkCmdDrawIndirectCountAMD; | |
| 992 vkCmdDrawIndexedIndirectCountAMD = PFN_vkCmdDrawIndexedIndirectCountAMD( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCountAMD" ) ); | |
| 993 if ( !vkCmdDrawIndexedIndirectCount ) | |
| 994 vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountAMD; | |
| 995 | |
| 996 //=== VK_AMD_shader_info === | |
| 997 vkGetShaderInfoAMD = PFN_vkGetShaderInfoAMD( vkGetDeviceProcAddr( device, "vkGetShaderInfoAMD" ) ); | |
| 998 | |
| 999 //=== VK_KHR_dynamic_rendering === | |
| 1000 vkCmdBeginRenderingKHR = PFN_vkCmdBeginRenderingKHR( vkGetDeviceProcAddr( device, "vkCmdBeginRenderingKHR" ) ); | |
| 1001 if ( !vkCmdBeginRendering ) | |
| 1002 vkCmdBeginRendering = vkCmdBeginRenderingKHR; | |
| 1003 vkCmdEndRenderingKHR = PFN_vkCmdEndRenderingKHR( vkGetDeviceProcAddr( device, "vkCmdEndRenderingKHR" ) ); | |
| 1004 if ( !vkCmdEndRendering ) | |
| 1005 vkCmdEndRendering = vkCmdEndRenderingKHR; | |
| 1006 | |
| 1007 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 1008 //=== VK_NV_external_memory_win32 === | |
| 1009 vkGetMemoryWin32HandleNV = PFN_vkGetMemoryWin32HandleNV( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandleNV" ) ); | |
| 1010 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 1011 | |
| 1012 //=== VK_KHR_device_group === | |
| 1013 vkGetDeviceGroupPeerMemoryFeaturesKHR = | |
| 1014 PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR( vkGetDeviceProcAddr( device, "vkGetDeviceGroupPeerMemoryFeaturesKHR" ) ); | |
| 1015 if ( !vkGetDeviceGroupPeerMemoryFeatures ) | |
| 1016 vkGetDeviceGroupPeerMemoryFeatures = vkGetDeviceGroupPeerMemoryFeaturesKHR; | |
| 1017 vkCmdSetDeviceMaskKHR = PFN_vkCmdSetDeviceMaskKHR( vkGetDeviceProcAddr( device, "vkCmdSetDeviceMaskKHR" ) ); | |
| 1018 if ( !vkCmdSetDeviceMask ) | |
| 1019 vkCmdSetDeviceMask = vkCmdSetDeviceMaskKHR; | |
| 1020 vkCmdDispatchBaseKHR = PFN_vkCmdDispatchBaseKHR( vkGetDeviceProcAddr( device, "vkCmdDispatchBaseKHR" ) ); | |
| 1021 if ( !vkCmdDispatchBase ) | |
| 1022 vkCmdDispatchBase = vkCmdDispatchBaseKHR; | |
| 1023 | |
| 1024 //=== VK_KHR_maintenance1 === | |
| 1025 vkTrimCommandPoolKHR = PFN_vkTrimCommandPoolKHR( vkGetDeviceProcAddr( device, "vkTrimCommandPoolKHR" ) ); | |
| 1026 if ( !vkTrimCommandPool ) | |
| 1027 vkTrimCommandPool = vkTrimCommandPoolKHR; | |
| 1028 | |
| 1029 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 1030 //=== VK_KHR_external_memory_win32 === | |
| 1031 vkGetMemoryWin32HandleKHR = PFN_vkGetMemoryWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandleKHR" ) ); | |
| 1032 vkGetMemoryWin32HandlePropertiesKHR = PFN_vkGetMemoryWin32HandlePropertiesKHR( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandlePropertiesKHR" ) ); | |
| 1033 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 1034 | |
| 1035 //=== VK_KHR_external_memory_fd === | |
| 1036 vkGetMemoryFdKHR = PFN_vkGetMemoryFdKHR( vkGetDeviceProcAddr( device, "vkGetMemoryFdKHR" ) ); | |
| 1037 vkGetMemoryFdPropertiesKHR = PFN_vkGetMemoryFdPropertiesKHR( vkGetDeviceProcAddr( device, "vkGetMemoryFdPropertiesKHR" ) ); | |
| 1038 | |
| 1039 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 1040 //=== VK_KHR_external_semaphore_win32 === | |
| 1041 vkImportSemaphoreWin32HandleKHR = PFN_vkImportSemaphoreWin32HandleKHR( vkGetDeviceProcAddr( device, "vkImportSemaphoreWin32HandleKHR" ) ); | |
| 1042 vkGetSemaphoreWin32HandleKHR = PFN_vkGetSemaphoreWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreWin32HandleKHR" ) ); | |
| 1043 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 1044 | |
| 1045 //=== VK_KHR_external_semaphore_fd === | |
| 1046 vkImportSemaphoreFdKHR = PFN_vkImportSemaphoreFdKHR( vkGetDeviceProcAddr( device, "vkImportSemaphoreFdKHR" ) ); | |
| 1047 vkGetSemaphoreFdKHR = PFN_vkGetSemaphoreFdKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreFdKHR" ) ); | |
| 1048 | |
| 1049 //=== VK_KHR_push_descriptor === | |
| 1050 vkCmdPushDescriptorSetKHR = PFN_vkCmdPushDescriptorSetKHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetKHR" ) ); | |
| 1051 if ( !vkCmdPushDescriptorSet ) | |
| 1052 vkCmdPushDescriptorSet = vkCmdPushDescriptorSetKHR; | |
| 1053 vkCmdPushDescriptorSetWithTemplateKHR = | |
| 1054 PFN_vkCmdPushDescriptorSetWithTemplateKHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplateKHR" ) ); | |
| 1055 if ( !vkCmdPushDescriptorSetWithTemplate ) | |
| 1056 vkCmdPushDescriptorSetWithTemplate = vkCmdPushDescriptorSetWithTemplateKHR; | |
| 1057 | |
| 1058 //=== VK_EXT_conditional_rendering === | |
| 1059 vkCmdBeginConditionalRenderingEXT = PFN_vkCmdBeginConditionalRenderingEXT( vkGetDeviceProcAddr( device, "vkCmdBeginConditionalRenderingEXT" ) ); | |
| 1060 vkCmdEndConditionalRenderingEXT = PFN_vkCmdEndConditionalRenderingEXT( vkGetDeviceProcAddr( device, "vkCmdEndConditionalRenderingEXT" ) ); | |
| 1061 | |
| 1062 //=== VK_KHR_descriptor_update_template === | |
| 1063 vkCreateDescriptorUpdateTemplateKHR = PFN_vkCreateDescriptorUpdateTemplateKHR( vkGetDeviceProcAddr( device, "vkCreateDescriptorUpdateTemplateKHR" ) ); | |
| 1064 if ( !vkCreateDescriptorUpdateTemplate ) | |
| 1065 vkCreateDescriptorUpdateTemplate = vkCreateDescriptorUpdateTemplateKHR; | |
| 1066 vkDestroyDescriptorUpdateTemplateKHR = | |
| 1067 PFN_vkDestroyDescriptorUpdateTemplateKHR( vkGetDeviceProcAddr( device, "vkDestroyDescriptorUpdateTemplateKHR" ) ); | |
| 1068 if ( !vkDestroyDescriptorUpdateTemplate ) | |
| 1069 vkDestroyDescriptorUpdateTemplate = vkDestroyDescriptorUpdateTemplateKHR; | |
| 1070 vkUpdateDescriptorSetWithTemplateKHR = | |
| 1071 PFN_vkUpdateDescriptorSetWithTemplateKHR( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSetWithTemplateKHR" ) ); | |
| 1072 if ( !vkUpdateDescriptorSetWithTemplate ) | |
| 1073 vkUpdateDescriptorSetWithTemplate = vkUpdateDescriptorSetWithTemplateKHR; | |
| 1074 | |
| 1075 //=== VK_NV_clip_space_w_scaling === | |
| 1076 vkCmdSetViewportWScalingNV = PFN_vkCmdSetViewportWScalingNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportWScalingNV" ) ); | |
| 1077 | |
| 1078 //=== VK_EXT_display_control === | |
| 1079 vkDisplayPowerControlEXT = PFN_vkDisplayPowerControlEXT( vkGetDeviceProcAddr( device, "vkDisplayPowerControlEXT" ) ); | |
| 1080 vkRegisterDeviceEventEXT = PFN_vkRegisterDeviceEventEXT( vkGetDeviceProcAddr( device, "vkRegisterDeviceEventEXT" ) ); | |
| 1081 vkRegisterDisplayEventEXT = PFN_vkRegisterDisplayEventEXT( vkGetDeviceProcAddr( device, "vkRegisterDisplayEventEXT" ) ); | |
| 1082 vkGetSwapchainCounterEXT = PFN_vkGetSwapchainCounterEXT( vkGetDeviceProcAddr( device, "vkGetSwapchainCounterEXT" ) ); | |
| 1083 | |
| 1084 //=== VK_GOOGLE_display_timing === | |
| 1085 vkGetRefreshCycleDurationGOOGLE = PFN_vkGetRefreshCycleDurationGOOGLE( vkGetDeviceProcAddr( device, "vkGetRefreshCycleDurationGOOGLE" ) ); | |
| 1086 vkGetPastPresentationTimingGOOGLE = PFN_vkGetPastPresentationTimingGOOGLE( vkGetDeviceProcAddr( device, "vkGetPastPresentationTimingGOOGLE" ) ); | |
| 1087 | |
| 1088 //=== VK_EXT_discard_rectangles === | |
| 1089 vkCmdSetDiscardRectangleEXT = PFN_vkCmdSetDiscardRectangleEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEXT" ) ); | |
| 1090 vkCmdSetDiscardRectangleEnableEXT = PFN_vkCmdSetDiscardRectangleEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEnableEXT" ) ); | |
| 1091 vkCmdSetDiscardRectangleModeEXT = PFN_vkCmdSetDiscardRectangleModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleModeEXT" ) ); | |
| 1092 | |
| 1093 //=== VK_EXT_hdr_metadata === | |
| 1094 vkSetHdrMetadataEXT = PFN_vkSetHdrMetadataEXT( vkGetDeviceProcAddr( device, "vkSetHdrMetadataEXT" ) ); | |
| 1095 | |
| 1096 //=== VK_KHR_create_renderpass2 === | |
| 1097 vkCreateRenderPass2KHR = PFN_vkCreateRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCreateRenderPass2KHR" ) ); | |
| 1098 if ( !vkCreateRenderPass2 ) | |
| 1099 vkCreateRenderPass2 = vkCreateRenderPass2KHR; | |
| 1100 vkCmdBeginRenderPass2KHR = PFN_vkCmdBeginRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass2KHR" ) ); | |
| 1101 if ( !vkCmdBeginRenderPass2 ) | |
| 1102 vkCmdBeginRenderPass2 = vkCmdBeginRenderPass2KHR; | |
| 1103 vkCmdNextSubpass2KHR = PFN_vkCmdNextSubpass2KHR( vkGetDeviceProcAddr( device, "vkCmdNextSubpass2KHR" ) ); | |
| 1104 if ( !vkCmdNextSubpass2 ) | |
| 1105 vkCmdNextSubpass2 = vkCmdNextSubpass2KHR; | |
| 1106 vkCmdEndRenderPass2KHR = PFN_vkCmdEndRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass2KHR" ) ); | |
| 1107 if ( !vkCmdEndRenderPass2 ) | |
| 1108 vkCmdEndRenderPass2 = vkCmdEndRenderPass2KHR; | |
| 1109 | |
| 1110 //=== VK_KHR_shared_presentable_image === | |
| 1111 vkGetSwapchainStatusKHR = PFN_vkGetSwapchainStatusKHR( vkGetDeviceProcAddr( device, "vkGetSwapchainStatusKHR" ) ); | |
| 1112 | |
| 1113 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 1114 //=== VK_KHR_external_fence_win32 === | |
| 1115 vkImportFenceWin32HandleKHR = PFN_vkImportFenceWin32HandleKHR( vkGetDeviceProcAddr( device, "vkImportFenceWin32HandleKHR" ) ); | |
| 1116 vkGetFenceWin32HandleKHR = PFN_vkGetFenceWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetFenceWin32HandleKHR" ) ); | |
| 1117 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 1118 | |
| 1119 //=== VK_KHR_external_fence_fd === | |
| 1120 vkImportFenceFdKHR = PFN_vkImportFenceFdKHR( vkGetDeviceProcAddr( device, "vkImportFenceFdKHR" ) ); | |
| 1121 vkGetFenceFdKHR = PFN_vkGetFenceFdKHR( vkGetDeviceProcAddr( device, "vkGetFenceFdKHR" ) ); | |
| 1122 | |
| 1123 //=== VK_KHR_performance_query === | |
| 1124 vkAcquireProfilingLockKHR = PFN_vkAcquireProfilingLockKHR( vkGetDeviceProcAddr( device, "vkAcquireProfilingLockKHR" ) ); | |
| 1125 vkReleaseProfilingLockKHR = PFN_vkReleaseProfilingLockKHR( vkGetDeviceProcAddr( device, "vkReleaseProfilingLockKHR" ) ); | |
| 1126 | |
| 1127 //=== VK_EXT_debug_utils === | |
| 1128 vkSetDebugUtilsObjectNameEXT = PFN_vkSetDebugUtilsObjectNameEXT( vkGetDeviceProcAddr( device, "vkSetDebugUtilsObjectNameEXT" ) ); | |
| 1129 vkSetDebugUtilsObjectTagEXT = PFN_vkSetDebugUtilsObjectTagEXT( vkGetDeviceProcAddr( device, "vkSetDebugUtilsObjectTagEXT" ) ); | |
| 1130 vkQueueBeginDebugUtilsLabelEXT = PFN_vkQueueBeginDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueBeginDebugUtilsLabelEXT" ) ); | |
| 1131 vkQueueEndDebugUtilsLabelEXT = PFN_vkQueueEndDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueEndDebugUtilsLabelEXT" ) ); | |
| 1132 vkQueueInsertDebugUtilsLabelEXT = PFN_vkQueueInsertDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueInsertDebugUtilsLabelEXT" ) ); | |
| 1133 vkCmdBeginDebugUtilsLabelEXT = PFN_vkCmdBeginDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdBeginDebugUtilsLabelEXT" ) ); | |
| 1134 vkCmdEndDebugUtilsLabelEXT = PFN_vkCmdEndDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdEndDebugUtilsLabelEXT" ) ); | |
| 1135 vkCmdInsertDebugUtilsLabelEXT = PFN_vkCmdInsertDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdInsertDebugUtilsLabelEXT" ) ); | |
| 1136 | |
| 1137 # if defined( VK_USE_PLATFORM_ANDROID_KHR ) | |
| 1138 //=== VK_ANDROID_external_memory_android_hardware_buffer === | |
| 1139 vkGetAndroidHardwareBufferPropertiesANDROID = | |
| 1140 PFN_vkGetAndroidHardwareBufferPropertiesANDROID( vkGetDeviceProcAddr( device, "vkGetAndroidHardwareBufferPropertiesANDROID" ) ); | |
| 1141 vkGetMemoryAndroidHardwareBufferANDROID = | |
| 1142 PFN_vkGetMemoryAndroidHardwareBufferANDROID( vkGetDeviceProcAddr( device, "vkGetMemoryAndroidHardwareBufferANDROID" ) ); | |
| 1143 # endif /*VK_USE_PLATFORM_ANDROID_KHR*/ | |
| 1144 | |
| 1145 # if defined( VK_ENABLE_BETA_EXTENSIONS ) | |
| 1146 //=== VK_AMDX_shader_enqueue === | |
| 1147 vkCreateExecutionGraphPipelinesAMDX = PFN_vkCreateExecutionGraphPipelinesAMDX( vkGetDeviceProcAddr( device, "vkCreateExecutionGraphPipelinesAMDX" ) ); | |
| 1148 vkGetExecutionGraphPipelineScratchSizeAMDX = | |
| 1149 PFN_vkGetExecutionGraphPipelineScratchSizeAMDX( vkGetDeviceProcAddr( device, "vkGetExecutionGraphPipelineScratchSizeAMDX" ) ); | |
| 1150 vkGetExecutionGraphPipelineNodeIndexAMDX = | |
| 1151 PFN_vkGetExecutionGraphPipelineNodeIndexAMDX( vkGetDeviceProcAddr( device, "vkGetExecutionGraphPipelineNodeIndexAMDX" ) ); | |
| 1152 vkCmdInitializeGraphScratchMemoryAMDX = | |
| 1153 PFN_vkCmdInitializeGraphScratchMemoryAMDX( vkGetDeviceProcAddr( device, "vkCmdInitializeGraphScratchMemoryAMDX" ) ); | |
| 1154 vkCmdDispatchGraphAMDX = PFN_vkCmdDispatchGraphAMDX( vkGetDeviceProcAddr( device, "vkCmdDispatchGraphAMDX" ) ); | |
| 1155 vkCmdDispatchGraphIndirectAMDX = PFN_vkCmdDispatchGraphIndirectAMDX( vkGetDeviceProcAddr( device, "vkCmdDispatchGraphIndirectAMDX" ) ); | |
| 1156 vkCmdDispatchGraphIndirectCountAMDX = PFN_vkCmdDispatchGraphIndirectCountAMDX( vkGetDeviceProcAddr( device, "vkCmdDispatchGraphIndirectCountAMDX" ) ); | |
| 1157 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ | |
| 1158 | |
| 1159 //=== VK_EXT_sample_locations === | |
| 1160 vkCmdSetSampleLocationsEXT = PFN_vkCmdSetSampleLocationsEXT( vkGetDeviceProcAddr( device, "vkCmdSetSampleLocationsEXT" ) ); | |
| 1161 | |
| 1162 //=== VK_KHR_get_memory_requirements2 === | |
| 1163 vkGetImageMemoryRequirements2KHR = PFN_vkGetImageMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements2KHR" ) ); | |
| 1164 if ( !vkGetImageMemoryRequirements2 ) | |
| 1165 vkGetImageMemoryRequirements2 = vkGetImageMemoryRequirements2KHR; | |
| 1166 vkGetBufferMemoryRequirements2KHR = PFN_vkGetBufferMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements2KHR" ) ); | |
| 1167 if ( !vkGetBufferMemoryRequirements2 ) | |
| 1168 vkGetBufferMemoryRequirements2 = vkGetBufferMemoryRequirements2KHR; | |
| 1169 vkGetImageSparseMemoryRequirements2KHR = | |
| 1170 PFN_vkGetImageSparseMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements2KHR" ) ); | |
| 1171 if ( !vkGetImageSparseMemoryRequirements2 ) | |
| 1172 vkGetImageSparseMemoryRequirements2 = vkGetImageSparseMemoryRequirements2KHR; | |
| 1173 | |
| 1174 //=== VK_KHR_acceleration_structure === | |
| 1175 vkCreateAccelerationStructureKHR = PFN_vkCreateAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCreateAccelerationStructureKHR" ) ); | |
| 1176 vkDestroyAccelerationStructureKHR = PFN_vkDestroyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkDestroyAccelerationStructureKHR" ) ); | |
| 1177 vkCmdBuildAccelerationStructuresKHR = PFN_vkCmdBuildAccelerationStructuresKHR( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructuresKHR" ) ); | |
| 1178 vkCmdBuildAccelerationStructuresIndirectKHR = | |
| 1179 PFN_vkCmdBuildAccelerationStructuresIndirectKHR( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructuresIndirectKHR" ) ); | |
| 1180 vkBuildAccelerationStructuresKHR = PFN_vkBuildAccelerationStructuresKHR( vkGetDeviceProcAddr( device, "vkBuildAccelerationStructuresKHR" ) ); | |
| 1181 vkCopyAccelerationStructureKHR = PFN_vkCopyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCopyAccelerationStructureKHR" ) ); | |
| 1182 vkCopyAccelerationStructureToMemoryKHR = | |
| 1183 PFN_vkCopyAccelerationStructureToMemoryKHR( vkGetDeviceProcAddr( device, "vkCopyAccelerationStructureToMemoryKHR" ) ); | |
| 1184 vkCopyMemoryToAccelerationStructureKHR = | |
| 1185 PFN_vkCopyMemoryToAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCopyMemoryToAccelerationStructureKHR" ) ); | |
| 1186 vkWriteAccelerationStructuresPropertiesKHR = | |
| 1187 PFN_vkWriteAccelerationStructuresPropertiesKHR( vkGetDeviceProcAddr( device, "vkWriteAccelerationStructuresPropertiesKHR" ) ); | |
| 1188 vkCmdCopyAccelerationStructureKHR = PFN_vkCmdCopyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureKHR" ) ); | |
| 1189 vkCmdCopyAccelerationStructureToMemoryKHR = | |
| 1190 PFN_vkCmdCopyAccelerationStructureToMemoryKHR( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureToMemoryKHR" ) ); | |
| 1191 vkCmdCopyMemoryToAccelerationStructureKHR = | |
| 1192 PFN_vkCmdCopyMemoryToAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToAccelerationStructureKHR" ) ); | |
| 1193 vkGetAccelerationStructureDeviceAddressKHR = | |
| 1194 PFN_vkGetAccelerationStructureDeviceAddressKHR( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureDeviceAddressKHR" ) ); | |
| 1195 vkCmdWriteAccelerationStructuresPropertiesKHR = | |
| 1196 PFN_vkCmdWriteAccelerationStructuresPropertiesKHR( vkGetDeviceProcAddr( device, "vkCmdWriteAccelerationStructuresPropertiesKHR" ) ); | |
| 1197 vkGetDeviceAccelerationStructureCompatibilityKHR = | |
| 1198 PFN_vkGetDeviceAccelerationStructureCompatibilityKHR( vkGetDeviceProcAddr( device, "vkGetDeviceAccelerationStructureCompatibilityKHR" ) ); | |
| 1199 vkGetAccelerationStructureBuildSizesKHR = | |
| 1200 PFN_vkGetAccelerationStructureBuildSizesKHR( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureBuildSizesKHR" ) ); | |
| 1201 | |
| 1202 //=== VK_KHR_ray_tracing_pipeline === | |
| 1203 vkCmdTraceRaysKHR = PFN_vkCmdTraceRaysKHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysKHR" ) ); | |
| 1204 vkCreateRayTracingPipelinesKHR = PFN_vkCreateRayTracingPipelinesKHR( vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesKHR" ) ); | |
| 1205 vkGetRayTracingShaderGroupHandlesKHR = | |
| 1206 PFN_vkGetRayTracingShaderGroupHandlesKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupHandlesKHR" ) ); | |
| 1207 vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = | |
| 1208 PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" ) ); | |
| 1209 vkCmdTraceRaysIndirectKHR = PFN_vkCmdTraceRaysIndirectKHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysIndirectKHR" ) ); | |
| 1210 vkGetRayTracingShaderGroupStackSizeKHR = | |
| 1211 PFN_vkGetRayTracingShaderGroupStackSizeKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupStackSizeKHR" ) ); | |
| 1212 vkCmdSetRayTracingPipelineStackSizeKHR = | |
| 1213 PFN_vkCmdSetRayTracingPipelineStackSizeKHR( vkGetDeviceProcAddr( device, "vkCmdSetRayTracingPipelineStackSizeKHR" ) ); | |
| 1214 | |
| 1215 //=== VK_KHR_sampler_ycbcr_conversion === | |
| 1216 vkCreateSamplerYcbcrConversionKHR = PFN_vkCreateSamplerYcbcrConversionKHR( vkGetDeviceProcAddr( device, "vkCreateSamplerYcbcrConversionKHR" ) ); | |
| 1217 if ( !vkCreateSamplerYcbcrConversion ) | |
| 1218 vkCreateSamplerYcbcrConversion = vkCreateSamplerYcbcrConversionKHR; | |
| 1219 vkDestroySamplerYcbcrConversionKHR = PFN_vkDestroySamplerYcbcrConversionKHR( vkGetDeviceProcAddr( device, "vkDestroySamplerYcbcrConversionKHR" ) ); | |
| 1220 if ( !vkDestroySamplerYcbcrConversion ) | |
| 1221 vkDestroySamplerYcbcrConversion = vkDestroySamplerYcbcrConversionKHR; | |
| 1222 | |
| 1223 //=== VK_KHR_bind_memory2 === | |
| 1224 vkBindBufferMemory2KHR = PFN_vkBindBufferMemory2KHR( vkGetDeviceProcAddr( device, "vkBindBufferMemory2KHR" ) ); | |
| 1225 if ( !vkBindBufferMemory2 ) | |
| 1226 vkBindBufferMemory2 = vkBindBufferMemory2KHR; | |
| 1227 vkBindImageMemory2KHR = PFN_vkBindImageMemory2KHR( vkGetDeviceProcAddr( device, "vkBindImageMemory2KHR" ) ); | |
| 1228 if ( !vkBindImageMemory2 ) | |
| 1229 vkBindImageMemory2 = vkBindImageMemory2KHR; | |
| 1230 | |
| 1231 //=== VK_EXT_image_drm_format_modifier === | |
| 1232 vkGetImageDrmFormatModifierPropertiesEXT = | |
| 1233 PFN_vkGetImageDrmFormatModifierPropertiesEXT( vkGetDeviceProcAddr( device, "vkGetImageDrmFormatModifierPropertiesEXT" ) ); | |
| 1234 | |
| 1235 //=== VK_EXT_validation_cache === | |
| 1236 vkCreateValidationCacheEXT = PFN_vkCreateValidationCacheEXT( vkGetDeviceProcAddr( device, "vkCreateValidationCacheEXT" ) ); | |
| 1237 vkDestroyValidationCacheEXT = PFN_vkDestroyValidationCacheEXT( vkGetDeviceProcAddr( device, "vkDestroyValidationCacheEXT" ) ); | |
| 1238 vkMergeValidationCachesEXT = PFN_vkMergeValidationCachesEXT( vkGetDeviceProcAddr( device, "vkMergeValidationCachesEXT" ) ); | |
| 1239 vkGetValidationCacheDataEXT = PFN_vkGetValidationCacheDataEXT( vkGetDeviceProcAddr( device, "vkGetValidationCacheDataEXT" ) ); | |
| 1240 | |
| 1241 //=== VK_NV_shading_rate_image === | |
| 1242 vkCmdBindShadingRateImageNV = PFN_vkCmdBindShadingRateImageNV( vkGetDeviceProcAddr( device, "vkCmdBindShadingRateImageNV" ) ); | |
| 1243 vkCmdSetViewportShadingRatePaletteNV = | |
| 1244 PFN_vkCmdSetViewportShadingRatePaletteNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportShadingRatePaletteNV" ) ); | |
| 1245 vkCmdSetCoarseSampleOrderNV = PFN_vkCmdSetCoarseSampleOrderNV( vkGetDeviceProcAddr( device, "vkCmdSetCoarseSampleOrderNV" ) ); | |
| 1246 | |
| 1247 //=== VK_NV_ray_tracing === | |
| 1248 vkCreateAccelerationStructureNV = PFN_vkCreateAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCreateAccelerationStructureNV" ) ); | |
| 1249 vkDestroyAccelerationStructureNV = PFN_vkDestroyAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkDestroyAccelerationStructureNV" ) ); | |
| 1250 vkGetAccelerationStructureMemoryRequirementsNV = | |
| 1251 PFN_vkGetAccelerationStructureMemoryRequirementsNV( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureMemoryRequirementsNV" ) ); | |
| 1252 vkBindAccelerationStructureMemoryNV = PFN_vkBindAccelerationStructureMemoryNV( vkGetDeviceProcAddr( device, "vkBindAccelerationStructureMemoryNV" ) ); | |
| 1253 vkCmdBuildAccelerationStructureNV = PFN_vkCmdBuildAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructureNV" ) ); | |
| 1254 vkCmdCopyAccelerationStructureNV = PFN_vkCmdCopyAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureNV" ) ); | |
| 1255 vkCmdTraceRaysNV = PFN_vkCmdTraceRaysNV( vkGetDeviceProcAddr( device, "vkCmdTraceRaysNV" ) ); | |
| 1256 vkCreateRayTracingPipelinesNV = PFN_vkCreateRayTracingPipelinesNV( vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesNV" ) ); | |
| 1257 vkGetRayTracingShaderGroupHandlesNV = PFN_vkGetRayTracingShaderGroupHandlesNV( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupHandlesNV" ) ); | |
| 1258 if ( !vkGetRayTracingShaderGroupHandlesKHR ) | |
| 1259 vkGetRayTracingShaderGroupHandlesKHR = vkGetRayTracingShaderGroupHandlesNV; | |
| 1260 vkGetAccelerationStructureHandleNV = PFN_vkGetAccelerationStructureHandleNV( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureHandleNV" ) ); | |
| 1261 vkCmdWriteAccelerationStructuresPropertiesNV = | |
| 1262 PFN_vkCmdWriteAccelerationStructuresPropertiesNV( vkGetDeviceProcAddr( device, "vkCmdWriteAccelerationStructuresPropertiesNV" ) ); | |
| 1263 vkCompileDeferredNV = PFN_vkCompileDeferredNV( vkGetDeviceProcAddr( device, "vkCompileDeferredNV" ) ); | |
| 1264 | |
| 1265 //=== VK_KHR_maintenance3 === | |
| 1266 vkGetDescriptorSetLayoutSupportKHR = PFN_vkGetDescriptorSetLayoutSupportKHR( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSupportKHR" ) ); | |
| 1267 if ( !vkGetDescriptorSetLayoutSupport ) | |
| 1268 vkGetDescriptorSetLayoutSupport = vkGetDescriptorSetLayoutSupportKHR; | |
| 1269 | |
| 1270 //=== VK_KHR_draw_indirect_count === | |
| 1271 vkCmdDrawIndirectCountKHR = PFN_vkCmdDrawIndirectCountKHR( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCountKHR" ) ); | |
| 1272 if ( !vkCmdDrawIndirectCount ) | |
| 1273 vkCmdDrawIndirectCount = vkCmdDrawIndirectCountKHR; | |
| 1274 vkCmdDrawIndexedIndirectCountKHR = PFN_vkCmdDrawIndexedIndirectCountKHR( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCountKHR" ) ); | |
| 1275 if ( !vkCmdDrawIndexedIndirectCount ) | |
| 1276 vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountKHR; | |
| 1277 | |
| 1278 //=== VK_EXT_external_memory_host === | |
| 1279 vkGetMemoryHostPointerPropertiesEXT = PFN_vkGetMemoryHostPointerPropertiesEXT( vkGetDeviceProcAddr( device, "vkGetMemoryHostPointerPropertiesEXT" ) ); | |
| 1280 | |
| 1281 //=== VK_AMD_buffer_marker === | |
| 1282 vkCmdWriteBufferMarkerAMD = PFN_vkCmdWriteBufferMarkerAMD( vkGetDeviceProcAddr( device, "vkCmdWriteBufferMarkerAMD" ) ); | |
| 1283 vkCmdWriteBufferMarker2AMD = PFN_vkCmdWriteBufferMarker2AMD( vkGetDeviceProcAddr( device, "vkCmdWriteBufferMarker2AMD" ) ); | |
| 1284 | |
| 1285 //=== VK_EXT_calibrated_timestamps === | |
| 1286 vkGetCalibratedTimestampsEXT = PFN_vkGetCalibratedTimestampsEXT( vkGetDeviceProcAddr( device, "vkGetCalibratedTimestampsEXT" ) ); | |
| 1287 if ( !vkGetCalibratedTimestampsKHR ) | |
| 1288 vkGetCalibratedTimestampsKHR = vkGetCalibratedTimestampsEXT; | |
| 1289 | |
| 1290 //=== VK_NV_mesh_shader === | |
| 1291 vkCmdDrawMeshTasksNV = PFN_vkCmdDrawMeshTasksNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksNV" ) ); | |
| 1292 vkCmdDrawMeshTasksIndirectNV = PFN_vkCmdDrawMeshTasksIndirectNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectNV" ) ); | |
| 1293 vkCmdDrawMeshTasksIndirectCountNV = PFN_vkCmdDrawMeshTasksIndirectCountNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectCountNV" ) ); | |
| 1294 | |
| 1295 //=== VK_NV_scissor_exclusive === | |
| 1296 vkCmdSetExclusiveScissorEnableNV = PFN_vkCmdSetExclusiveScissorEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorEnableNV" ) ); | |
| 1297 vkCmdSetExclusiveScissorNV = PFN_vkCmdSetExclusiveScissorNV( vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorNV" ) ); | |
| 1298 | |
| 1299 //=== VK_NV_device_diagnostic_checkpoints === | |
| 1300 vkCmdSetCheckpointNV = PFN_vkCmdSetCheckpointNV( vkGetDeviceProcAddr( device, "vkCmdSetCheckpointNV" ) ); | |
| 1301 vkGetQueueCheckpointDataNV = PFN_vkGetQueueCheckpointDataNV( vkGetDeviceProcAddr( device, "vkGetQueueCheckpointDataNV" ) ); | |
| 1302 vkGetQueueCheckpointData2NV = PFN_vkGetQueueCheckpointData2NV( vkGetDeviceProcAddr( device, "vkGetQueueCheckpointData2NV" ) ); | |
| 1303 | |
| 1304 //=== VK_KHR_timeline_semaphore === | |
| 1305 vkGetSemaphoreCounterValueKHR = PFN_vkGetSemaphoreCounterValueKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreCounterValueKHR" ) ); | |
| 1306 if ( !vkGetSemaphoreCounterValue ) | |
| 1307 vkGetSemaphoreCounterValue = vkGetSemaphoreCounterValueKHR; | |
| 1308 vkWaitSemaphoresKHR = PFN_vkWaitSemaphoresKHR( vkGetDeviceProcAddr( device, "vkWaitSemaphoresKHR" ) ); | |
| 1309 if ( !vkWaitSemaphores ) | |
| 1310 vkWaitSemaphores = vkWaitSemaphoresKHR; | |
| 1311 vkSignalSemaphoreKHR = PFN_vkSignalSemaphoreKHR( vkGetDeviceProcAddr( device, "vkSignalSemaphoreKHR" ) ); | |
| 1312 if ( !vkSignalSemaphore ) | |
| 1313 vkSignalSemaphore = vkSignalSemaphoreKHR; | |
| 1314 | |
| 1315 //=== VK_INTEL_performance_query === | |
| 1316 vkInitializePerformanceApiINTEL = PFN_vkInitializePerformanceApiINTEL( vkGetDeviceProcAddr( device, "vkInitializePerformanceApiINTEL" ) ); | |
| 1317 vkUninitializePerformanceApiINTEL = PFN_vkUninitializePerformanceApiINTEL( vkGetDeviceProcAddr( device, "vkUninitializePerformanceApiINTEL" ) ); | |
| 1318 vkCmdSetPerformanceMarkerINTEL = PFN_vkCmdSetPerformanceMarkerINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceMarkerINTEL" ) ); | |
| 1319 vkCmdSetPerformanceStreamMarkerINTEL = | |
| 1320 PFN_vkCmdSetPerformanceStreamMarkerINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceStreamMarkerINTEL" ) ); | |
| 1321 vkCmdSetPerformanceOverrideINTEL = PFN_vkCmdSetPerformanceOverrideINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceOverrideINTEL" ) ); | |
| 1322 vkAcquirePerformanceConfigurationINTEL = | |
| 1323 PFN_vkAcquirePerformanceConfigurationINTEL( vkGetDeviceProcAddr( device, "vkAcquirePerformanceConfigurationINTEL" ) ); | |
| 1324 vkReleasePerformanceConfigurationINTEL = | |
| 1325 PFN_vkReleasePerformanceConfigurationINTEL( vkGetDeviceProcAddr( device, "vkReleasePerformanceConfigurationINTEL" ) ); | |
| 1326 vkQueueSetPerformanceConfigurationINTEL = | |
| 1327 PFN_vkQueueSetPerformanceConfigurationINTEL( vkGetDeviceProcAddr( device, "vkQueueSetPerformanceConfigurationINTEL" ) ); | |
| 1328 vkGetPerformanceParameterINTEL = PFN_vkGetPerformanceParameterINTEL( vkGetDeviceProcAddr( device, "vkGetPerformanceParameterINTEL" ) ); | |
| 1329 | |
| 1330 //=== VK_AMD_display_native_hdr === | |
| 1331 vkSetLocalDimmingAMD = PFN_vkSetLocalDimmingAMD( vkGetDeviceProcAddr( device, "vkSetLocalDimmingAMD" ) ); | |
| 1332 | |
| 1333 //=== VK_KHR_fragment_shading_rate === | |
| 1334 vkCmdSetFragmentShadingRateKHR = PFN_vkCmdSetFragmentShadingRateKHR( vkGetDeviceProcAddr( device, "vkCmdSetFragmentShadingRateKHR" ) ); | |
| 1335 | |
| 1336 //=== VK_KHR_dynamic_rendering_local_read === | |
| 1337 vkCmdSetRenderingAttachmentLocationsKHR = | |
| 1338 PFN_vkCmdSetRenderingAttachmentLocationsKHR( vkGetDeviceProcAddr( device, "vkCmdSetRenderingAttachmentLocationsKHR" ) ); | |
| 1339 if ( !vkCmdSetRenderingAttachmentLocations ) | |
| 1340 vkCmdSetRenderingAttachmentLocations = vkCmdSetRenderingAttachmentLocationsKHR; | |
| 1341 vkCmdSetRenderingInputAttachmentIndicesKHR = | |
| 1342 PFN_vkCmdSetRenderingInputAttachmentIndicesKHR( vkGetDeviceProcAddr( device, "vkCmdSetRenderingInputAttachmentIndicesKHR" ) ); | |
| 1343 if ( !vkCmdSetRenderingInputAttachmentIndices ) | |
| 1344 vkCmdSetRenderingInputAttachmentIndices = vkCmdSetRenderingInputAttachmentIndicesKHR; | |
| 1345 | |
| 1346 //=== VK_EXT_buffer_device_address === | |
| 1347 vkGetBufferDeviceAddressEXT = PFN_vkGetBufferDeviceAddressEXT( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddressEXT" ) ); | |
| 1348 if ( !vkGetBufferDeviceAddress ) | |
| 1349 vkGetBufferDeviceAddress = vkGetBufferDeviceAddressEXT; | |
| 1350 | |
| 1351 //=== VK_KHR_present_wait === | |
| 1352 vkWaitForPresentKHR = PFN_vkWaitForPresentKHR( vkGetDeviceProcAddr( device, "vkWaitForPresentKHR" ) ); | |
| 1353 | |
| 1354 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 1355 //=== VK_EXT_full_screen_exclusive === | |
| 1356 vkAcquireFullScreenExclusiveModeEXT = PFN_vkAcquireFullScreenExclusiveModeEXT( vkGetDeviceProcAddr( device, "vkAcquireFullScreenExclusiveModeEXT" ) ); | |
| 1357 vkReleaseFullScreenExclusiveModeEXT = PFN_vkReleaseFullScreenExclusiveModeEXT( vkGetDeviceProcAddr( device, "vkReleaseFullScreenExclusiveModeEXT" ) ); | |
| 1358 vkGetDeviceGroupSurfacePresentModes2EXT = | |
| 1359 PFN_vkGetDeviceGroupSurfacePresentModes2EXT( vkGetDeviceProcAddr( device, "vkGetDeviceGroupSurfacePresentModes2EXT" ) ); | |
| 1360 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 1361 | |
| 1362 //=== VK_KHR_buffer_device_address === | |
| 1363 vkGetBufferDeviceAddressKHR = PFN_vkGetBufferDeviceAddressKHR( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddressKHR" ) ); | |
| 1364 if ( !vkGetBufferDeviceAddress ) | |
| 1365 vkGetBufferDeviceAddress = vkGetBufferDeviceAddressKHR; | |
| 1366 vkGetBufferOpaqueCaptureAddressKHR = PFN_vkGetBufferOpaqueCaptureAddressKHR( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureAddressKHR" ) ); | |
| 1367 if ( !vkGetBufferOpaqueCaptureAddress ) | |
| 1368 vkGetBufferOpaqueCaptureAddress = vkGetBufferOpaqueCaptureAddressKHR; | |
| 1369 vkGetDeviceMemoryOpaqueCaptureAddressKHR = | |
| 1370 PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR( vkGetDeviceProcAddr( device, "vkGetDeviceMemoryOpaqueCaptureAddressKHR" ) ); | |
| 1371 if ( !vkGetDeviceMemoryOpaqueCaptureAddress ) | |
| 1372 vkGetDeviceMemoryOpaqueCaptureAddress = vkGetDeviceMemoryOpaqueCaptureAddressKHR; | |
| 1373 | |
| 1374 //=== VK_EXT_line_rasterization === | |
| 1375 vkCmdSetLineStippleEXT = PFN_vkCmdSetLineStippleEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineStippleEXT" ) ); | |
| 1376 if ( !vkCmdSetLineStipple ) | |
| 1377 vkCmdSetLineStipple = vkCmdSetLineStippleEXT; | |
| 1378 | |
| 1379 //=== VK_EXT_host_query_reset === | |
| 1380 vkResetQueryPoolEXT = PFN_vkResetQueryPoolEXT( vkGetDeviceProcAddr( device, "vkResetQueryPoolEXT" ) ); | |
| 1381 if ( !vkResetQueryPool ) | |
| 1382 vkResetQueryPool = vkResetQueryPoolEXT; | |
| 1383 | |
| 1384 //=== VK_EXT_extended_dynamic_state === | |
| 1385 vkCmdSetCullModeEXT = PFN_vkCmdSetCullModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetCullModeEXT" ) ); | |
| 1386 if ( !vkCmdSetCullMode ) | |
| 1387 vkCmdSetCullMode = vkCmdSetCullModeEXT; | |
| 1388 vkCmdSetFrontFaceEXT = PFN_vkCmdSetFrontFaceEXT( vkGetDeviceProcAddr( device, "vkCmdSetFrontFaceEXT" ) ); | |
| 1389 if ( !vkCmdSetFrontFace ) | |
| 1390 vkCmdSetFrontFace = vkCmdSetFrontFaceEXT; | |
| 1391 vkCmdSetPrimitiveTopologyEXT = PFN_vkCmdSetPrimitiveTopologyEXT( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveTopologyEXT" ) ); | |
| 1392 if ( !vkCmdSetPrimitiveTopology ) | |
| 1393 vkCmdSetPrimitiveTopology = vkCmdSetPrimitiveTopologyEXT; | |
| 1394 vkCmdSetViewportWithCountEXT = PFN_vkCmdSetViewportWithCountEXT( vkGetDeviceProcAddr( device, "vkCmdSetViewportWithCountEXT" ) ); | |
| 1395 if ( !vkCmdSetViewportWithCount ) | |
| 1396 vkCmdSetViewportWithCount = vkCmdSetViewportWithCountEXT; | |
| 1397 vkCmdSetScissorWithCountEXT = PFN_vkCmdSetScissorWithCountEXT( vkGetDeviceProcAddr( device, "vkCmdSetScissorWithCountEXT" ) ); | |
| 1398 if ( !vkCmdSetScissorWithCount ) | |
| 1399 vkCmdSetScissorWithCount = vkCmdSetScissorWithCountEXT; | |
| 1400 vkCmdBindVertexBuffers2EXT = PFN_vkCmdBindVertexBuffers2EXT( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers2EXT" ) ); | |
| 1401 if ( !vkCmdBindVertexBuffers2 ) | |
| 1402 vkCmdBindVertexBuffers2 = vkCmdBindVertexBuffers2EXT; | |
| 1403 vkCmdSetDepthTestEnableEXT = PFN_vkCmdSetDepthTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthTestEnableEXT" ) ); | |
| 1404 if ( !vkCmdSetDepthTestEnable ) | |
| 1405 vkCmdSetDepthTestEnable = vkCmdSetDepthTestEnableEXT; | |
| 1406 vkCmdSetDepthWriteEnableEXT = PFN_vkCmdSetDepthWriteEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthWriteEnableEXT" ) ); | |
| 1407 if ( !vkCmdSetDepthWriteEnable ) | |
| 1408 vkCmdSetDepthWriteEnable = vkCmdSetDepthWriteEnableEXT; | |
| 1409 vkCmdSetDepthCompareOpEXT = PFN_vkCmdSetDepthCompareOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthCompareOpEXT" ) ); | |
| 1410 if ( !vkCmdSetDepthCompareOp ) | |
| 1411 vkCmdSetDepthCompareOp = vkCmdSetDepthCompareOpEXT; | |
| 1412 vkCmdSetDepthBoundsTestEnableEXT = PFN_vkCmdSetDepthBoundsTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBoundsTestEnableEXT" ) ); | |
| 1413 if ( !vkCmdSetDepthBoundsTestEnable ) | |
| 1414 vkCmdSetDepthBoundsTestEnable = vkCmdSetDepthBoundsTestEnableEXT; | |
| 1415 vkCmdSetStencilTestEnableEXT = PFN_vkCmdSetStencilTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetStencilTestEnableEXT" ) ); | |
| 1416 if ( !vkCmdSetStencilTestEnable ) | |
| 1417 vkCmdSetStencilTestEnable = vkCmdSetStencilTestEnableEXT; | |
| 1418 vkCmdSetStencilOpEXT = PFN_vkCmdSetStencilOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetStencilOpEXT" ) ); | |
| 1419 if ( !vkCmdSetStencilOp ) | |
| 1420 vkCmdSetStencilOp = vkCmdSetStencilOpEXT; | |
| 1421 | |
| 1422 //=== VK_KHR_deferred_host_operations === | |
| 1423 vkCreateDeferredOperationKHR = PFN_vkCreateDeferredOperationKHR( vkGetDeviceProcAddr( device, "vkCreateDeferredOperationKHR" ) ); | |
| 1424 vkDestroyDeferredOperationKHR = PFN_vkDestroyDeferredOperationKHR( vkGetDeviceProcAddr( device, "vkDestroyDeferredOperationKHR" ) ); | |
| 1425 vkGetDeferredOperationMaxConcurrencyKHR = | |
| 1426 PFN_vkGetDeferredOperationMaxConcurrencyKHR( vkGetDeviceProcAddr( device, "vkGetDeferredOperationMaxConcurrencyKHR" ) ); | |
| 1427 vkGetDeferredOperationResultKHR = PFN_vkGetDeferredOperationResultKHR( vkGetDeviceProcAddr( device, "vkGetDeferredOperationResultKHR" ) ); | |
| 1428 vkDeferredOperationJoinKHR = PFN_vkDeferredOperationJoinKHR( vkGetDeviceProcAddr( device, "vkDeferredOperationJoinKHR" ) ); | |
| 1429 | |
| 1430 //=== VK_KHR_pipeline_executable_properties === | |
| 1431 vkGetPipelineExecutablePropertiesKHR = | |
| 1432 PFN_vkGetPipelineExecutablePropertiesKHR( vkGetDeviceProcAddr( device, "vkGetPipelineExecutablePropertiesKHR" ) ); | |
| 1433 vkGetPipelineExecutableStatisticsKHR = | |
| 1434 PFN_vkGetPipelineExecutableStatisticsKHR( vkGetDeviceProcAddr( device, "vkGetPipelineExecutableStatisticsKHR" ) ); | |
| 1435 vkGetPipelineExecutableInternalRepresentationsKHR = | |
| 1436 PFN_vkGetPipelineExecutableInternalRepresentationsKHR( vkGetDeviceProcAddr( device, "vkGetPipelineExecutableInternalRepresentationsKHR" ) ); | |
| 1437 | |
| 1438 //=== VK_EXT_host_image_copy === | |
| 1439 vkCopyMemoryToImageEXT = PFN_vkCopyMemoryToImageEXT( vkGetDeviceProcAddr( device, "vkCopyMemoryToImageEXT" ) ); | |
| 1440 if ( !vkCopyMemoryToImage ) | |
| 1441 vkCopyMemoryToImage = vkCopyMemoryToImageEXT; | |
| 1442 vkCopyImageToMemoryEXT = PFN_vkCopyImageToMemoryEXT( vkGetDeviceProcAddr( device, "vkCopyImageToMemoryEXT" ) ); | |
| 1443 if ( !vkCopyImageToMemory ) | |
| 1444 vkCopyImageToMemory = vkCopyImageToMemoryEXT; | |
| 1445 vkCopyImageToImageEXT = PFN_vkCopyImageToImageEXT( vkGetDeviceProcAddr( device, "vkCopyImageToImageEXT" ) ); | |
| 1446 if ( !vkCopyImageToImage ) | |
| 1447 vkCopyImageToImage = vkCopyImageToImageEXT; | |
| 1448 vkTransitionImageLayoutEXT = PFN_vkTransitionImageLayoutEXT( vkGetDeviceProcAddr( device, "vkTransitionImageLayoutEXT" ) ); | |
| 1449 if ( !vkTransitionImageLayout ) | |
| 1450 vkTransitionImageLayout = vkTransitionImageLayoutEXT; | |
| 1451 vkGetImageSubresourceLayout2EXT = PFN_vkGetImageSubresourceLayout2EXT( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout2EXT" ) ); | |
| 1452 if ( !vkGetImageSubresourceLayout2 ) | |
| 1453 vkGetImageSubresourceLayout2 = vkGetImageSubresourceLayout2EXT; | |
| 1454 | |
| 1455 //=== VK_KHR_map_memory2 === | |
| 1456 vkMapMemory2KHR = PFN_vkMapMemory2KHR( vkGetDeviceProcAddr( device, "vkMapMemory2KHR" ) ); | |
| 1457 if ( !vkMapMemory2 ) | |
| 1458 vkMapMemory2 = vkMapMemory2KHR; | |
| 1459 vkUnmapMemory2KHR = PFN_vkUnmapMemory2KHR( vkGetDeviceProcAddr( device, "vkUnmapMemory2KHR" ) ); | |
| 1460 if ( !vkUnmapMemory2 ) | |
| 1461 vkUnmapMemory2 = vkUnmapMemory2KHR; | |
| 1462 | |
| 1463 //=== VK_EXT_swapchain_maintenance1 === | |
| 1464 vkReleaseSwapchainImagesEXT = PFN_vkReleaseSwapchainImagesEXT( vkGetDeviceProcAddr( device, "vkReleaseSwapchainImagesEXT" ) ); | |
| 1465 if ( !vkReleaseSwapchainImagesKHR ) | |
| 1466 vkReleaseSwapchainImagesKHR = vkReleaseSwapchainImagesEXT; | |
| 1467 | |
| 1468 //=== VK_NV_device_generated_commands === | |
| 1469 vkGetGeneratedCommandsMemoryRequirementsNV = | |
| 1470 PFN_vkGetGeneratedCommandsMemoryRequirementsNV( vkGetDeviceProcAddr( device, "vkGetGeneratedCommandsMemoryRequirementsNV" ) ); | |
| 1471 vkCmdPreprocessGeneratedCommandsNV = PFN_vkCmdPreprocessGeneratedCommandsNV( vkGetDeviceProcAddr( device, "vkCmdPreprocessGeneratedCommandsNV" ) ); | |
| 1472 vkCmdExecuteGeneratedCommandsNV = PFN_vkCmdExecuteGeneratedCommandsNV( vkGetDeviceProcAddr( device, "vkCmdExecuteGeneratedCommandsNV" ) ); | |
| 1473 vkCmdBindPipelineShaderGroupNV = PFN_vkCmdBindPipelineShaderGroupNV( vkGetDeviceProcAddr( device, "vkCmdBindPipelineShaderGroupNV" ) ); | |
| 1474 vkCreateIndirectCommandsLayoutNV = PFN_vkCreateIndirectCommandsLayoutNV( vkGetDeviceProcAddr( device, "vkCreateIndirectCommandsLayoutNV" ) ); | |
| 1475 vkDestroyIndirectCommandsLayoutNV = PFN_vkDestroyIndirectCommandsLayoutNV( vkGetDeviceProcAddr( device, "vkDestroyIndirectCommandsLayoutNV" ) ); | |
| 1476 | |
| 1477 //=== VK_EXT_depth_bias_control === | |
| 1478 vkCmdSetDepthBias2EXT = PFN_vkCmdSetDepthBias2EXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBias2EXT" ) ); | |
| 1479 | |
| 1480 //=== VK_EXT_private_data === | |
| 1481 vkCreatePrivateDataSlotEXT = PFN_vkCreatePrivateDataSlotEXT( vkGetDeviceProcAddr( device, "vkCreatePrivateDataSlotEXT" ) ); | |
| 1482 if ( !vkCreatePrivateDataSlot ) | |
| 1483 vkCreatePrivateDataSlot = vkCreatePrivateDataSlotEXT; | |
| 1484 vkDestroyPrivateDataSlotEXT = PFN_vkDestroyPrivateDataSlotEXT( vkGetDeviceProcAddr( device, "vkDestroyPrivateDataSlotEXT" ) ); | |
| 1485 if ( !vkDestroyPrivateDataSlot ) | |
| 1486 vkDestroyPrivateDataSlot = vkDestroyPrivateDataSlotEXT; | |
| 1487 vkSetPrivateDataEXT = PFN_vkSetPrivateDataEXT( vkGetDeviceProcAddr( device, "vkSetPrivateDataEXT" ) ); | |
| 1488 if ( !vkSetPrivateData ) | |
| 1489 vkSetPrivateData = vkSetPrivateDataEXT; | |
| 1490 vkGetPrivateDataEXT = PFN_vkGetPrivateDataEXT( vkGetDeviceProcAddr( device, "vkGetPrivateDataEXT" ) ); | |
| 1491 if ( !vkGetPrivateData ) | |
| 1492 vkGetPrivateData = vkGetPrivateDataEXT; | |
| 1493 | |
| 1494 //=== VK_KHR_video_encode_queue === | |
| 1495 vkGetEncodedVideoSessionParametersKHR = | |
| 1496 PFN_vkGetEncodedVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkGetEncodedVideoSessionParametersKHR" ) ); | |
| 1497 vkCmdEncodeVideoKHR = PFN_vkCmdEncodeVideoKHR( vkGetDeviceProcAddr( device, "vkCmdEncodeVideoKHR" ) ); | |
| 1498 | |
| 1499 # if defined( VK_ENABLE_BETA_EXTENSIONS ) | |
| 1500 //=== VK_NV_cuda_kernel_launch === | |
| 1501 vkCreateCudaModuleNV = PFN_vkCreateCudaModuleNV( vkGetDeviceProcAddr( device, "vkCreateCudaModuleNV" ) ); | |
| 1502 vkGetCudaModuleCacheNV = PFN_vkGetCudaModuleCacheNV( vkGetDeviceProcAddr( device, "vkGetCudaModuleCacheNV" ) ); | |
| 1503 vkCreateCudaFunctionNV = PFN_vkCreateCudaFunctionNV( vkGetDeviceProcAddr( device, "vkCreateCudaFunctionNV" ) ); | |
| 1504 vkDestroyCudaModuleNV = PFN_vkDestroyCudaModuleNV( vkGetDeviceProcAddr( device, "vkDestroyCudaModuleNV" ) ); | |
| 1505 vkDestroyCudaFunctionNV = PFN_vkDestroyCudaFunctionNV( vkGetDeviceProcAddr( device, "vkDestroyCudaFunctionNV" ) ); | |
| 1506 vkCmdCudaLaunchKernelNV = PFN_vkCmdCudaLaunchKernelNV( vkGetDeviceProcAddr( device, "vkCmdCudaLaunchKernelNV" ) ); | |
| 1507 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ | |
| 1508 | |
| 1509 //=== VK_QCOM_tile_shading === | |
| 1510 vkCmdDispatchTileQCOM = PFN_vkCmdDispatchTileQCOM( vkGetDeviceProcAddr( device, "vkCmdDispatchTileQCOM" ) ); | |
| 1511 vkCmdBeginPerTileExecutionQCOM = PFN_vkCmdBeginPerTileExecutionQCOM( vkGetDeviceProcAddr( device, "vkCmdBeginPerTileExecutionQCOM" ) ); | |
| 1512 vkCmdEndPerTileExecutionQCOM = PFN_vkCmdEndPerTileExecutionQCOM( vkGetDeviceProcAddr( device, "vkCmdEndPerTileExecutionQCOM" ) ); | |
| 1513 | |
| 1514 # if defined( VK_USE_PLATFORM_METAL_EXT ) | |
| 1515 //=== VK_EXT_metal_objects === | |
| 1516 vkExportMetalObjectsEXT = PFN_vkExportMetalObjectsEXT( vkGetDeviceProcAddr( device, "vkExportMetalObjectsEXT" ) ); | |
| 1517 # endif /*VK_USE_PLATFORM_METAL_EXT*/ | |
| 1518 | |
| 1519 //=== VK_KHR_synchronization2 === | |
| 1520 vkCmdSetEvent2KHR = PFN_vkCmdSetEvent2KHR( vkGetDeviceProcAddr( device, "vkCmdSetEvent2KHR" ) ); | |
| 1521 if ( !vkCmdSetEvent2 ) | |
| 1522 vkCmdSetEvent2 = vkCmdSetEvent2KHR; | |
| 1523 vkCmdResetEvent2KHR = PFN_vkCmdResetEvent2KHR( vkGetDeviceProcAddr( device, "vkCmdResetEvent2KHR" ) ); | |
| 1524 if ( !vkCmdResetEvent2 ) | |
| 1525 vkCmdResetEvent2 = vkCmdResetEvent2KHR; | |
| 1526 vkCmdWaitEvents2KHR = PFN_vkCmdWaitEvents2KHR( vkGetDeviceProcAddr( device, "vkCmdWaitEvents2KHR" ) ); | |
| 1527 if ( !vkCmdWaitEvents2 ) | |
| 1528 vkCmdWaitEvents2 = vkCmdWaitEvents2KHR; | |
| 1529 vkCmdPipelineBarrier2KHR = PFN_vkCmdPipelineBarrier2KHR( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier2KHR" ) ); | |
| 1530 if ( !vkCmdPipelineBarrier2 ) | |
| 1531 vkCmdPipelineBarrier2 = vkCmdPipelineBarrier2KHR; | |
| 1532 vkCmdWriteTimestamp2KHR = PFN_vkCmdWriteTimestamp2KHR( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp2KHR" ) ); | |
| 1533 if ( !vkCmdWriteTimestamp2 ) | |
| 1534 vkCmdWriteTimestamp2 = vkCmdWriteTimestamp2KHR; | |
| 1535 vkQueueSubmit2KHR = PFN_vkQueueSubmit2KHR( vkGetDeviceProcAddr( device, "vkQueueSubmit2KHR" ) ); | |
| 1536 if ( !vkQueueSubmit2 ) | |
| 1537 vkQueueSubmit2 = vkQueueSubmit2KHR; | |
| 1538 | |
| 1539 //=== VK_EXT_descriptor_buffer === | |
| 1540 vkGetDescriptorSetLayoutSizeEXT = PFN_vkGetDescriptorSetLayoutSizeEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSizeEXT" ) ); | |
| 1541 vkGetDescriptorSetLayoutBindingOffsetEXT = | |
| 1542 PFN_vkGetDescriptorSetLayoutBindingOffsetEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutBindingOffsetEXT" ) ); | |
| 1543 vkGetDescriptorEXT = PFN_vkGetDescriptorEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorEXT" ) ); | |
| 1544 vkCmdBindDescriptorBuffersEXT = PFN_vkCmdBindDescriptorBuffersEXT( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBuffersEXT" ) ); | |
| 1545 vkCmdSetDescriptorBufferOffsetsEXT = PFN_vkCmdSetDescriptorBufferOffsetsEXT( vkGetDeviceProcAddr( device, "vkCmdSetDescriptorBufferOffsetsEXT" ) ); | |
| 1546 vkCmdBindDescriptorBufferEmbeddedSamplersEXT = | |
| 1547 PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT" ) ); | |
| 1548 vkGetBufferOpaqueCaptureDescriptorDataEXT = | |
| 1549 PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureDescriptorDataEXT" ) ); | |
| 1550 vkGetImageOpaqueCaptureDescriptorDataEXT = | |
| 1551 PFN_vkGetImageOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetImageOpaqueCaptureDescriptorDataEXT" ) ); | |
| 1552 vkGetImageViewOpaqueCaptureDescriptorDataEXT = | |
| 1553 PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetImageViewOpaqueCaptureDescriptorDataEXT" ) ); | |
| 1554 vkGetSamplerOpaqueCaptureDescriptorDataEXT = | |
| 1555 PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetSamplerOpaqueCaptureDescriptorDataEXT" ) ); | |
| 1556 vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( | |
| 1557 vkGetDeviceProcAddr( device, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT" ) ); | |
| 1558 | |
| 1559 //=== VK_NV_fragment_shading_rate_enums === | |
| 1560 vkCmdSetFragmentShadingRateEnumNV = PFN_vkCmdSetFragmentShadingRateEnumNV( vkGetDeviceProcAddr( device, "vkCmdSetFragmentShadingRateEnumNV" ) ); | |
| 1561 | |
| 1562 //=== VK_EXT_mesh_shader === | |
| 1563 vkCmdDrawMeshTasksEXT = PFN_vkCmdDrawMeshTasksEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksEXT" ) ); | |
| 1564 vkCmdDrawMeshTasksIndirectEXT = PFN_vkCmdDrawMeshTasksIndirectEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectEXT" ) ); | |
| 1565 vkCmdDrawMeshTasksIndirectCountEXT = PFN_vkCmdDrawMeshTasksIndirectCountEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectCountEXT" ) ); | |
| 1566 | |
| 1567 //=== VK_KHR_copy_commands2 === | |
| 1568 vkCmdCopyBuffer2KHR = PFN_vkCmdCopyBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer2KHR" ) ); | |
| 1569 if ( !vkCmdCopyBuffer2 ) | |
| 1570 vkCmdCopyBuffer2 = vkCmdCopyBuffer2KHR; | |
| 1571 vkCmdCopyImage2KHR = PFN_vkCmdCopyImage2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyImage2KHR" ) ); | |
| 1572 if ( !vkCmdCopyImage2 ) | |
| 1573 vkCmdCopyImage2 = vkCmdCopyImage2KHR; | |
| 1574 vkCmdCopyBufferToImage2KHR = PFN_vkCmdCopyBufferToImage2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage2KHR" ) ); | |
| 1575 if ( !vkCmdCopyBufferToImage2 ) | |
| 1576 vkCmdCopyBufferToImage2 = vkCmdCopyBufferToImage2KHR; | |
| 1577 vkCmdCopyImageToBuffer2KHR = PFN_vkCmdCopyImageToBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer2KHR" ) ); | |
| 1578 if ( !vkCmdCopyImageToBuffer2 ) | |
| 1579 vkCmdCopyImageToBuffer2 = vkCmdCopyImageToBuffer2KHR; | |
| 1580 vkCmdBlitImage2KHR = PFN_vkCmdBlitImage2KHR( vkGetDeviceProcAddr( device, "vkCmdBlitImage2KHR" ) ); | |
| 1581 if ( !vkCmdBlitImage2 ) | |
| 1582 vkCmdBlitImage2 = vkCmdBlitImage2KHR; | |
| 1583 vkCmdResolveImage2KHR = PFN_vkCmdResolveImage2KHR( vkGetDeviceProcAddr( device, "vkCmdResolveImage2KHR" ) ); | |
| 1584 if ( !vkCmdResolveImage2 ) | |
| 1585 vkCmdResolveImage2 = vkCmdResolveImage2KHR; | |
| 1586 | |
| 1587 //=== VK_EXT_device_fault === | |
| 1588 vkGetDeviceFaultInfoEXT = PFN_vkGetDeviceFaultInfoEXT( vkGetDeviceProcAddr( device, "vkGetDeviceFaultInfoEXT" ) ); | |
| 1589 | |
| 1590 //=== VK_EXT_vertex_input_dynamic_state === | |
| 1591 vkCmdSetVertexInputEXT = PFN_vkCmdSetVertexInputEXT( vkGetDeviceProcAddr( device, "vkCmdSetVertexInputEXT" ) ); | |
| 1592 | |
| 1593 # if defined( VK_USE_PLATFORM_FUCHSIA ) | |
| 1594 //=== VK_FUCHSIA_external_memory === | |
| 1595 vkGetMemoryZirconHandleFUCHSIA = PFN_vkGetMemoryZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkGetMemoryZirconHandleFUCHSIA" ) ); | |
| 1596 vkGetMemoryZirconHandlePropertiesFUCHSIA = | |
| 1597 PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA( vkGetDeviceProcAddr( device, "vkGetMemoryZirconHandlePropertiesFUCHSIA" ) ); | |
| 1598 # endif /*VK_USE_PLATFORM_FUCHSIA*/ | |
| 1599 | |
| 1600 # if defined( VK_USE_PLATFORM_FUCHSIA ) | |
| 1601 //=== VK_FUCHSIA_external_semaphore === | |
| 1602 vkImportSemaphoreZirconHandleFUCHSIA = | |
| 1603 PFN_vkImportSemaphoreZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkImportSemaphoreZirconHandleFUCHSIA" ) ); | |
| 1604 vkGetSemaphoreZirconHandleFUCHSIA = PFN_vkGetSemaphoreZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkGetSemaphoreZirconHandleFUCHSIA" ) ); | |
| 1605 # endif /*VK_USE_PLATFORM_FUCHSIA*/ | |
| 1606 | |
| 1607 # if defined( VK_USE_PLATFORM_FUCHSIA ) | |
| 1608 //=== VK_FUCHSIA_buffer_collection === | |
| 1609 vkCreateBufferCollectionFUCHSIA = PFN_vkCreateBufferCollectionFUCHSIA( vkGetDeviceProcAddr( device, "vkCreateBufferCollectionFUCHSIA" ) ); | |
| 1610 vkSetBufferCollectionImageConstraintsFUCHSIA = | |
| 1611 PFN_vkSetBufferCollectionImageConstraintsFUCHSIA( vkGetDeviceProcAddr( device, "vkSetBufferCollectionImageConstraintsFUCHSIA" ) ); | |
| 1612 vkSetBufferCollectionBufferConstraintsFUCHSIA = | |
| 1613 PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA( vkGetDeviceProcAddr( device, "vkSetBufferCollectionBufferConstraintsFUCHSIA" ) ); | |
| 1614 vkDestroyBufferCollectionFUCHSIA = PFN_vkDestroyBufferCollectionFUCHSIA( vkGetDeviceProcAddr( device, "vkDestroyBufferCollectionFUCHSIA" ) ); | |
| 1615 vkGetBufferCollectionPropertiesFUCHSIA = | |
| 1616 PFN_vkGetBufferCollectionPropertiesFUCHSIA( vkGetDeviceProcAddr( device, "vkGetBufferCollectionPropertiesFUCHSIA" ) ); | |
| 1617 # endif /*VK_USE_PLATFORM_FUCHSIA*/ | |
| 1618 | |
| 1619 //=== VK_HUAWEI_subpass_shading === | |
| 1620 vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = | |
| 1621 PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( vkGetDeviceProcAddr( device, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" ) ); | |
| 1622 vkCmdSubpassShadingHUAWEI = PFN_vkCmdSubpassShadingHUAWEI( vkGetDeviceProcAddr( device, "vkCmdSubpassShadingHUAWEI" ) ); | |
| 1623 | |
| 1624 //=== VK_HUAWEI_invocation_mask === | |
| 1625 vkCmdBindInvocationMaskHUAWEI = PFN_vkCmdBindInvocationMaskHUAWEI( vkGetDeviceProcAddr( device, "vkCmdBindInvocationMaskHUAWEI" ) ); | |
| 1626 | |
| 1627 //=== VK_NV_external_memory_rdma === | |
| 1628 vkGetMemoryRemoteAddressNV = PFN_vkGetMemoryRemoteAddressNV( vkGetDeviceProcAddr( device, "vkGetMemoryRemoteAddressNV" ) ); | |
| 1629 | |
| 1630 //=== VK_EXT_pipeline_properties === | |
| 1631 vkGetPipelinePropertiesEXT = PFN_vkGetPipelinePropertiesEXT( vkGetDeviceProcAddr( device, "vkGetPipelinePropertiesEXT" ) ); | |
| 1632 | |
| 1633 //=== VK_EXT_extended_dynamic_state2 === | |
| 1634 vkCmdSetPatchControlPointsEXT = PFN_vkCmdSetPatchControlPointsEXT( vkGetDeviceProcAddr( device, "vkCmdSetPatchControlPointsEXT" ) ); | |
| 1635 vkCmdSetRasterizerDiscardEnableEXT = PFN_vkCmdSetRasterizerDiscardEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizerDiscardEnableEXT" ) ); | |
| 1636 if ( !vkCmdSetRasterizerDiscardEnable ) | |
| 1637 vkCmdSetRasterizerDiscardEnable = vkCmdSetRasterizerDiscardEnableEXT; | |
| 1638 vkCmdSetDepthBiasEnableEXT = PFN_vkCmdSetDepthBiasEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBiasEnableEXT" ) ); | |
| 1639 if ( !vkCmdSetDepthBiasEnable ) | |
| 1640 vkCmdSetDepthBiasEnable = vkCmdSetDepthBiasEnableEXT; | |
| 1641 vkCmdSetLogicOpEXT = PFN_vkCmdSetLogicOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetLogicOpEXT" ) ); | |
| 1642 vkCmdSetPrimitiveRestartEnableEXT = PFN_vkCmdSetPrimitiveRestartEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveRestartEnableEXT" ) ); | |
| 1643 if ( !vkCmdSetPrimitiveRestartEnable ) | |
| 1644 vkCmdSetPrimitiveRestartEnable = vkCmdSetPrimitiveRestartEnableEXT; | |
| 1645 | |
| 1646 //=== VK_EXT_color_write_enable === | |
| 1647 vkCmdSetColorWriteEnableEXT = PFN_vkCmdSetColorWriteEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorWriteEnableEXT" ) ); | |
| 1648 | |
| 1649 //=== VK_KHR_ray_tracing_maintenance1 === | |
| 1650 vkCmdTraceRaysIndirect2KHR = PFN_vkCmdTraceRaysIndirect2KHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysIndirect2KHR" ) ); | |
| 1651 | |
| 1652 //=== VK_EXT_multi_draw === | |
| 1653 vkCmdDrawMultiEXT = PFN_vkCmdDrawMultiEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMultiEXT" ) ); | |
| 1654 vkCmdDrawMultiIndexedEXT = PFN_vkCmdDrawMultiIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMultiIndexedEXT" ) ); | |
| 1655 | |
| 1656 //=== VK_EXT_opacity_micromap === | |
| 1657 vkCreateMicromapEXT = PFN_vkCreateMicromapEXT( vkGetDeviceProcAddr( device, "vkCreateMicromapEXT" ) ); | |
| 1658 vkDestroyMicromapEXT = PFN_vkDestroyMicromapEXT( vkGetDeviceProcAddr( device, "vkDestroyMicromapEXT" ) ); | |
| 1659 vkCmdBuildMicromapsEXT = PFN_vkCmdBuildMicromapsEXT( vkGetDeviceProcAddr( device, "vkCmdBuildMicromapsEXT" ) ); | |
| 1660 vkBuildMicromapsEXT = PFN_vkBuildMicromapsEXT( vkGetDeviceProcAddr( device, "vkBuildMicromapsEXT" ) ); | |
| 1661 vkCopyMicromapEXT = PFN_vkCopyMicromapEXT( vkGetDeviceProcAddr( device, "vkCopyMicromapEXT" ) ); | |
| 1662 vkCopyMicromapToMemoryEXT = PFN_vkCopyMicromapToMemoryEXT( vkGetDeviceProcAddr( device, "vkCopyMicromapToMemoryEXT" ) ); | |
| 1663 vkCopyMemoryToMicromapEXT = PFN_vkCopyMemoryToMicromapEXT( vkGetDeviceProcAddr( device, "vkCopyMemoryToMicromapEXT" ) ); | |
| 1664 vkWriteMicromapsPropertiesEXT = PFN_vkWriteMicromapsPropertiesEXT( vkGetDeviceProcAddr( device, "vkWriteMicromapsPropertiesEXT" ) ); | |
| 1665 vkCmdCopyMicromapEXT = PFN_vkCmdCopyMicromapEXT( vkGetDeviceProcAddr( device, "vkCmdCopyMicromapEXT" ) ); | |
| 1666 vkCmdCopyMicromapToMemoryEXT = PFN_vkCmdCopyMicromapToMemoryEXT( vkGetDeviceProcAddr( device, "vkCmdCopyMicromapToMemoryEXT" ) ); | |
| 1667 vkCmdCopyMemoryToMicromapEXT = PFN_vkCmdCopyMemoryToMicromapEXT( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToMicromapEXT" ) ); | |
| 1668 vkCmdWriteMicromapsPropertiesEXT = PFN_vkCmdWriteMicromapsPropertiesEXT( vkGetDeviceProcAddr( device, "vkCmdWriteMicromapsPropertiesEXT" ) ); | |
| 1669 vkGetDeviceMicromapCompatibilityEXT = PFN_vkGetDeviceMicromapCompatibilityEXT( vkGetDeviceProcAddr( device, "vkGetDeviceMicromapCompatibilityEXT" ) ); | |
| 1670 vkGetMicromapBuildSizesEXT = PFN_vkGetMicromapBuildSizesEXT( vkGetDeviceProcAddr( device, "vkGetMicromapBuildSizesEXT" ) ); | |
| 1671 | |
| 1672 //=== VK_HUAWEI_cluster_culling_shader === | |
| 1673 vkCmdDrawClusterHUAWEI = PFN_vkCmdDrawClusterHUAWEI( vkGetDeviceProcAddr( device, "vkCmdDrawClusterHUAWEI" ) ); | |
| 1674 vkCmdDrawClusterIndirectHUAWEI = PFN_vkCmdDrawClusterIndirectHUAWEI( vkGetDeviceProcAddr( device, "vkCmdDrawClusterIndirectHUAWEI" ) ); | |
| 1675 | |
| 1676 //=== VK_EXT_pageable_device_local_memory === | |
| 1677 vkSetDeviceMemoryPriorityEXT = PFN_vkSetDeviceMemoryPriorityEXT( vkGetDeviceProcAddr( device, "vkSetDeviceMemoryPriorityEXT" ) ); | |
| 1678 | |
| 1679 //=== VK_KHR_maintenance4 === | |
| 1680 vkGetDeviceBufferMemoryRequirementsKHR = | |
| 1681 PFN_vkGetDeviceBufferMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetDeviceBufferMemoryRequirementsKHR" ) ); | |
| 1682 if ( !vkGetDeviceBufferMemoryRequirements ) | |
| 1683 vkGetDeviceBufferMemoryRequirements = vkGetDeviceBufferMemoryRequirementsKHR; | |
| 1684 vkGetDeviceImageMemoryRequirementsKHR = | |
| 1685 PFN_vkGetDeviceImageMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetDeviceImageMemoryRequirementsKHR" ) ); | |
| 1686 if ( !vkGetDeviceImageMemoryRequirements ) | |
| 1687 vkGetDeviceImageMemoryRequirements = vkGetDeviceImageMemoryRequirementsKHR; | |
| 1688 vkGetDeviceImageSparseMemoryRequirementsKHR = | |
| 1689 PFN_vkGetDeviceImageSparseMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetDeviceImageSparseMemoryRequirementsKHR" ) ); | |
| 1690 if ( !vkGetDeviceImageSparseMemoryRequirements ) | |
| 1691 vkGetDeviceImageSparseMemoryRequirements = vkGetDeviceImageSparseMemoryRequirementsKHR; | |
| 1692 | |
| 1693 //=== VK_VALVE_descriptor_set_host_mapping === | |
| 1694 vkGetDescriptorSetLayoutHostMappingInfoVALVE = | |
| 1695 PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutHostMappingInfoVALVE" ) ); | |
| 1696 vkGetDescriptorSetHostMappingVALVE = PFN_vkGetDescriptorSetHostMappingVALVE( vkGetDeviceProcAddr( device, "vkGetDescriptorSetHostMappingVALVE" ) ); | |
| 1697 | |
| 1698 //=== VK_NV_copy_memory_indirect === | |
| 1699 vkCmdCopyMemoryIndirectNV = PFN_vkCmdCopyMemoryIndirectNV( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryIndirectNV" ) ); | |
| 1700 vkCmdCopyMemoryToImageIndirectNV = PFN_vkCmdCopyMemoryToImageIndirectNV( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToImageIndirectNV" ) ); | |
| 1701 | |
| 1702 //=== VK_NV_memory_decompression === | |
| 1703 vkCmdDecompressMemoryNV = PFN_vkCmdDecompressMemoryNV( vkGetDeviceProcAddr( device, "vkCmdDecompressMemoryNV" ) ); | |
| 1704 vkCmdDecompressMemoryIndirectCountNV = | |
| 1705 PFN_vkCmdDecompressMemoryIndirectCountNV( vkGetDeviceProcAddr( device, "vkCmdDecompressMemoryIndirectCountNV" ) ); | |
| 1706 | |
| 1707 //=== VK_NV_device_generated_commands_compute === | |
| 1708 vkGetPipelineIndirectMemoryRequirementsNV = | |
| 1709 PFN_vkGetPipelineIndirectMemoryRequirementsNV( vkGetDeviceProcAddr( device, "vkGetPipelineIndirectMemoryRequirementsNV" ) ); | |
| 1710 vkCmdUpdatePipelineIndirectBufferNV = PFN_vkCmdUpdatePipelineIndirectBufferNV( vkGetDeviceProcAddr( device, "vkCmdUpdatePipelineIndirectBufferNV" ) ); | |
| 1711 vkGetPipelineIndirectDeviceAddressNV = | |
| 1712 PFN_vkGetPipelineIndirectDeviceAddressNV( vkGetDeviceProcAddr( device, "vkGetPipelineIndirectDeviceAddressNV" ) ); | |
| 1713 | |
| 1714 # if defined( VK_USE_PLATFORM_OHOS ) | |
| 1715 //=== VK_OHOS_external_memory === | |
| 1716 vkGetNativeBufferPropertiesOHOS = PFN_vkGetNativeBufferPropertiesOHOS( vkGetDeviceProcAddr( device, "vkGetNativeBufferPropertiesOHOS" ) ); | |
| 1717 vkGetMemoryNativeBufferOHOS = PFN_vkGetMemoryNativeBufferOHOS( vkGetDeviceProcAddr( device, "vkGetMemoryNativeBufferOHOS" ) ); | |
| 1718 # endif /*VK_USE_PLATFORM_OHOS*/ | |
| 1719 | |
| 1720 //=== VK_EXT_extended_dynamic_state3 === | |
| 1721 vkCmdSetDepthClampEnableEXT = PFN_vkCmdSetDepthClampEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClampEnableEXT" ) ); | |
| 1722 vkCmdSetPolygonModeEXT = PFN_vkCmdSetPolygonModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetPolygonModeEXT" ) ); | |
| 1723 vkCmdSetRasterizationSamplesEXT = PFN_vkCmdSetRasterizationSamplesEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizationSamplesEXT" ) ); | |
| 1724 vkCmdSetSampleMaskEXT = PFN_vkCmdSetSampleMaskEXT( vkGetDeviceProcAddr( device, "vkCmdSetSampleMaskEXT" ) ); | |
| 1725 vkCmdSetAlphaToCoverageEnableEXT = PFN_vkCmdSetAlphaToCoverageEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetAlphaToCoverageEnableEXT" ) ); | |
| 1726 vkCmdSetAlphaToOneEnableEXT = PFN_vkCmdSetAlphaToOneEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetAlphaToOneEnableEXT" ) ); | |
| 1727 vkCmdSetLogicOpEnableEXT = PFN_vkCmdSetLogicOpEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetLogicOpEnableEXT" ) ); | |
| 1728 vkCmdSetColorBlendEnableEXT = PFN_vkCmdSetColorBlendEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorBlendEnableEXT" ) ); | |
| 1729 vkCmdSetColorBlendEquationEXT = PFN_vkCmdSetColorBlendEquationEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorBlendEquationEXT" ) ); | |
| 1730 vkCmdSetColorWriteMaskEXT = PFN_vkCmdSetColorWriteMaskEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorWriteMaskEXT" ) ); | |
| 1731 vkCmdSetTessellationDomainOriginEXT = PFN_vkCmdSetTessellationDomainOriginEXT( vkGetDeviceProcAddr( device, "vkCmdSetTessellationDomainOriginEXT" ) ); | |
| 1732 vkCmdSetRasterizationStreamEXT = PFN_vkCmdSetRasterizationStreamEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizationStreamEXT" ) ); | |
| 1733 vkCmdSetConservativeRasterizationModeEXT = | |
| 1734 PFN_vkCmdSetConservativeRasterizationModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetConservativeRasterizationModeEXT" ) ); | |
| 1735 vkCmdSetExtraPrimitiveOverestimationSizeEXT = | |
| 1736 PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT( vkGetDeviceProcAddr( device, "vkCmdSetExtraPrimitiveOverestimationSizeEXT" ) ); | |
| 1737 vkCmdSetDepthClipEnableEXT = PFN_vkCmdSetDepthClipEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClipEnableEXT" ) ); | |
| 1738 vkCmdSetSampleLocationsEnableEXT = PFN_vkCmdSetSampleLocationsEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetSampleLocationsEnableEXT" ) ); | |
| 1739 vkCmdSetColorBlendAdvancedEXT = PFN_vkCmdSetColorBlendAdvancedEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorBlendAdvancedEXT" ) ); | |
| 1740 vkCmdSetProvokingVertexModeEXT = PFN_vkCmdSetProvokingVertexModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetProvokingVertexModeEXT" ) ); | |
| 1741 vkCmdSetLineRasterizationModeEXT = PFN_vkCmdSetLineRasterizationModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineRasterizationModeEXT" ) ); | |
| 1742 vkCmdSetLineStippleEnableEXT = PFN_vkCmdSetLineStippleEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineStippleEnableEXT" ) ); | |
| 1743 vkCmdSetDepthClipNegativeOneToOneEXT = | |
| 1744 PFN_vkCmdSetDepthClipNegativeOneToOneEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClipNegativeOneToOneEXT" ) ); | |
| 1745 vkCmdSetViewportWScalingEnableNV = PFN_vkCmdSetViewportWScalingEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportWScalingEnableNV" ) ); | |
| 1746 vkCmdSetViewportSwizzleNV = PFN_vkCmdSetViewportSwizzleNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportSwizzleNV" ) ); | |
| 1747 vkCmdSetCoverageToColorEnableNV = PFN_vkCmdSetCoverageToColorEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageToColorEnableNV" ) ); | |
| 1748 vkCmdSetCoverageToColorLocationNV = PFN_vkCmdSetCoverageToColorLocationNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageToColorLocationNV" ) ); | |
| 1749 vkCmdSetCoverageModulationModeNV = PFN_vkCmdSetCoverageModulationModeNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationModeNV" ) ); | |
| 1750 vkCmdSetCoverageModulationTableEnableNV = | |
| 1751 PFN_vkCmdSetCoverageModulationTableEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationTableEnableNV" ) ); | |
| 1752 vkCmdSetCoverageModulationTableNV = PFN_vkCmdSetCoverageModulationTableNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationTableNV" ) ); | |
| 1753 vkCmdSetShadingRateImageEnableNV = PFN_vkCmdSetShadingRateImageEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetShadingRateImageEnableNV" ) ); | |
| 1754 vkCmdSetRepresentativeFragmentTestEnableNV = | |
| 1755 PFN_vkCmdSetRepresentativeFragmentTestEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetRepresentativeFragmentTestEnableNV" ) ); | |
| 1756 vkCmdSetCoverageReductionModeNV = PFN_vkCmdSetCoverageReductionModeNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageReductionModeNV" ) ); | |
| 1757 | |
| 1758 //=== VK_ARM_tensors === | |
| 1759 vkCreateTensorARM = PFN_vkCreateTensorARM( vkGetDeviceProcAddr( device, "vkCreateTensorARM" ) ); | |
| 1760 vkDestroyTensorARM = PFN_vkDestroyTensorARM( vkGetDeviceProcAddr( device, "vkDestroyTensorARM" ) ); | |
| 1761 vkCreateTensorViewARM = PFN_vkCreateTensorViewARM( vkGetDeviceProcAddr( device, "vkCreateTensorViewARM" ) ); | |
| 1762 vkDestroyTensorViewARM = PFN_vkDestroyTensorViewARM( vkGetDeviceProcAddr( device, "vkDestroyTensorViewARM" ) ); | |
| 1763 vkGetTensorMemoryRequirementsARM = PFN_vkGetTensorMemoryRequirementsARM( vkGetDeviceProcAddr( device, "vkGetTensorMemoryRequirementsARM" ) ); | |
| 1764 vkBindTensorMemoryARM = PFN_vkBindTensorMemoryARM( vkGetDeviceProcAddr( device, "vkBindTensorMemoryARM" ) ); | |
| 1765 vkGetDeviceTensorMemoryRequirementsARM = | |
| 1766 PFN_vkGetDeviceTensorMemoryRequirementsARM( vkGetDeviceProcAddr( device, "vkGetDeviceTensorMemoryRequirementsARM" ) ); | |
| 1767 vkCmdCopyTensorARM = PFN_vkCmdCopyTensorARM( vkGetDeviceProcAddr( device, "vkCmdCopyTensorARM" ) ); | |
| 1768 vkGetTensorOpaqueCaptureDescriptorDataARM = | |
| 1769 PFN_vkGetTensorOpaqueCaptureDescriptorDataARM( vkGetDeviceProcAddr( device, "vkGetTensorOpaqueCaptureDescriptorDataARM" ) ); | |
| 1770 vkGetTensorViewOpaqueCaptureDescriptorDataARM = | |
| 1771 PFN_vkGetTensorViewOpaqueCaptureDescriptorDataARM( vkGetDeviceProcAddr( device, "vkGetTensorViewOpaqueCaptureDescriptorDataARM" ) ); | |
| 1772 | |
| 1773 //=== VK_EXT_shader_module_identifier === | |
| 1774 vkGetShaderModuleIdentifierEXT = PFN_vkGetShaderModuleIdentifierEXT( vkGetDeviceProcAddr( device, "vkGetShaderModuleIdentifierEXT" ) ); | |
| 1775 vkGetShaderModuleCreateInfoIdentifierEXT = | |
| 1776 PFN_vkGetShaderModuleCreateInfoIdentifierEXT( vkGetDeviceProcAddr( device, "vkGetShaderModuleCreateInfoIdentifierEXT" ) ); | |
| 1777 | |
| 1778 //=== VK_NV_optical_flow === | |
| 1779 vkCreateOpticalFlowSessionNV = PFN_vkCreateOpticalFlowSessionNV( vkGetDeviceProcAddr( device, "vkCreateOpticalFlowSessionNV" ) ); | |
| 1780 vkDestroyOpticalFlowSessionNV = PFN_vkDestroyOpticalFlowSessionNV( vkGetDeviceProcAddr( device, "vkDestroyOpticalFlowSessionNV" ) ); | |
| 1781 vkBindOpticalFlowSessionImageNV = PFN_vkBindOpticalFlowSessionImageNV( vkGetDeviceProcAddr( device, "vkBindOpticalFlowSessionImageNV" ) ); | |
| 1782 vkCmdOpticalFlowExecuteNV = PFN_vkCmdOpticalFlowExecuteNV( vkGetDeviceProcAddr( device, "vkCmdOpticalFlowExecuteNV" ) ); | |
| 1783 | |
| 1784 //=== VK_KHR_maintenance5 === | |
| 1785 vkCmdBindIndexBuffer2KHR = PFN_vkCmdBindIndexBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdBindIndexBuffer2KHR" ) ); | |
| 1786 if ( !vkCmdBindIndexBuffer2 ) | |
| 1787 vkCmdBindIndexBuffer2 = vkCmdBindIndexBuffer2KHR; | |
| 1788 vkGetRenderingAreaGranularityKHR = PFN_vkGetRenderingAreaGranularityKHR( vkGetDeviceProcAddr( device, "vkGetRenderingAreaGranularityKHR" ) ); | |
| 1789 if ( !vkGetRenderingAreaGranularity ) | |
| 1790 vkGetRenderingAreaGranularity = vkGetRenderingAreaGranularityKHR; | |
| 1791 vkGetDeviceImageSubresourceLayoutKHR = | |
| 1792 PFN_vkGetDeviceImageSubresourceLayoutKHR( vkGetDeviceProcAddr( device, "vkGetDeviceImageSubresourceLayoutKHR" ) ); | |
| 1793 if ( !vkGetDeviceImageSubresourceLayout ) | |
| 1794 vkGetDeviceImageSubresourceLayout = vkGetDeviceImageSubresourceLayoutKHR; | |
| 1795 vkGetImageSubresourceLayout2KHR = PFN_vkGetImageSubresourceLayout2KHR( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout2KHR" ) ); | |
| 1796 if ( !vkGetImageSubresourceLayout2 ) | |
| 1797 vkGetImageSubresourceLayout2 = vkGetImageSubresourceLayout2KHR; | |
| 1798 | |
| 1799 //=== VK_AMD_anti_lag === | |
| 1800 vkAntiLagUpdateAMD = PFN_vkAntiLagUpdateAMD( vkGetDeviceProcAddr( device, "vkAntiLagUpdateAMD" ) ); | |
| 1801 | |
| 1802 //=== VK_KHR_present_wait2 === | |
| 1803 vkWaitForPresent2KHR = PFN_vkWaitForPresent2KHR( vkGetDeviceProcAddr( device, "vkWaitForPresent2KHR" ) ); | |
| 1804 | |
| 1805 //=== VK_EXT_shader_object === | |
| 1806 vkCreateShadersEXT = PFN_vkCreateShadersEXT( vkGetDeviceProcAddr( device, "vkCreateShadersEXT" ) ); | |
| 1807 vkDestroyShaderEXT = PFN_vkDestroyShaderEXT( vkGetDeviceProcAddr( device, "vkDestroyShaderEXT" ) ); | |
| 1808 vkGetShaderBinaryDataEXT = PFN_vkGetShaderBinaryDataEXT( vkGetDeviceProcAddr( device, "vkGetShaderBinaryDataEXT" ) ); | |
| 1809 vkCmdBindShadersEXT = PFN_vkCmdBindShadersEXT( vkGetDeviceProcAddr( device, "vkCmdBindShadersEXT" ) ); | |
| 1810 vkCmdSetDepthClampRangeEXT = PFN_vkCmdSetDepthClampRangeEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClampRangeEXT" ) ); | |
| 1811 | |
| 1812 //=== VK_KHR_pipeline_binary === | |
| 1813 vkCreatePipelineBinariesKHR = PFN_vkCreatePipelineBinariesKHR( vkGetDeviceProcAddr( device, "vkCreatePipelineBinariesKHR" ) ); | |
| 1814 vkDestroyPipelineBinaryKHR = PFN_vkDestroyPipelineBinaryKHR( vkGetDeviceProcAddr( device, "vkDestroyPipelineBinaryKHR" ) ); | |
| 1815 vkGetPipelineKeyKHR = PFN_vkGetPipelineKeyKHR( vkGetDeviceProcAddr( device, "vkGetPipelineKeyKHR" ) ); | |
| 1816 vkGetPipelineBinaryDataKHR = PFN_vkGetPipelineBinaryDataKHR( vkGetDeviceProcAddr( device, "vkGetPipelineBinaryDataKHR" ) ); | |
| 1817 vkReleaseCapturedPipelineDataKHR = PFN_vkReleaseCapturedPipelineDataKHR( vkGetDeviceProcAddr( device, "vkReleaseCapturedPipelineDataKHR" ) ); | |
| 1818 | |
| 1819 //=== VK_QCOM_tile_properties === | |
| 1820 vkGetFramebufferTilePropertiesQCOM = PFN_vkGetFramebufferTilePropertiesQCOM( vkGetDeviceProcAddr( device, "vkGetFramebufferTilePropertiesQCOM" ) ); | |
| 1821 vkGetDynamicRenderingTilePropertiesQCOM = | |
| 1822 PFN_vkGetDynamicRenderingTilePropertiesQCOM( vkGetDeviceProcAddr( device, "vkGetDynamicRenderingTilePropertiesQCOM" ) ); | |
| 1823 | |
| 1824 //=== VK_KHR_swapchain_maintenance1 === | |
| 1825 vkReleaseSwapchainImagesKHR = PFN_vkReleaseSwapchainImagesKHR( vkGetDeviceProcAddr( device, "vkReleaseSwapchainImagesKHR" ) ); | |
| 1826 | |
| 1827 //=== VK_NV_cooperative_vector === | |
| 1828 vkConvertCooperativeVectorMatrixNV = PFN_vkConvertCooperativeVectorMatrixNV( vkGetDeviceProcAddr( device, "vkConvertCooperativeVectorMatrixNV" ) ); | |
| 1829 vkCmdConvertCooperativeVectorMatrixNV = | |
| 1830 PFN_vkCmdConvertCooperativeVectorMatrixNV( vkGetDeviceProcAddr( device, "vkCmdConvertCooperativeVectorMatrixNV" ) ); | |
| 1831 | |
| 1832 //=== VK_NV_low_latency2 === | |
| 1833 vkSetLatencySleepModeNV = PFN_vkSetLatencySleepModeNV( vkGetDeviceProcAddr( device, "vkSetLatencySleepModeNV" ) ); | |
| 1834 vkLatencySleepNV = PFN_vkLatencySleepNV( vkGetDeviceProcAddr( device, "vkLatencySleepNV" ) ); | |
| 1835 vkSetLatencyMarkerNV = PFN_vkSetLatencyMarkerNV( vkGetDeviceProcAddr( device, "vkSetLatencyMarkerNV" ) ); | |
| 1836 vkGetLatencyTimingsNV = PFN_vkGetLatencyTimingsNV( vkGetDeviceProcAddr( device, "vkGetLatencyTimingsNV" ) ); | |
| 1837 vkQueueNotifyOutOfBandNV = PFN_vkQueueNotifyOutOfBandNV( vkGetDeviceProcAddr( device, "vkQueueNotifyOutOfBandNV" ) ); | |
| 1838 | |
| 1839 //=== VK_ARM_data_graph === | |
| 1840 vkCreateDataGraphPipelinesARM = PFN_vkCreateDataGraphPipelinesARM( vkGetDeviceProcAddr( device, "vkCreateDataGraphPipelinesARM" ) ); | |
| 1841 vkCreateDataGraphPipelineSessionARM = PFN_vkCreateDataGraphPipelineSessionARM( vkGetDeviceProcAddr( device, "vkCreateDataGraphPipelineSessionARM" ) ); | |
| 1842 vkGetDataGraphPipelineSessionBindPointRequirementsARM = | |
| 1843 PFN_vkGetDataGraphPipelineSessionBindPointRequirementsARM( vkGetDeviceProcAddr( device, "vkGetDataGraphPipelineSessionBindPointRequirementsARM" ) ); | |
| 1844 vkGetDataGraphPipelineSessionMemoryRequirementsARM = | |
| 1845 PFN_vkGetDataGraphPipelineSessionMemoryRequirementsARM( vkGetDeviceProcAddr( device, "vkGetDataGraphPipelineSessionMemoryRequirementsARM" ) ); | |
| 1846 vkBindDataGraphPipelineSessionMemoryARM = | |
| 1847 PFN_vkBindDataGraphPipelineSessionMemoryARM( vkGetDeviceProcAddr( device, "vkBindDataGraphPipelineSessionMemoryARM" ) ); | |
| 1848 vkDestroyDataGraphPipelineSessionARM = | |
| 1849 PFN_vkDestroyDataGraphPipelineSessionARM( vkGetDeviceProcAddr( device, "vkDestroyDataGraphPipelineSessionARM" ) ); | |
| 1850 vkCmdDispatchDataGraphARM = PFN_vkCmdDispatchDataGraphARM( vkGetDeviceProcAddr( device, "vkCmdDispatchDataGraphARM" ) ); | |
| 1851 vkGetDataGraphPipelineAvailablePropertiesARM = | |
| 1852 PFN_vkGetDataGraphPipelineAvailablePropertiesARM( vkGetDeviceProcAddr( device, "vkGetDataGraphPipelineAvailablePropertiesARM" ) ); | |
| 1853 vkGetDataGraphPipelinePropertiesARM = PFN_vkGetDataGraphPipelinePropertiesARM( vkGetDeviceProcAddr( device, "vkGetDataGraphPipelinePropertiesARM" ) ); | |
| 1854 | |
| 1855 //=== VK_EXT_attachment_feedback_loop_dynamic_state === | |
| 1856 vkCmdSetAttachmentFeedbackLoopEnableEXT = | |
| 1857 PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetAttachmentFeedbackLoopEnableEXT" ) ); | |
| 1858 | |
| 1859 # if defined( VK_USE_PLATFORM_SCREEN_QNX ) | |
| 1860 //=== VK_QNX_external_memory_screen_buffer === | |
| 1861 vkGetScreenBufferPropertiesQNX = PFN_vkGetScreenBufferPropertiesQNX( vkGetDeviceProcAddr( device, "vkGetScreenBufferPropertiesQNX" ) ); | |
| 1862 # endif /*VK_USE_PLATFORM_SCREEN_QNX*/ | |
| 1863 | |
| 1864 //=== VK_KHR_line_rasterization === | |
| 1865 vkCmdSetLineStippleKHR = PFN_vkCmdSetLineStippleKHR( vkGetDeviceProcAddr( device, "vkCmdSetLineStippleKHR" ) ); | |
| 1866 if ( !vkCmdSetLineStipple ) | |
| 1867 vkCmdSetLineStipple = vkCmdSetLineStippleKHR; | |
| 1868 | |
| 1869 //=== VK_KHR_calibrated_timestamps === | |
| 1870 vkGetCalibratedTimestampsKHR = PFN_vkGetCalibratedTimestampsKHR( vkGetDeviceProcAddr( device, "vkGetCalibratedTimestampsKHR" ) ); | |
| 1871 | |
| 1872 //=== VK_KHR_maintenance6 === | |
| 1873 vkCmdBindDescriptorSets2KHR = PFN_vkCmdBindDescriptorSets2KHR( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorSets2KHR" ) ); | |
| 1874 if ( !vkCmdBindDescriptorSets2 ) | |
| 1875 vkCmdBindDescriptorSets2 = vkCmdBindDescriptorSets2KHR; | |
| 1876 vkCmdPushConstants2KHR = PFN_vkCmdPushConstants2KHR( vkGetDeviceProcAddr( device, "vkCmdPushConstants2KHR" ) ); | |
| 1877 if ( !vkCmdPushConstants2 ) | |
| 1878 vkCmdPushConstants2 = vkCmdPushConstants2KHR; | |
| 1879 vkCmdPushDescriptorSet2KHR = PFN_vkCmdPushDescriptorSet2KHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSet2KHR" ) ); | |
| 1880 if ( !vkCmdPushDescriptorSet2 ) | |
| 1881 vkCmdPushDescriptorSet2 = vkCmdPushDescriptorSet2KHR; | |
| 1882 vkCmdPushDescriptorSetWithTemplate2KHR = | |
| 1883 PFN_vkCmdPushDescriptorSetWithTemplate2KHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplate2KHR" ) ); | |
| 1884 if ( !vkCmdPushDescriptorSetWithTemplate2 ) | |
| 1885 vkCmdPushDescriptorSetWithTemplate2 = vkCmdPushDescriptorSetWithTemplate2KHR; | |
| 1886 vkCmdSetDescriptorBufferOffsets2EXT = PFN_vkCmdSetDescriptorBufferOffsets2EXT( vkGetDeviceProcAddr( device, "vkCmdSetDescriptorBufferOffsets2EXT" ) ); | |
| 1887 vkCmdBindDescriptorBufferEmbeddedSamplers2EXT = | |
| 1888 PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBufferEmbeddedSamplers2EXT" ) ); | |
| 1889 | |
| 1890 //=== VK_QCOM_tile_memory_heap === | |
| 1891 vkCmdBindTileMemoryQCOM = PFN_vkCmdBindTileMemoryQCOM( vkGetDeviceProcAddr( device, "vkCmdBindTileMemoryQCOM" ) ); | |
| 1892 | |
| 1893 //=== VK_KHR_copy_memory_indirect === | |
| 1894 vkCmdCopyMemoryIndirectKHR = PFN_vkCmdCopyMemoryIndirectKHR( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryIndirectKHR" ) ); | |
| 1895 vkCmdCopyMemoryToImageIndirectKHR = PFN_vkCmdCopyMemoryToImageIndirectKHR( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToImageIndirectKHR" ) ); | |
| 1896 | |
| 1897 //=== VK_EXT_memory_decompression === | |
| 1898 vkCmdDecompressMemoryEXT = PFN_vkCmdDecompressMemoryEXT( vkGetDeviceProcAddr( device, "vkCmdDecompressMemoryEXT" ) ); | |
| 1899 vkCmdDecompressMemoryIndirectCountEXT = | |
| 1900 PFN_vkCmdDecompressMemoryIndirectCountEXT( vkGetDeviceProcAddr( device, "vkCmdDecompressMemoryIndirectCountEXT" ) ); | |
| 1901 | |
| 1902 //=== VK_NV_external_compute_queue === | |
| 1903 vkCreateExternalComputeQueueNV = PFN_vkCreateExternalComputeQueueNV( vkGetDeviceProcAddr( device, "vkCreateExternalComputeQueueNV" ) ); | |
| 1904 vkDestroyExternalComputeQueueNV = PFN_vkDestroyExternalComputeQueueNV( vkGetDeviceProcAddr( device, "vkDestroyExternalComputeQueueNV" ) ); | |
| 1905 vkGetExternalComputeQueueDataNV = PFN_vkGetExternalComputeQueueDataNV( vkGetDeviceProcAddr( device, "vkGetExternalComputeQueueDataNV" ) ); | |
| 1906 | |
| 1907 //=== VK_NV_cluster_acceleration_structure === | |
| 1908 vkGetClusterAccelerationStructureBuildSizesNV = | |
| 1909 PFN_vkGetClusterAccelerationStructureBuildSizesNV( vkGetDeviceProcAddr( device, "vkGetClusterAccelerationStructureBuildSizesNV" ) ); | |
| 1910 vkCmdBuildClusterAccelerationStructureIndirectNV = | |
| 1911 PFN_vkCmdBuildClusterAccelerationStructureIndirectNV( vkGetDeviceProcAddr( device, "vkCmdBuildClusterAccelerationStructureIndirectNV" ) ); | |
| 1912 | |
| 1913 //=== VK_NV_partitioned_acceleration_structure === | |
| 1914 vkGetPartitionedAccelerationStructuresBuildSizesNV = | |
| 1915 PFN_vkGetPartitionedAccelerationStructuresBuildSizesNV( vkGetDeviceProcAddr( device, "vkGetPartitionedAccelerationStructuresBuildSizesNV" ) ); | |
| 1916 vkCmdBuildPartitionedAccelerationStructuresNV = | |
| 1917 PFN_vkCmdBuildPartitionedAccelerationStructuresNV( vkGetDeviceProcAddr( device, "vkCmdBuildPartitionedAccelerationStructuresNV" ) ); | |
| 1918 | |
| 1919 //=== VK_EXT_device_generated_commands === | |
| 1920 vkGetGeneratedCommandsMemoryRequirementsEXT = | |
| 1921 PFN_vkGetGeneratedCommandsMemoryRequirementsEXT( vkGetDeviceProcAddr( device, "vkGetGeneratedCommandsMemoryRequirementsEXT" ) ); | |
| 1922 vkCmdPreprocessGeneratedCommandsEXT = PFN_vkCmdPreprocessGeneratedCommandsEXT( vkGetDeviceProcAddr( device, "vkCmdPreprocessGeneratedCommandsEXT" ) ); | |
| 1923 vkCmdExecuteGeneratedCommandsEXT = PFN_vkCmdExecuteGeneratedCommandsEXT( vkGetDeviceProcAddr( device, "vkCmdExecuteGeneratedCommandsEXT" ) ); | |
| 1924 vkCreateIndirectCommandsLayoutEXT = PFN_vkCreateIndirectCommandsLayoutEXT( vkGetDeviceProcAddr( device, "vkCreateIndirectCommandsLayoutEXT" ) ); | |
| 1925 vkDestroyIndirectCommandsLayoutEXT = PFN_vkDestroyIndirectCommandsLayoutEXT( vkGetDeviceProcAddr( device, "vkDestroyIndirectCommandsLayoutEXT" ) ); | |
| 1926 vkCreateIndirectExecutionSetEXT = PFN_vkCreateIndirectExecutionSetEXT( vkGetDeviceProcAddr( device, "vkCreateIndirectExecutionSetEXT" ) ); | |
| 1927 vkDestroyIndirectExecutionSetEXT = PFN_vkDestroyIndirectExecutionSetEXT( vkGetDeviceProcAddr( device, "vkDestroyIndirectExecutionSetEXT" ) ); | |
| 1928 vkUpdateIndirectExecutionSetPipelineEXT = | |
| 1929 PFN_vkUpdateIndirectExecutionSetPipelineEXT( vkGetDeviceProcAddr( device, "vkUpdateIndirectExecutionSetPipelineEXT" ) ); | |
| 1930 vkUpdateIndirectExecutionSetShaderEXT = | |
| 1931 PFN_vkUpdateIndirectExecutionSetShaderEXT( vkGetDeviceProcAddr( device, "vkUpdateIndirectExecutionSetShaderEXT" ) ); | |
| 1932 | |
| 1933 # if defined( VK_USE_PLATFORM_OHOS ) | |
| 1934 //=== VK_OHOS_native_buffer === | |
| 1935 vkGetSwapchainGrallocUsageOHOS = PFN_vkGetSwapchainGrallocUsageOHOS( vkGetDeviceProcAddr( device, "vkGetSwapchainGrallocUsageOHOS" ) ); | |
| 1936 vkAcquireImageOHOS = PFN_vkAcquireImageOHOS( vkGetDeviceProcAddr( device, "vkAcquireImageOHOS" ) ); | |
| 1937 vkQueueSignalReleaseImageOHOS = PFN_vkQueueSignalReleaseImageOHOS( vkGetDeviceProcAddr( device, "vkQueueSignalReleaseImageOHOS" ) ); | |
| 1938 # endif /*VK_USE_PLATFORM_OHOS*/ | |
| 1939 | |
| 1940 # if defined( VK_USE_PLATFORM_METAL_EXT ) | |
| 1941 //=== VK_EXT_external_memory_metal === | |
| 1942 vkGetMemoryMetalHandleEXT = PFN_vkGetMemoryMetalHandleEXT( vkGetDeviceProcAddr( device, "vkGetMemoryMetalHandleEXT" ) ); | |
| 1943 vkGetMemoryMetalHandlePropertiesEXT = PFN_vkGetMemoryMetalHandlePropertiesEXT( vkGetDeviceProcAddr( device, "vkGetMemoryMetalHandlePropertiesEXT" ) ); | |
| 1944 # endif /*VK_USE_PLATFORM_METAL_EXT*/ | |
| 1945 | |
| 1946 //=== VK_EXT_fragment_density_map_offset === | |
| 1947 vkCmdEndRendering2EXT = PFN_vkCmdEndRendering2EXT( vkGetDeviceProcAddr( device, "vkCmdEndRendering2EXT" ) ); | |
| 1948 if ( !vkCmdEndRendering2KHR ) | |
| 1949 vkCmdEndRendering2KHR = vkCmdEndRendering2EXT; | |
| 1950 | |
| 1951 //=== VK_EXT_custom_resolve === | |
| 1952 vkCmdBeginCustomResolveEXT = PFN_vkCmdBeginCustomResolveEXT( vkGetDeviceProcAddr( device, "vkCmdBeginCustomResolveEXT" ) ); | |
| 1953 | |
| 1954 //=== VK_KHR_maintenance10 === | |
| 1955 vkCmdEndRendering2KHR = PFN_vkCmdEndRendering2KHR( vkGetDeviceProcAddr( device, "vkCmdEndRendering2KHR" ) ); | |
| 1956 } | |
| 1957 | |
| 1958 public: | |
| 1959 //=== VK_VERSION_1_0 === | |
| 1960 PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr = 0; | |
| 1961 PFN_vkDestroyDevice vkDestroyDevice = 0; | |
| 1962 PFN_vkGetDeviceQueue vkGetDeviceQueue = 0; | |
| 1963 PFN_vkQueueSubmit vkQueueSubmit = 0; | |
| 1964 PFN_vkQueueWaitIdle vkQueueWaitIdle = 0; | |
| 1965 PFN_vkDeviceWaitIdle vkDeviceWaitIdle = 0; | |
| 1966 PFN_vkAllocateMemory vkAllocateMemory = 0; | |
| 1967 PFN_vkFreeMemory vkFreeMemory = 0; | |
| 1968 PFN_vkMapMemory vkMapMemory = 0; | |
| 1969 PFN_vkUnmapMemory vkUnmapMemory = 0; | |
| 1970 PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges = 0; | |
| 1971 PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges = 0; | |
| 1972 PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment = 0; | |
| 1973 PFN_vkBindBufferMemory vkBindBufferMemory = 0; | |
| 1974 PFN_vkBindImageMemory vkBindImageMemory = 0; | |
| 1975 PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements = 0; | |
| 1976 PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements = 0; | |
| 1977 PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements = 0; | |
| 1978 PFN_vkQueueBindSparse vkQueueBindSparse = 0; | |
| 1979 PFN_vkCreateFence vkCreateFence = 0; | |
| 1980 PFN_vkDestroyFence vkDestroyFence = 0; | |
| 1981 PFN_vkResetFences vkResetFences = 0; | |
| 1982 PFN_vkGetFenceStatus vkGetFenceStatus = 0; | |
| 1983 PFN_vkWaitForFences vkWaitForFences = 0; | |
| 1984 PFN_vkCreateSemaphore vkCreateSemaphore = 0; | |
| 1985 PFN_vkDestroySemaphore vkDestroySemaphore = 0; | |
| 1986 PFN_vkCreateQueryPool vkCreateQueryPool = 0; | |
| 1987 PFN_vkDestroyQueryPool vkDestroyQueryPool = 0; | |
| 1988 PFN_vkGetQueryPoolResults vkGetQueryPoolResults = 0; | |
| 1989 PFN_vkCreateBuffer vkCreateBuffer = 0; | |
| 1990 PFN_vkDestroyBuffer vkDestroyBuffer = 0; | |
| 1991 PFN_vkCreateImage vkCreateImage = 0; | |
| 1992 PFN_vkDestroyImage vkDestroyImage = 0; | |
| 1993 PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout = 0; | |
| 1994 PFN_vkCreateImageView vkCreateImageView = 0; | |
| 1995 PFN_vkDestroyImageView vkDestroyImageView = 0; | |
| 1996 PFN_vkCreateCommandPool vkCreateCommandPool = 0; | |
| 1997 PFN_vkDestroyCommandPool vkDestroyCommandPool = 0; | |
| 1998 PFN_vkResetCommandPool vkResetCommandPool = 0; | |
| 1999 PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers = 0; | |
| 2000 PFN_vkFreeCommandBuffers vkFreeCommandBuffers = 0; | |
| 2001 PFN_vkBeginCommandBuffer vkBeginCommandBuffer = 0; | |
| 2002 PFN_vkEndCommandBuffer vkEndCommandBuffer = 0; | |
| 2003 PFN_vkResetCommandBuffer vkResetCommandBuffer = 0; | |
| 2004 PFN_vkCmdCopyBuffer vkCmdCopyBuffer = 0; | |
| 2005 PFN_vkCmdCopyImage vkCmdCopyImage = 0; | |
| 2006 PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage = 0; | |
| 2007 PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer = 0; | |
| 2008 PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer = 0; | |
| 2009 PFN_vkCmdFillBuffer vkCmdFillBuffer = 0; | |
| 2010 PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier = 0; | |
| 2011 PFN_vkCmdBeginQuery vkCmdBeginQuery = 0; | |
| 2012 PFN_vkCmdEndQuery vkCmdEndQuery = 0; | |
| 2013 PFN_vkCmdResetQueryPool vkCmdResetQueryPool = 0; | |
| 2014 PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp = 0; | |
| 2015 PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults = 0; | |
| 2016 PFN_vkCmdExecuteCommands vkCmdExecuteCommands = 0; | |
| 2017 PFN_vkCreateEvent vkCreateEvent = 0; | |
| 2018 PFN_vkDestroyEvent vkDestroyEvent = 0; | |
| 2019 PFN_vkGetEventStatus vkGetEventStatus = 0; | |
| 2020 PFN_vkSetEvent vkSetEvent = 0; | |
| 2021 PFN_vkResetEvent vkResetEvent = 0; | |
| 2022 PFN_vkCreateBufferView vkCreateBufferView = 0; | |
| 2023 PFN_vkDestroyBufferView vkDestroyBufferView = 0; | |
| 2024 PFN_vkCreateShaderModule vkCreateShaderModule = 0; | |
| 2025 PFN_vkDestroyShaderModule vkDestroyShaderModule = 0; | |
| 2026 PFN_vkCreatePipelineCache vkCreatePipelineCache = 0; | |
| 2027 PFN_vkDestroyPipelineCache vkDestroyPipelineCache = 0; | |
| 2028 PFN_vkGetPipelineCacheData vkGetPipelineCacheData = 0; | |
| 2029 PFN_vkMergePipelineCaches vkMergePipelineCaches = 0; | |
| 2030 PFN_vkCreateComputePipelines vkCreateComputePipelines = 0; | |
| 2031 PFN_vkDestroyPipeline vkDestroyPipeline = 0; | |
| 2032 PFN_vkCreatePipelineLayout vkCreatePipelineLayout = 0; | |
| 2033 PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout = 0; | |
| 2034 PFN_vkCreateSampler vkCreateSampler = 0; | |
| 2035 PFN_vkDestroySampler vkDestroySampler = 0; | |
| 2036 PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout = 0; | |
| 2037 PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout = 0; | |
| 2038 PFN_vkCreateDescriptorPool vkCreateDescriptorPool = 0; | |
| 2039 PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool = 0; | |
| 2040 PFN_vkResetDescriptorPool vkResetDescriptorPool = 0; | |
| 2041 PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets = 0; | |
| 2042 PFN_vkFreeDescriptorSets vkFreeDescriptorSets = 0; | |
| 2043 PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets = 0; | |
| 2044 PFN_vkCmdBindPipeline vkCmdBindPipeline = 0; | |
| 2045 PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets = 0; | |
| 2046 PFN_vkCmdClearColorImage vkCmdClearColorImage = 0; | |
| 2047 PFN_vkCmdDispatch vkCmdDispatch = 0; | |
| 2048 PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect = 0; | |
| 2049 PFN_vkCmdSetEvent vkCmdSetEvent = 0; | |
| 2050 PFN_vkCmdResetEvent vkCmdResetEvent = 0; | |
| 2051 PFN_vkCmdWaitEvents vkCmdWaitEvents = 0; | |
| 2052 PFN_vkCmdPushConstants vkCmdPushConstants = 0; | |
| 2053 PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines = 0; | |
| 2054 PFN_vkCreateFramebuffer vkCreateFramebuffer = 0; | |
| 2055 PFN_vkDestroyFramebuffer vkDestroyFramebuffer = 0; | |
| 2056 PFN_vkCreateRenderPass vkCreateRenderPass = 0; | |
| 2057 PFN_vkDestroyRenderPass vkDestroyRenderPass = 0; | |
| 2058 PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity = 0; | |
| 2059 PFN_vkCmdSetViewport vkCmdSetViewport = 0; | |
| 2060 PFN_vkCmdSetScissor vkCmdSetScissor = 0; | |
| 2061 PFN_vkCmdSetLineWidth vkCmdSetLineWidth = 0; | |
| 2062 PFN_vkCmdSetDepthBias vkCmdSetDepthBias = 0; | |
| 2063 PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants = 0; | |
| 2064 PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds = 0; | |
| 2065 PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask = 0; | |
| 2066 PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask = 0; | |
| 2067 PFN_vkCmdSetStencilReference vkCmdSetStencilReference = 0; | |
| 2068 PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer = 0; | |
| 2069 PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers = 0; | |
| 2070 PFN_vkCmdDraw vkCmdDraw = 0; | |
| 2071 PFN_vkCmdDrawIndexed vkCmdDrawIndexed = 0; | |
| 2072 PFN_vkCmdDrawIndirect vkCmdDrawIndirect = 0; | |
| 2073 PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect = 0; | |
| 2074 PFN_vkCmdBlitImage vkCmdBlitImage = 0; | |
| 2075 PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage = 0; | |
| 2076 PFN_vkCmdClearAttachments vkCmdClearAttachments = 0; | |
| 2077 PFN_vkCmdResolveImage vkCmdResolveImage = 0; | |
| 2078 PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass = 0; | |
| 2079 PFN_vkCmdNextSubpass vkCmdNextSubpass = 0; | |
| 2080 PFN_vkCmdEndRenderPass vkCmdEndRenderPass = 0; | |
| 2081 | |
| 2082 //=== VK_VERSION_1_1 === | |
| 2083 PFN_vkBindBufferMemory2 vkBindBufferMemory2 = 0; | |
| 2084 PFN_vkBindImageMemory2 vkBindImageMemory2 = 0; | |
| 2085 PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures = 0; | |
| 2086 PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask = 0; | |
| 2087 PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2 = 0; | |
| 2088 PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2 = 0; | |
| 2089 PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2 = 0; | |
| 2090 PFN_vkTrimCommandPool vkTrimCommandPool = 0; | |
| 2091 PFN_vkGetDeviceQueue2 vkGetDeviceQueue2 = 0; | |
| 2092 PFN_vkCmdDispatchBase vkCmdDispatchBase = 0; | |
| 2093 PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate = 0; | |
| 2094 PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate = 0; | |
| 2095 PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate = 0; | |
| 2096 PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport = 0; | |
| 2097 PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion = 0; | |
| 2098 PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion = 0; | |
| 2099 | |
| 2100 //=== VK_VERSION_1_2 === | |
| 2101 PFN_vkResetQueryPool vkResetQueryPool = 0; | |
| 2102 PFN_vkGetSemaphoreCounterValue vkGetSemaphoreCounterValue = 0; | |
| 2103 PFN_vkWaitSemaphores vkWaitSemaphores = 0; | |
| 2104 PFN_vkSignalSemaphore vkSignalSemaphore = 0; | |
| 2105 PFN_vkGetBufferDeviceAddress vkGetBufferDeviceAddress = 0; | |
| 2106 PFN_vkGetBufferOpaqueCaptureAddress vkGetBufferOpaqueCaptureAddress = 0; | |
| 2107 PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress = 0; | |
| 2108 PFN_vkCmdDrawIndirectCount vkCmdDrawIndirectCount = 0; | |
| 2109 PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount = 0; | |
| 2110 PFN_vkCreateRenderPass2 vkCreateRenderPass2 = 0; | |
| 2111 PFN_vkCmdBeginRenderPass2 vkCmdBeginRenderPass2 = 0; | |
| 2112 PFN_vkCmdNextSubpass2 vkCmdNextSubpass2 = 0; | |
| 2113 PFN_vkCmdEndRenderPass2 vkCmdEndRenderPass2 = 0; | |
| 2114 | |
| 2115 //=== VK_VERSION_1_3 === | |
| 2116 PFN_vkCreatePrivateDataSlot vkCreatePrivateDataSlot = 0; | |
| 2117 PFN_vkDestroyPrivateDataSlot vkDestroyPrivateDataSlot = 0; | |
| 2118 PFN_vkSetPrivateData vkSetPrivateData = 0; | |
| 2119 PFN_vkGetPrivateData vkGetPrivateData = 0; | |
| 2120 PFN_vkCmdPipelineBarrier2 vkCmdPipelineBarrier2 = 0; | |
| 2121 PFN_vkCmdWriteTimestamp2 vkCmdWriteTimestamp2 = 0; | |
| 2122 PFN_vkQueueSubmit2 vkQueueSubmit2 = 0; | |
| 2123 PFN_vkCmdCopyBuffer2 vkCmdCopyBuffer2 = 0; | |
| 2124 PFN_vkCmdCopyImage2 vkCmdCopyImage2 = 0; | |
| 2125 PFN_vkCmdCopyBufferToImage2 vkCmdCopyBufferToImage2 = 0; | |
| 2126 PFN_vkCmdCopyImageToBuffer2 vkCmdCopyImageToBuffer2 = 0; | |
| 2127 PFN_vkGetDeviceBufferMemoryRequirements vkGetDeviceBufferMemoryRequirements = 0; | |
| 2128 PFN_vkGetDeviceImageMemoryRequirements vkGetDeviceImageMemoryRequirements = 0; | |
| 2129 PFN_vkGetDeviceImageSparseMemoryRequirements vkGetDeviceImageSparseMemoryRequirements = 0; | |
| 2130 PFN_vkCmdSetEvent2 vkCmdSetEvent2 = 0; | |
| 2131 PFN_vkCmdResetEvent2 vkCmdResetEvent2 = 0; | |
| 2132 PFN_vkCmdWaitEvents2 vkCmdWaitEvents2 = 0; | |
| 2133 PFN_vkCmdBlitImage2 vkCmdBlitImage2 = 0; | |
| 2134 PFN_vkCmdResolveImage2 vkCmdResolveImage2 = 0; | |
| 2135 PFN_vkCmdBeginRendering vkCmdBeginRendering = 0; | |
| 2136 PFN_vkCmdEndRendering vkCmdEndRendering = 0; | |
| 2137 PFN_vkCmdSetCullMode vkCmdSetCullMode = 0; | |
| 2138 PFN_vkCmdSetFrontFace vkCmdSetFrontFace = 0; | |
| 2139 PFN_vkCmdSetPrimitiveTopology vkCmdSetPrimitiveTopology = 0; | |
| 2140 PFN_vkCmdSetViewportWithCount vkCmdSetViewportWithCount = 0; | |
| 2141 PFN_vkCmdSetScissorWithCount vkCmdSetScissorWithCount = 0; | |
| 2142 PFN_vkCmdBindVertexBuffers2 vkCmdBindVertexBuffers2 = 0; | |
| 2143 PFN_vkCmdSetDepthTestEnable vkCmdSetDepthTestEnable = 0; | |
| 2144 PFN_vkCmdSetDepthWriteEnable vkCmdSetDepthWriteEnable = 0; | |
| 2145 PFN_vkCmdSetDepthCompareOp vkCmdSetDepthCompareOp = 0; | |
| 2146 PFN_vkCmdSetDepthBoundsTestEnable vkCmdSetDepthBoundsTestEnable = 0; | |
| 2147 PFN_vkCmdSetStencilTestEnable vkCmdSetStencilTestEnable = 0; | |
| 2148 PFN_vkCmdSetStencilOp vkCmdSetStencilOp = 0; | |
| 2149 PFN_vkCmdSetRasterizerDiscardEnable vkCmdSetRasterizerDiscardEnable = 0; | |
| 2150 PFN_vkCmdSetDepthBiasEnable vkCmdSetDepthBiasEnable = 0; | |
| 2151 PFN_vkCmdSetPrimitiveRestartEnable vkCmdSetPrimitiveRestartEnable = 0; | |
| 2152 | |
| 2153 //=== VK_VERSION_1_4 === | |
| 2154 PFN_vkMapMemory2 vkMapMemory2 = 0; | |
| 2155 PFN_vkUnmapMemory2 vkUnmapMemory2 = 0; | |
| 2156 PFN_vkGetDeviceImageSubresourceLayout vkGetDeviceImageSubresourceLayout = 0; | |
| 2157 PFN_vkGetImageSubresourceLayout2 vkGetImageSubresourceLayout2 = 0; | |
| 2158 PFN_vkCopyMemoryToImage vkCopyMemoryToImage = 0; | |
| 2159 PFN_vkCopyImageToMemory vkCopyImageToMemory = 0; | |
| 2160 PFN_vkCopyImageToImage vkCopyImageToImage = 0; | |
| 2161 PFN_vkTransitionImageLayout vkTransitionImageLayout = 0; | |
| 2162 PFN_vkCmdPushDescriptorSet vkCmdPushDescriptorSet = 0; | |
| 2163 PFN_vkCmdPushDescriptorSetWithTemplate vkCmdPushDescriptorSetWithTemplate = 0; | |
| 2164 PFN_vkCmdBindDescriptorSets2 vkCmdBindDescriptorSets2 = 0; | |
| 2165 PFN_vkCmdPushConstants2 vkCmdPushConstants2 = 0; | |
| 2166 PFN_vkCmdPushDescriptorSet2 vkCmdPushDescriptorSet2 = 0; | |
| 2167 PFN_vkCmdPushDescriptorSetWithTemplate2 vkCmdPushDescriptorSetWithTemplate2 = 0; | |
| 2168 PFN_vkCmdSetLineStipple vkCmdSetLineStipple = 0; | |
| 2169 PFN_vkCmdBindIndexBuffer2 vkCmdBindIndexBuffer2 = 0; | |
| 2170 PFN_vkGetRenderingAreaGranularity vkGetRenderingAreaGranularity = 0; | |
| 2171 PFN_vkCmdSetRenderingAttachmentLocations vkCmdSetRenderingAttachmentLocations = 0; | |
| 2172 PFN_vkCmdSetRenderingInputAttachmentIndices vkCmdSetRenderingInputAttachmentIndices = 0; | |
| 2173 | |
| 2174 //=== VK_KHR_swapchain === | |
| 2175 PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR = 0; | |
| 2176 PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR = 0; | |
| 2177 PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR = 0; | |
| 2178 PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR = 0; | |
| 2179 PFN_vkQueuePresentKHR vkQueuePresentKHR = 0; | |
| 2180 PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR = 0; | |
| 2181 PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR = 0; | |
| 2182 PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR = 0; | |
| 2183 | |
| 2184 //=== VK_KHR_display_swapchain === | |
| 2185 PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR = 0; | |
| 2186 | |
| 2187 //=== VK_EXT_debug_marker === | |
| 2188 PFN_vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT = 0; | |
| 2189 PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT = 0; | |
| 2190 PFN_vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT = 0; | |
| 2191 PFN_vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT = 0; | |
| 2192 PFN_vkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXT = 0; | |
| 2193 | |
| 2194 //=== VK_KHR_video_queue === | |
| 2195 PFN_vkCreateVideoSessionKHR vkCreateVideoSessionKHR = 0; | |
| 2196 PFN_vkDestroyVideoSessionKHR vkDestroyVideoSessionKHR = 0; | |
| 2197 PFN_vkGetVideoSessionMemoryRequirementsKHR vkGetVideoSessionMemoryRequirementsKHR = 0; | |
| 2198 PFN_vkBindVideoSessionMemoryKHR vkBindVideoSessionMemoryKHR = 0; | |
| 2199 PFN_vkCreateVideoSessionParametersKHR vkCreateVideoSessionParametersKHR = 0; | |
| 2200 PFN_vkUpdateVideoSessionParametersKHR vkUpdateVideoSessionParametersKHR = 0; | |
| 2201 PFN_vkDestroyVideoSessionParametersKHR vkDestroyVideoSessionParametersKHR = 0; | |
| 2202 PFN_vkCmdBeginVideoCodingKHR vkCmdBeginVideoCodingKHR = 0; | |
| 2203 PFN_vkCmdEndVideoCodingKHR vkCmdEndVideoCodingKHR = 0; | |
| 2204 PFN_vkCmdControlVideoCodingKHR vkCmdControlVideoCodingKHR = 0; | |
| 2205 | |
| 2206 //=== VK_KHR_video_decode_queue === | |
| 2207 PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR = 0; | |
| 2208 | |
| 2209 //=== VK_EXT_transform_feedback === | |
| 2210 PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT = 0; | |
| 2211 PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT = 0; | |
| 2212 PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT = 0; | |
| 2213 PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT = 0; | |
| 2214 PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT = 0; | |
| 2215 PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT = 0; | |
| 2216 | |
| 2217 //=== VK_NVX_binary_import === | |
| 2218 PFN_vkCreateCuModuleNVX vkCreateCuModuleNVX = 0; | |
| 2219 PFN_vkCreateCuFunctionNVX vkCreateCuFunctionNVX = 0; | |
| 2220 PFN_vkDestroyCuModuleNVX vkDestroyCuModuleNVX = 0; | |
| 2221 PFN_vkDestroyCuFunctionNVX vkDestroyCuFunctionNVX = 0; | |
| 2222 PFN_vkCmdCuLaunchKernelNVX vkCmdCuLaunchKernelNVX = 0; | |
| 2223 | |
| 2224 //=== VK_NVX_image_view_handle === | |
| 2225 PFN_vkGetImageViewHandleNVX vkGetImageViewHandleNVX = 0; | |
| 2226 PFN_vkGetImageViewHandle64NVX vkGetImageViewHandle64NVX = 0; | |
| 2227 PFN_vkGetImageViewAddressNVX vkGetImageViewAddressNVX = 0; | |
| 2228 | |
| 2229 //=== VK_AMD_draw_indirect_count === | |
| 2230 PFN_vkCmdDrawIndirectCountAMD vkCmdDrawIndirectCountAMD = 0; | |
| 2231 PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD = 0; | |
| 2232 | |
| 2233 //=== VK_AMD_shader_info === | |
| 2234 PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD = 0; | |
| 2235 | |
| 2236 //=== VK_KHR_dynamic_rendering === | |
| 2237 PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR = 0; | |
| 2238 PFN_vkCmdEndRenderingKHR vkCmdEndRenderingKHR = 0; | |
| 2239 | |
| 2240 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 2241 //=== VK_NV_external_memory_win32 === | |
| 2242 PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV = 0; | |
| 2243 # else | |
| 2244 PFN_dummy vkGetMemoryWin32HandleNV_placeholder = 0; | |
| 2245 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 2246 | |
| 2247 //=== VK_KHR_device_group === | |
| 2248 PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR = 0; | |
| 2249 PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR = 0; | |
| 2250 PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR = 0; | |
| 2251 | |
| 2252 //=== VK_KHR_maintenance1 === | |
| 2253 PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR = 0; | |
| 2254 | |
| 2255 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 2256 //=== VK_KHR_external_memory_win32 === | |
| 2257 PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR = 0; | |
| 2258 PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR = 0; | |
| 2259 # else | |
| 2260 PFN_dummy vkGetMemoryWin32HandleKHR_placeholder = 0; | |
| 2261 PFN_dummy vkGetMemoryWin32HandlePropertiesKHR_placeholder = 0; | |
| 2262 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 2263 | |
| 2264 //=== VK_KHR_external_memory_fd === | |
| 2265 PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR = 0; | |
| 2266 PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR = 0; | |
| 2267 | |
| 2268 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 2269 //=== VK_KHR_external_semaphore_win32 === | |
| 2270 PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR = 0; | |
| 2271 PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR = 0; | |
| 2272 # else | |
| 2273 PFN_dummy vkImportSemaphoreWin32HandleKHR_placeholder = 0; | |
| 2274 PFN_dummy vkGetSemaphoreWin32HandleKHR_placeholder = 0; | |
| 2275 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 2276 | |
| 2277 //=== VK_KHR_external_semaphore_fd === | |
| 2278 PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR = 0; | |
| 2279 PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR = 0; | |
| 2280 | |
| 2281 //=== VK_KHR_push_descriptor === | |
| 2282 PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR = 0; | |
| 2283 PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR = 0; | |
| 2284 | |
| 2285 //=== VK_EXT_conditional_rendering === | |
| 2286 PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT = 0; | |
| 2287 PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT = 0; | |
| 2288 | |
| 2289 //=== VK_KHR_descriptor_update_template === | |
| 2290 PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR = 0; | |
| 2291 PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR = 0; | |
| 2292 PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR = 0; | |
| 2293 | |
| 2294 //=== VK_NV_clip_space_w_scaling === | |
| 2295 PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV = 0; | |
| 2296 | |
| 2297 //=== VK_EXT_display_control === | |
| 2298 PFN_vkDisplayPowerControlEXT vkDisplayPowerControlEXT = 0; | |
| 2299 PFN_vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT = 0; | |
| 2300 PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT = 0; | |
| 2301 PFN_vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT = 0; | |
| 2302 | |
| 2303 //=== VK_GOOGLE_display_timing === | |
| 2304 PFN_vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE = 0; | |
| 2305 PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE = 0; | |
| 2306 | |
| 2307 //=== VK_EXT_discard_rectangles === | |
| 2308 PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT = 0; | |
| 2309 PFN_vkCmdSetDiscardRectangleEnableEXT vkCmdSetDiscardRectangleEnableEXT = 0; | |
| 2310 PFN_vkCmdSetDiscardRectangleModeEXT vkCmdSetDiscardRectangleModeEXT = 0; | |
| 2311 | |
| 2312 //=== VK_EXT_hdr_metadata === | |
| 2313 PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT = 0; | |
| 2314 | |
| 2315 //=== VK_KHR_create_renderpass2 === | |
| 2316 PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR = 0; | |
| 2317 PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR = 0; | |
| 2318 PFN_vkCmdNextSubpass2KHR vkCmdNextSubpass2KHR = 0; | |
| 2319 PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR = 0; | |
| 2320 | |
| 2321 //=== VK_KHR_shared_presentable_image === | |
| 2322 PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR = 0; | |
| 2323 | |
| 2324 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 2325 //=== VK_KHR_external_fence_win32 === | |
| 2326 PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR = 0; | |
| 2327 PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR = 0; | |
| 2328 # else | |
| 2329 PFN_dummy vkImportFenceWin32HandleKHR_placeholder = 0; | |
| 2330 PFN_dummy vkGetFenceWin32HandleKHR_placeholder = 0; | |
| 2331 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 2332 | |
| 2333 //=== VK_KHR_external_fence_fd === | |
| 2334 PFN_vkImportFenceFdKHR vkImportFenceFdKHR = 0; | |
| 2335 PFN_vkGetFenceFdKHR vkGetFenceFdKHR = 0; | |
| 2336 | |
| 2337 //=== VK_KHR_performance_query === | |
| 2338 PFN_vkAcquireProfilingLockKHR vkAcquireProfilingLockKHR = 0; | |
| 2339 PFN_vkReleaseProfilingLockKHR vkReleaseProfilingLockKHR = 0; | |
| 2340 | |
| 2341 //=== VK_EXT_debug_utils === | |
| 2342 PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT = 0; | |
| 2343 PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT = 0; | |
| 2344 PFN_vkQueueBeginDebugUtilsLabelEXT vkQueueBeginDebugUtilsLabelEXT = 0; | |
| 2345 PFN_vkQueueEndDebugUtilsLabelEXT vkQueueEndDebugUtilsLabelEXT = 0; | |
| 2346 PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT = 0; | |
| 2347 PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT = 0; | |
| 2348 PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT = 0; | |
| 2349 PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT = 0; | |
| 2350 | |
| 2351 # if defined( VK_USE_PLATFORM_ANDROID_KHR ) | |
| 2352 //=== VK_ANDROID_external_memory_android_hardware_buffer === | |
| 2353 PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID = 0; | |
| 2354 PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID = 0; | |
| 2355 # else | |
| 2356 PFN_dummy vkGetAndroidHardwareBufferPropertiesANDROID_placeholder = 0; | |
| 2357 PFN_dummy vkGetMemoryAndroidHardwareBufferANDROID_placeholder = 0; | |
| 2358 # endif /*VK_USE_PLATFORM_ANDROID_KHR*/ | |
| 2359 | |
| 2360 # if defined( VK_ENABLE_BETA_EXTENSIONS ) | |
| 2361 //=== VK_AMDX_shader_enqueue === | |
| 2362 PFN_vkCreateExecutionGraphPipelinesAMDX vkCreateExecutionGraphPipelinesAMDX = 0; | |
| 2363 PFN_vkGetExecutionGraphPipelineScratchSizeAMDX vkGetExecutionGraphPipelineScratchSizeAMDX = 0; | |
| 2364 PFN_vkGetExecutionGraphPipelineNodeIndexAMDX vkGetExecutionGraphPipelineNodeIndexAMDX = 0; | |
| 2365 PFN_vkCmdInitializeGraphScratchMemoryAMDX vkCmdInitializeGraphScratchMemoryAMDX = 0; | |
| 2366 PFN_vkCmdDispatchGraphAMDX vkCmdDispatchGraphAMDX = 0; | |
| 2367 PFN_vkCmdDispatchGraphIndirectAMDX vkCmdDispatchGraphIndirectAMDX = 0; | |
| 2368 PFN_vkCmdDispatchGraphIndirectCountAMDX vkCmdDispatchGraphIndirectCountAMDX = 0; | |
| 2369 # else | |
| 2370 PFN_dummy vkCreateExecutionGraphPipelinesAMDX_placeholder = 0; | |
| 2371 PFN_dummy vkGetExecutionGraphPipelineScratchSizeAMDX_placeholder = 0; | |
| 2372 PFN_dummy vkGetExecutionGraphPipelineNodeIndexAMDX_placeholder = 0; | |
| 2373 PFN_dummy vkCmdInitializeGraphScratchMemoryAMDX_placeholder = 0; | |
| 2374 PFN_dummy vkCmdDispatchGraphAMDX_placeholder = 0; | |
| 2375 PFN_dummy vkCmdDispatchGraphIndirectAMDX_placeholder = 0; | |
| 2376 PFN_dummy vkCmdDispatchGraphIndirectCountAMDX_placeholder = 0; | |
| 2377 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ | |
| 2378 | |
| 2379 //=== VK_EXT_sample_locations === | |
| 2380 PFN_vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT = 0; | |
| 2381 | |
| 2382 //=== VK_KHR_get_memory_requirements2 === | |
| 2383 PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR = 0; | |
| 2384 PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR = 0; | |
| 2385 PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR = 0; | |
| 2386 | |
| 2387 //=== VK_KHR_acceleration_structure === | |
| 2388 PFN_vkCreateAccelerationStructureKHR vkCreateAccelerationStructureKHR = 0; | |
| 2389 PFN_vkDestroyAccelerationStructureKHR vkDestroyAccelerationStructureKHR = 0; | |
| 2390 PFN_vkCmdBuildAccelerationStructuresKHR vkCmdBuildAccelerationStructuresKHR = 0; | |
| 2391 PFN_vkCmdBuildAccelerationStructuresIndirectKHR vkCmdBuildAccelerationStructuresIndirectKHR = 0; | |
| 2392 PFN_vkBuildAccelerationStructuresKHR vkBuildAccelerationStructuresKHR = 0; | |
| 2393 PFN_vkCopyAccelerationStructureKHR vkCopyAccelerationStructureKHR = 0; | |
| 2394 PFN_vkCopyAccelerationStructureToMemoryKHR vkCopyAccelerationStructureToMemoryKHR = 0; | |
| 2395 PFN_vkCopyMemoryToAccelerationStructureKHR vkCopyMemoryToAccelerationStructureKHR = 0; | |
| 2396 PFN_vkWriteAccelerationStructuresPropertiesKHR vkWriteAccelerationStructuresPropertiesKHR = 0; | |
| 2397 PFN_vkCmdCopyAccelerationStructureKHR vkCmdCopyAccelerationStructureKHR = 0; | |
| 2398 PFN_vkCmdCopyAccelerationStructureToMemoryKHR vkCmdCopyAccelerationStructureToMemoryKHR = 0; | |
| 2399 PFN_vkCmdCopyMemoryToAccelerationStructureKHR vkCmdCopyMemoryToAccelerationStructureKHR = 0; | |
| 2400 PFN_vkGetAccelerationStructureDeviceAddressKHR vkGetAccelerationStructureDeviceAddressKHR = 0; | |
| 2401 PFN_vkCmdWriteAccelerationStructuresPropertiesKHR vkCmdWriteAccelerationStructuresPropertiesKHR = 0; | |
| 2402 PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR = 0; | |
| 2403 PFN_vkGetAccelerationStructureBuildSizesKHR vkGetAccelerationStructureBuildSizesKHR = 0; | |
| 2404 | |
| 2405 //=== VK_KHR_ray_tracing_pipeline === | |
| 2406 PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR = 0; | |
| 2407 PFN_vkCreateRayTracingPipelinesKHR vkCreateRayTracingPipelinesKHR = 0; | |
| 2408 PFN_vkGetRayTracingShaderGroupHandlesKHR vkGetRayTracingShaderGroupHandlesKHR = 0; | |
| 2409 PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = 0; | |
| 2410 PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR = 0; | |
| 2411 PFN_vkGetRayTracingShaderGroupStackSizeKHR vkGetRayTracingShaderGroupStackSizeKHR = 0; | |
| 2412 PFN_vkCmdSetRayTracingPipelineStackSizeKHR vkCmdSetRayTracingPipelineStackSizeKHR = 0; | |
| 2413 | |
| 2414 //=== VK_KHR_sampler_ycbcr_conversion === | |
| 2415 PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR = 0; | |
| 2416 PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR = 0; | |
| 2417 | |
| 2418 //=== VK_KHR_bind_memory2 === | |
| 2419 PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR = 0; | |
| 2420 PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR = 0; | |
| 2421 | |
| 2422 //=== VK_EXT_image_drm_format_modifier === | |
| 2423 PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT = 0; | |
| 2424 | |
| 2425 //=== VK_EXT_validation_cache === | |
| 2426 PFN_vkCreateValidationCacheEXT vkCreateValidationCacheEXT = 0; | |
| 2427 PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT = 0; | |
| 2428 PFN_vkMergeValidationCachesEXT vkMergeValidationCachesEXT = 0; | |
| 2429 PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT = 0; | |
| 2430 | |
| 2431 //=== VK_NV_shading_rate_image === | |
| 2432 PFN_vkCmdBindShadingRateImageNV vkCmdBindShadingRateImageNV = 0; | |
| 2433 PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV = 0; | |
| 2434 PFN_vkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNV = 0; | |
| 2435 | |
| 2436 //=== VK_NV_ray_tracing === | |
| 2437 PFN_vkCreateAccelerationStructureNV vkCreateAccelerationStructureNV = 0; | |
| 2438 PFN_vkDestroyAccelerationStructureNV vkDestroyAccelerationStructureNV = 0; | |
| 2439 PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV = 0; | |
| 2440 PFN_vkBindAccelerationStructureMemoryNV vkBindAccelerationStructureMemoryNV = 0; | |
| 2441 PFN_vkCmdBuildAccelerationStructureNV vkCmdBuildAccelerationStructureNV = 0; | |
| 2442 PFN_vkCmdCopyAccelerationStructureNV vkCmdCopyAccelerationStructureNV = 0; | |
| 2443 PFN_vkCmdTraceRaysNV vkCmdTraceRaysNV = 0; | |
| 2444 PFN_vkCreateRayTracingPipelinesNV vkCreateRayTracingPipelinesNV = 0; | |
| 2445 PFN_vkGetRayTracingShaderGroupHandlesNV vkGetRayTracingShaderGroupHandlesNV = 0; | |
| 2446 PFN_vkGetAccelerationStructureHandleNV vkGetAccelerationStructureHandleNV = 0; | |
| 2447 PFN_vkCmdWriteAccelerationStructuresPropertiesNV vkCmdWriteAccelerationStructuresPropertiesNV = 0; | |
| 2448 PFN_vkCompileDeferredNV vkCompileDeferredNV = 0; | |
| 2449 | |
| 2450 //=== VK_KHR_maintenance3 === | |
| 2451 PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR = 0; | |
| 2452 | |
| 2453 //=== VK_KHR_draw_indirect_count === | |
| 2454 PFN_vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR = 0; | |
| 2455 PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR = 0; | |
| 2456 | |
| 2457 //=== VK_EXT_external_memory_host === | |
| 2458 PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT = 0; | |
| 2459 | |
| 2460 //=== VK_AMD_buffer_marker === | |
| 2461 PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD = 0; | |
| 2462 PFN_vkCmdWriteBufferMarker2AMD vkCmdWriteBufferMarker2AMD = 0; | |
| 2463 | |
| 2464 //=== VK_EXT_calibrated_timestamps === | |
| 2465 PFN_vkGetCalibratedTimestampsEXT vkGetCalibratedTimestampsEXT = 0; | |
| 2466 | |
| 2467 //=== VK_NV_mesh_shader === | |
| 2468 PFN_vkCmdDrawMeshTasksNV vkCmdDrawMeshTasksNV = 0; | |
| 2469 PFN_vkCmdDrawMeshTasksIndirectNV vkCmdDrawMeshTasksIndirectNV = 0; | |
| 2470 PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV = 0; | |
| 2471 | |
| 2472 //=== VK_NV_scissor_exclusive === | |
| 2473 PFN_vkCmdSetExclusiveScissorEnableNV vkCmdSetExclusiveScissorEnableNV = 0; | |
| 2474 PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV = 0; | |
| 2475 | |
| 2476 //=== VK_NV_device_diagnostic_checkpoints === | |
| 2477 PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV = 0; | |
| 2478 PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV = 0; | |
| 2479 PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV = 0; | |
| 2480 | |
| 2481 //=== VK_KHR_timeline_semaphore === | |
| 2482 PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR = 0; | |
| 2483 PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR = 0; | |
| 2484 PFN_vkSignalSemaphoreKHR vkSignalSemaphoreKHR = 0; | |
| 2485 | |
| 2486 //=== VK_INTEL_performance_query === | |
| 2487 PFN_vkInitializePerformanceApiINTEL vkInitializePerformanceApiINTEL = 0; | |
| 2488 PFN_vkUninitializePerformanceApiINTEL vkUninitializePerformanceApiINTEL = 0; | |
| 2489 PFN_vkCmdSetPerformanceMarkerINTEL vkCmdSetPerformanceMarkerINTEL = 0; | |
| 2490 PFN_vkCmdSetPerformanceStreamMarkerINTEL vkCmdSetPerformanceStreamMarkerINTEL = 0; | |
| 2491 PFN_vkCmdSetPerformanceOverrideINTEL vkCmdSetPerformanceOverrideINTEL = 0; | |
| 2492 PFN_vkAcquirePerformanceConfigurationINTEL vkAcquirePerformanceConfigurationINTEL = 0; | |
| 2493 PFN_vkReleasePerformanceConfigurationINTEL vkReleasePerformanceConfigurationINTEL = 0; | |
| 2494 PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL = 0; | |
| 2495 PFN_vkGetPerformanceParameterINTEL vkGetPerformanceParameterINTEL = 0; | |
| 2496 | |
| 2497 //=== VK_AMD_display_native_hdr === | |
| 2498 PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD = 0; | |
| 2499 | |
| 2500 //=== VK_KHR_fragment_shading_rate === | |
| 2501 PFN_vkCmdSetFragmentShadingRateKHR vkCmdSetFragmentShadingRateKHR = 0; | |
| 2502 | |
| 2503 //=== VK_KHR_dynamic_rendering_local_read === | |
| 2504 PFN_vkCmdSetRenderingAttachmentLocationsKHR vkCmdSetRenderingAttachmentLocationsKHR = 0; | |
| 2505 PFN_vkCmdSetRenderingInputAttachmentIndicesKHR vkCmdSetRenderingInputAttachmentIndicesKHR = 0; | |
| 2506 | |
| 2507 //=== VK_EXT_buffer_device_address === | |
| 2508 PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT = 0; | |
| 2509 | |
| 2510 //=== VK_KHR_present_wait === | |
| 2511 PFN_vkWaitForPresentKHR vkWaitForPresentKHR = 0; | |
| 2512 | |
| 2513 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 2514 //=== VK_EXT_full_screen_exclusive === | |
| 2515 PFN_vkAcquireFullScreenExclusiveModeEXT vkAcquireFullScreenExclusiveModeEXT = 0; | |
| 2516 PFN_vkReleaseFullScreenExclusiveModeEXT vkReleaseFullScreenExclusiveModeEXT = 0; | |
| 2517 PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT = 0; | |
| 2518 # else | |
| 2519 PFN_dummy vkAcquireFullScreenExclusiveModeEXT_placeholder = 0; | |
| 2520 PFN_dummy vkReleaseFullScreenExclusiveModeEXT_placeholder = 0; | |
| 2521 PFN_dummy vkGetDeviceGroupSurfacePresentModes2EXT_placeholder = 0; | |
| 2522 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 2523 | |
| 2524 //=== VK_KHR_buffer_device_address === | |
| 2525 PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR = 0; | |
| 2526 PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR = 0; | |
| 2527 PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR = 0; | |
| 2528 | |
| 2529 //=== VK_EXT_line_rasterization === | |
| 2530 PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT = 0; | |
| 2531 | |
| 2532 //=== VK_EXT_host_query_reset === | |
| 2533 PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT = 0; | |
| 2534 | |
| 2535 //=== VK_EXT_extended_dynamic_state === | |
| 2536 PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT = 0; | |
| 2537 PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT = 0; | |
| 2538 PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT = 0; | |
| 2539 PFN_vkCmdSetViewportWithCountEXT vkCmdSetViewportWithCountEXT = 0; | |
| 2540 PFN_vkCmdSetScissorWithCountEXT vkCmdSetScissorWithCountEXT = 0; | |
| 2541 PFN_vkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXT = 0; | |
| 2542 PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT = 0; | |
| 2543 PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT = 0; | |
| 2544 PFN_vkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXT = 0; | |
| 2545 PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT = 0; | |
| 2546 PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT = 0; | |
| 2547 PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT = 0; | |
| 2548 | |
| 2549 //=== VK_KHR_deferred_host_operations === | |
| 2550 PFN_vkCreateDeferredOperationKHR vkCreateDeferredOperationKHR = 0; | |
| 2551 PFN_vkDestroyDeferredOperationKHR vkDestroyDeferredOperationKHR = 0; | |
| 2552 PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR = 0; | |
| 2553 PFN_vkGetDeferredOperationResultKHR vkGetDeferredOperationResultKHR = 0; | |
| 2554 PFN_vkDeferredOperationJoinKHR vkDeferredOperationJoinKHR = 0; | |
| 2555 | |
| 2556 //=== VK_KHR_pipeline_executable_properties === | |
| 2557 PFN_vkGetPipelineExecutablePropertiesKHR vkGetPipelineExecutablePropertiesKHR = 0; | |
| 2558 PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR = 0; | |
| 2559 PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR = 0; | |
| 2560 | |
| 2561 //=== VK_EXT_host_image_copy === | |
| 2562 PFN_vkCopyMemoryToImageEXT vkCopyMemoryToImageEXT = 0; | |
| 2563 PFN_vkCopyImageToMemoryEXT vkCopyImageToMemoryEXT = 0; | |
| 2564 PFN_vkCopyImageToImageEXT vkCopyImageToImageEXT = 0; | |
| 2565 PFN_vkTransitionImageLayoutEXT vkTransitionImageLayoutEXT = 0; | |
| 2566 PFN_vkGetImageSubresourceLayout2EXT vkGetImageSubresourceLayout2EXT = 0; | |
| 2567 | |
| 2568 //=== VK_KHR_map_memory2 === | |
| 2569 PFN_vkMapMemory2KHR vkMapMemory2KHR = 0; | |
| 2570 PFN_vkUnmapMemory2KHR vkUnmapMemory2KHR = 0; | |
| 2571 | |
| 2572 //=== VK_EXT_swapchain_maintenance1 === | |
| 2573 PFN_vkReleaseSwapchainImagesEXT vkReleaseSwapchainImagesEXT = 0; | |
| 2574 | |
| 2575 //=== VK_NV_device_generated_commands === | |
| 2576 PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV = 0; | |
| 2577 PFN_vkCmdPreprocessGeneratedCommandsNV vkCmdPreprocessGeneratedCommandsNV = 0; | |
| 2578 PFN_vkCmdExecuteGeneratedCommandsNV vkCmdExecuteGeneratedCommandsNV = 0; | |
| 2579 PFN_vkCmdBindPipelineShaderGroupNV vkCmdBindPipelineShaderGroupNV = 0; | |
| 2580 PFN_vkCreateIndirectCommandsLayoutNV vkCreateIndirectCommandsLayoutNV = 0; | |
| 2581 PFN_vkDestroyIndirectCommandsLayoutNV vkDestroyIndirectCommandsLayoutNV = 0; | |
| 2582 | |
| 2583 //=== VK_EXT_depth_bias_control === | |
| 2584 PFN_vkCmdSetDepthBias2EXT vkCmdSetDepthBias2EXT = 0; | |
| 2585 | |
| 2586 //=== VK_EXT_private_data === | |
| 2587 PFN_vkCreatePrivateDataSlotEXT vkCreatePrivateDataSlotEXT = 0; | |
| 2588 PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT = 0; | |
| 2589 PFN_vkSetPrivateDataEXT vkSetPrivateDataEXT = 0; | |
| 2590 PFN_vkGetPrivateDataEXT vkGetPrivateDataEXT = 0; | |
| 2591 | |
| 2592 //=== VK_KHR_video_encode_queue === | |
| 2593 PFN_vkGetEncodedVideoSessionParametersKHR vkGetEncodedVideoSessionParametersKHR = 0; | |
| 2594 PFN_vkCmdEncodeVideoKHR vkCmdEncodeVideoKHR = 0; | |
| 2595 | |
| 2596 # if defined( VK_ENABLE_BETA_EXTENSIONS ) | |
| 2597 //=== VK_NV_cuda_kernel_launch === | |
| 2598 PFN_vkCreateCudaModuleNV vkCreateCudaModuleNV = 0; | |
| 2599 PFN_vkGetCudaModuleCacheNV vkGetCudaModuleCacheNV = 0; | |
| 2600 PFN_vkCreateCudaFunctionNV vkCreateCudaFunctionNV = 0; | |
| 2601 PFN_vkDestroyCudaModuleNV vkDestroyCudaModuleNV = 0; | |
| 2602 PFN_vkDestroyCudaFunctionNV vkDestroyCudaFunctionNV = 0; | |
| 2603 PFN_vkCmdCudaLaunchKernelNV vkCmdCudaLaunchKernelNV = 0; | |
| 2604 # else | |
| 2605 PFN_dummy vkCreateCudaModuleNV_placeholder = 0; | |
| 2606 PFN_dummy vkGetCudaModuleCacheNV_placeholder = 0; | |
| 2607 PFN_dummy vkCreateCudaFunctionNV_placeholder = 0; | |
| 2608 PFN_dummy vkDestroyCudaModuleNV_placeholder = 0; | |
| 2609 PFN_dummy vkDestroyCudaFunctionNV_placeholder = 0; | |
| 2610 PFN_dummy vkCmdCudaLaunchKernelNV_placeholder = 0; | |
| 2611 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ | |
| 2612 | |
| 2613 //=== VK_QCOM_tile_shading === | |
| 2614 PFN_vkCmdDispatchTileQCOM vkCmdDispatchTileQCOM = 0; | |
| 2615 PFN_vkCmdBeginPerTileExecutionQCOM vkCmdBeginPerTileExecutionQCOM = 0; | |
| 2616 PFN_vkCmdEndPerTileExecutionQCOM vkCmdEndPerTileExecutionQCOM = 0; | |
| 2617 | |
| 2618 # if defined( VK_USE_PLATFORM_METAL_EXT ) | |
| 2619 //=== VK_EXT_metal_objects === | |
| 2620 PFN_vkExportMetalObjectsEXT vkExportMetalObjectsEXT = 0; | |
| 2621 # else | |
| 2622 PFN_dummy vkExportMetalObjectsEXT_placeholder = 0; | |
| 2623 # endif /*VK_USE_PLATFORM_METAL_EXT*/ | |
| 2624 | |
| 2625 //=== VK_KHR_synchronization2 === | |
| 2626 PFN_vkCmdSetEvent2KHR vkCmdSetEvent2KHR = 0; | |
| 2627 PFN_vkCmdResetEvent2KHR vkCmdResetEvent2KHR = 0; | |
| 2628 PFN_vkCmdWaitEvents2KHR vkCmdWaitEvents2KHR = 0; | |
| 2629 PFN_vkCmdPipelineBarrier2KHR vkCmdPipelineBarrier2KHR = 0; | |
| 2630 PFN_vkCmdWriteTimestamp2KHR vkCmdWriteTimestamp2KHR = 0; | |
| 2631 PFN_vkQueueSubmit2KHR vkQueueSubmit2KHR = 0; | |
| 2632 | |
| 2633 //=== VK_EXT_descriptor_buffer === | |
| 2634 PFN_vkGetDescriptorSetLayoutSizeEXT vkGetDescriptorSetLayoutSizeEXT = 0; | |
| 2635 PFN_vkGetDescriptorSetLayoutBindingOffsetEXT vkGetDescriptorSetLayoutBindingOffsetEXT = 0; | |
| 2636 PFN_vkGetDescriptorEXT vkGetDescriptorEXT = 0; | |
| 2637 PFN_vkCmdBindDescriptorBuffersEXT vkCmdBindDescriptorBuffersEXT = 0; | |
| 2638 PFN_vkCmdSetDescriptorBufferOffsetsEXT vkCmdSetDescriptorBufferOffsetsEXT = 0; | |
| 2639 PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT vkCmdBindDescriptorBufferEmbeddedSamplersEXT = 0; | |
| 2640 PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT vkGetBufferOpaqueCaptureDescriptorDataEXT = 0; | |
| 2641 PFN_vkGetImageOpaqueCaptureDescriptorDataEXT vkGetImageOpaqueCaptureDescriptorDataEXT = 0; | |
| 2642 PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT vkGetImageViewOpaqueCaptureDescriptorDataEXT = 0; | |
| 2643 PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT vkGetSamplerOpaqueCaptureDescriptorDataEXT = 0; | |
| 2644 PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = 0; | |
| 2645 | |
| 2646 //=== VK_NV_fragment_shading_rate_enums === | |
| 2647 PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV = 0; | |
| 2648 | |
| 2649 //=== VK_EXT_mesh_shader === | |
| 2650 PFN_vkCmdDrawMeshTasksEXT vkCmdDrawMeshTasksEXT = 0; | |
| 2651 PFN_vkCmdDrawMeshTasksIndirectEXT vkCmdDrawMeshTasksIndirectEXT = 0; | |
| 2652 PFN_vkCmdDrawMeshTasksIndirectCountEXT vkCmdDrawMeshTasksIndirectCountEXT = 0; | |
| 2653 | |
| 2654 //=== VK_KHR_copy_commands2 === | |
| 2655 PFN_vkCmdCopyBuffer2KHR vkCmdCopyBuffer2KHR = 0; | |
| 2656 PFN_vkCmdCopyImage2KHR vkCmdCopyImage2KHR = 0; | |
| 2657 PFN_vkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHR = 0; | |
| 2658 PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR = 0; | |
| 2659 PFN_vkCmdBlitImage2KHR vkCmdBlitImage2KHR = 0; | |
| 2660 PFN_vkCmdResolveImage2KHR vkCmdResolveImage2KHR = 0; | |
| 2661 | |
| 2662 //=== VK_EXT_device_fault === | |
| 2663 PFN_vkGetDeviceFaultInfoEXT vkGetDeviceFaultInfoEXT = 0; | |
| 2664 | |
| 2665 //=== VK_EXT_vertex_input_dynamic_state === | |
| 2666 PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT = 0; | |
| 2667 | |
| 2668 # if defined( VK_USE_PLATFORM_FUCHSIA ) | |
| 2669 //=== VK_FUCHSIA_external_memory === | |
| 2670 PFN_vkGetMemoryZirconHandleFUCHSIA vkGetMemoryZirconHandleFUCHSIA = 0; | |
| 2671 PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA vkGetMemoryZirconHandlePropertiesFUCHSIA = 0; | |
| 2672 # else | |
| 2673 PFN_dummy vkGetMemoryZirconHandleFUCHSIA_placeholder = 0; | |
| 2674 PFN_dummy vkGetMemoryZirconHandlePropertiesFUCHSIA_placeholder = 0; | |
| 2675 # endif /*VK_USE_PLATFORM_FUCHSIA*/ | |
| 2676 | |
| 2677 # if defined( VK_USE_PLATFORM_FUCHSIA ) | |
| 2678 //=== VK_FUCHSIA_external_semaphore === | |
| 2679 PFN_vkImportSemaphoreZirconHandleFUCHSIA vkImportSemaphoreZirconHandleFUCHSIA = 0; | |
| 2680 PFN_vkGetSemaphoreZirconHandleFUCHSIA vkGetSemaphoreZirconHandleFUCHSIA = 0; | |
| 2681 # else | |
| 2682 PFN_dummy vkImportSemaphoreZirconHandleFUCHSIA_placeholder = 0; | |
| 2683 PFN_dummy vkGetSemaphoreZirconHandleFUCHSIA_placeholder = 0; | |
| 2684 # endif /*VK_USE_PLATFORM_FUCHSIA*/ | |
| 2685 | |
| 2686 # if defined( VK_USE_PLATFORM_FUCHSIA ) | |
| 2687 //=== VK_FUCHSIA_buffer_collection === | |
| 2688 PFN_vkCreateBufferCollectionFUCHSIA vkCreateBufferCollectionFUCHSIA = 0; | |
| 2689 PFN_vkSetBufferCollectionImageConstraintsFUCHSIA vkSetBufferCollectionImageConstraintsFUCHSIA = 0; | |
| 2690 PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA vkSetBufferCollectionBufferConstraintsFUCHSIA = 0; | |
| 2691 PFN_vkDestroyBufferCollectionFUCHSIA vkDestroyBufferCollectionFUCHSIA = 0; | |
| 2692 PFN_vkGetBufferCollectionPropertiesFUCHSIA vkGetBufferCollectionPropertiesFUCHSIA = 0; | |
| 2693 # else | |
| 2694 PFN_dummy vkCreateBufferCollectionFUCHSIA_placeholder = 0; | |
| 2695 PFN_dummy vkSetBufferCollectionImageConstraintsFUCHSIA_placeholder = 0; | |
| 2696 PFN_dummy vkSetBufferCollectionBufferConstraintsFUCHSIA_placeholder = 0; | |
| 2697 PFN_dummy vkDestroyBufferCollectionFUCHSIA_placeholder = 0; | |
| 2698 PFN_dummy vkGetBufferCollectionPropertiesFUCHSIA_placeholder = 0; | |
| 2699 # endif /*VK_USE_PLATFORM_FUCHSIA*/ | |
| 2700 | |
| 2701 //=== VK_HUAWEI_subpass_shading === | |
| 2702 PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = 0; | |
| 2703 PFN_vkCmdSubpassShadingHUAWEI vkCmdSubpassShadingHUAWEI = 0; | |
| 2704 | |
| 2705 //=== VK_HUAWEI_invocation_mask === | |
| 2706 PFN_vkCmdBindInvocationMaskHUAWEI vkCmdBindInvocationMaskHUAWEI = 0; | |
| 2707 | |
| 2708 //=== VK_NV_external_memory_rdma === | |
| 2709 PFN_vkGetMemoryRemoteAddressNV vkGetMemoryRemoteAddressNV = 0; | |
| 2710 | |
| 2711 //=== VK_EXT_pipeline_properties === | |
| 2712 PFN_vkGetPipelinePropertiesEXT vkGetPipelinePropertiesEXT = 0; | |
| 2713 | |
| 2714 //=== VK_EXT_extended_dynamic_state2 === | |
| 2715 PFN_vkCmdSetPatchControlPointsEXT vkCmdSetPatchControlPointsEXT = 0; | |
| 2716 PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT = 0; | |
| 2717 PFN_vkCmdSetDepthBiasEnableEXT vkCmdSetDepthBiasEnableEXT = 0; | |
| 2718 PFN_vkCmdSetLogicOpEXT vkCmdSetLogicOpEXT = 0; | |
| 2719 PFN_vkCmdSetPrimitiveRestartEnableEXT vkCmdSetPrimitiveRestartEnableEXT = 0; | |
| 2720 | |
| 2721 //=== VK_EXT_color_write_enable === | |
| 2722 PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT = 0; | |
| 2723 | |
| 2724 //=== VK_KHR_ray_tracing_maintenance1 === | |
| 2725 PFN_vkCmdTraceRaysIndirect2KHR vkCmdTraceRaysIndirect2KHR = 0; | |
| 2726 | |
| 2727 //=== VK_EXT_multi_draw === | |
| 2728 PFN_vkCmdDrawMultiEXT vkCmdDrawMultiEXT = 0; | |
| 2729 PFN_vkCmdDrawMultiIndexedEXT vkCmdDrawMultiIndexedEXT = 0; | |
| 2730 | |
| 2731 //=== VK_EXT_opacity_micromap === | |
| 2732 PFN_vkCreateMicromapEXT vkCreateMicromapEXT = 0; | |
| 2733 PFN_vkDestroyMicromapEXT vkDestroyMicromapEXT = 0; | |
| 2734 PFN_vkCmdBuildMicromapsEXT vkCmdBuildMicromapsEXT = 0; | |
| 2735 PFN_vkBuildMicromapsEXT vkBuildMicromapsEXT = 0; | |
| 2736 PFN_vkCopyMicromapEXT vkCopyMicromapEXT = 0; | |
| 2737 PFN_vkCopyMicromapToMemoryEXT vkCopyMicromapToMemoryEXT = 0; | |
| 2738 PFN_vkCopyMemoryToMicromapEXT vkCopyMemoryToMicromapEXT = 0; | |
| 2739 PFN_vkWriteMicromapsPropertiesEXT vkWriteMicromapsPropertiesEXT = 0; | |
| 2740 PFN_vkCmdCopyMicromapEXT vkCmdCopyMicromapEXT = 0; | |
| 2741 PFN_vkCmdCopyMicromapToMemoryEXT vkCmdCopyMicromapToMemoryEXT = 0; | |
| 2742 PFN_vkCmdCopyMemoryToMicromapEXT vkCmdCopyMemoryToMicromapEXT = 0; | |
| 2743 PFN_vkCmdWriteMicromapsPropertiesEXT vkCmdWriteMicromapsPropertiesEXT = 0; | |
| 2744 PFN_vkGetDeviceMicromapCompatibilityEXT vkGetDeviceMicromapCompatibilityEXT = 0; | |
| 2745 PFN_vkGetMicromapBuildSizesEXT vkGetMicromapBuildSizesEXT = 0; | |
| 2746 | |
| 2747 //=== VK_HUAWEI_cluster_culling_shader === | |
| 2748 PFN_vkCmdDrawClusterHUAWEI vkCmdDrawClusterHUAWEI = 0; | |
| 2749 PFN_vkCmdDrawClusterIndirectHUAWEI vkCmdDrawClusterIndirectHUAWEI = 0; | |
| 2750 | |
| 2751 //=== VK_EXT_pageable_device_local_memory === | |
| 2752 PFN_vkSetDeviceMemoryPriorityEXT vkSetDeviceMemoryPriorityEXT = 0; | |
| 2753 | |
| 2754 //=== VK_KHR_maintenance4 === | |
| 2755 PFN_vkGetDeviceBufferMemoryRequirementsKHR vkGetDeviceBufferMemoryRequirementsKHR = 0; | |
| 2756 PFN_vkGetDeviceImageMemoryRequirementsKHR vkGetDeviceImageMemoryRequirementsKHR = 0; | |
| 2757 PFN_vkGetDeviceImageSparseMemoryRequirementsKHR vkGetDeviceImageSparseMemoryRequirementsKHR = 0; | |
| 2758 | |
| 2759 //=== VK_VALVE_descriptor_set_host_mapping === | |
| 2760 PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE vkGetDescriptorSetLayoutHostMappingInfoVALVE = 0; | |
| 2761 PFN_vkGetDescriptorSetHostMappingVALVE vkGetDescriptorSetHostMappingVALVE = 0; | |
| 2762 | |
| 2763 //=== VK_NV_copy_memory_indirect === | |
| 2764 PFN_vkCmdCopyMemoryIndirectNV vkCmdCopyMemoryIndirectNV = 0; | |
| 2765 PFN_vkCmdCopyMemoryToImageIndirectNV vkCmdCopyMemoryToImageIndirectNV = 0; | |
| 2766 | |
| 2767 //=== VK_NV_memory_decompression === | |
| 2768 PFN_vkCmdDecompressMemoryNV vkCmdDecompressMemoryNV = 0; | |
| 2769 PFN_vkCmdDecompressMemoryIndirectCountNV vkCmdDecompressMemoryIndirectCountNV = 0; | |
| 2770 | |
| 2771 //=== VK_NV_device_generated_commands_compute === | |
| 2772 PFN_vkGetPipelineIndirectMemoryRequirementsNV vkGetPipelineIndirectMemoryRequirementsNV = 0; | |
| 2773 PFN_vkCmdUpdatePipelineIndirectBufferNV vkCmdUpdatePipelineIndirectBufferNV = 0; | |
| 2774 PFN_vkGetPipelineIndirectDeviceAddressNV vkGetPipelineIndirectDeviceAddressNV = 0; | |
| 2775 | |
| 2776 # if defined( VK_USE_PLATFORM_OHOS ) | |
| 2777 //=== VK_OHOS_external_memory === | |
| 2778 PFN_vkGetNativeBufferPropertiesOHOS vkGetNativeBufferPropertiesOHOS = 0; | |
| 2779 PFN_vkGetMemoryNativeBufferOHOS vkGetMemoryNativeBufferOHOS = 0; | |
| 2780 # else | |
| 2781 PFN_dummy vkGetNativeBufferPropertiesOHOS_placeholder = 0; | |
| 2782 PFN_dummy vkGetMemoryNativeBufferOHOS_placeholder = 0; | |
| 2783 # endif /*VK_USE_PLATFORM_OHOS*/ | |
| 2784 | |
| 2785 //=== VK_EXT_extended_dynamic_state3 === | |
| 2786 PFN_vkCmdSetDepthClampEnableEXT vkCmdSetDepthClampEnableEXT = 0; | |
| 2787 PFN_vkCmdSetPolygonModeEXT vkCmdSetPolygonModeEXT = 0; | |
| 2788 PFN_vkCmdSetRasterizationSamplesEXT vkCmdSetRasterizationSamplesEXT = 0; | |
| 2789 PFN_vkCmdSetSampleMaskEXT vkCmdSetSampleMaskEXT = 0; | |
| 2790 PFN_vkCmdSetAlphaToCoverageEnableEXT vkCmdSetAlphaToCoverageEnableEXT = 0; | |
| 2791 PFN_vkCmdSetAlphaToOneEnableEXT vkCmdSetAlphaToOneEnableEXT = 0; | |
| 2792 PFN_vkCmdSetLogicOpEnableEXT vkCmdSetLogicOpEnableEXT = 0; | |
| 2793 PFN_vkCmdSetColorBlendEnableEXT vkCmdSetColorBlendEnableEXT = 0; | |
| 2794 PFN_vkCmdSetColorBlendEquationEXT vkCmdSetColorBlendEquationEXT = 0; | |
| 2795 PFN_vkCmdSetColorWriteMaskEXT vkCmdSetColorWriteMaskEXT = 0; | |
| 2796 PFN_vkCmdSetTessellationDomainOriginEXT vkCmdSetTessellationDomainOriginEXT = 0; | |
| 2797 PFN_vkCmdSetRasterizationStreamEXT vkCmdSetRasterizationStreamEXT = 0; | |
| 2798 PFN_vkCmdSetConservativeRasterizationModeEXT vkCmdSetConservativeRasterizationModeEXT = 0; | |
| 2799 PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT vkCmdSetExtraPrimitiveOverestimationSizeEXT = 0; | |
| 2800 PFN_vkCmdSetDepthClipEnableEXT vkCmdSetDepthClipEnableEXT = 0; | |
| 2801 PFN_vkCmdSetSampleLocationsEnableEXT vkCmdSetSampleLocationsEnableEXT = 0; | |
| 2802 PFN_vkCmdSetColorBlendAdvancedEXT vkCmdSetColorBlendAdvancedEXT = 0; | |
| 2803 PFN_vkCmdSetProvokingVertexModeEXT vkCmdSetProvokingVertexModeEXT = 0; | |
| 2804 PFN_vkCmdSetLineRasterizationModeEXT vkCmdSetLineRasterizationModeEXT = 0; | |
| 2805 PFN_vkCmdSetLineStippleEnableEXT vkCmdSetLineStippleEnableEXT = 0; | |
| 2806 PFN_vkCmdSetDepthClipNegativeOneToOneEXT vkCmdSetDepthClipNegativeOneToOneEXT = 0; | |
| 2807 PFN_vkCmdSetViewportWScalingEnableNV vkCmdSetViewportWScalingEnableNV = 0; | |
| 2808 PFN_vkCmdSetViewportSwizzleNV vkCmdSetViewportSwizzleNV = 0; | |
| 2809 PFN_vkCmdSetCoverageToColorEnableNV vkCmdSetCoverageToColorEnableNV = 0; | |
| 2810 PFN_vkCmdSetCoverageToColorLocationNV vkCmdSetCoverageToColorLocationNV = 0; | |
| 2811 PFN_vkCmdSetCoverageModulationModeNV vkCmdSetCoverageModulationModeNV = 0; | |
| 2812 PFN_vkCmdSetCoverageModulationTableEnableNV vkCmdSetCoverageModulationTableEnableNV = 0; | |
| 2813 PFN_vkCmdSetCoverageModulationTableNV vkCmdSetCoverageModulationTableNV = 0; | |
| 2814 PFN_vkCmdSetShadingRateImageEnableNV vkCmdSetShadingRateImageEnableNV = 0; | |
| 2815 PFN_vkCmdSetRepresentativeFragmentTestEnableNV vkCmdSetRepresentativeFragmentTestEnableNV = 0; | |
| 2816 PFN_vkCmdSetCoverageReductionModeNV vkCmdSetCoverageReductionModeNV = 0; | |
| 2817 | |
| 2818 //=== VK_ARM_tensors === | |
| 2819 PFN_vkCreateTensorARM vkCreateTensorARM = 0; | |
| 2820 PFN_vkDestroyTensorARM vkDestroyTensorARM = 0; | |
| 2821 PFN_vkCreateTensorViewARM vkCreateTensorViewARM = 0; | |
| 2822 PFN_vkDestroyTensorViewARM vkDestroyTensorViewARM = 0; | |
| 2823 PFN_vkGetTensorMemoryRequirementsARM vkGetTensorMemoryRequirementsARM = 0; | |
| 2824 PFN_vkBindTensorMemoryARM vkBindTensorMemoryARM = 0; | |
| 2825 PFN_vkGetDeviceTensorMemoryRequirementsARM vkGetDeviceTensorMemoryRequirementsARM = 0; | |
| 2826 PFN_vkCmdCopyTensorARM vkCmdCopyTensorARM = 0; | |
| 2827 PFN_vkGetTensorOpaqueCaptureDescriptorDataARM vkGetTensorOpaqueCaptureDescriptorDataARM = 0; | |
| 2828 PFN_vkGetTensorViewOpaqueCaptureDescriptorDataARM vkGetTensorViewOpaqueCaptureDescriptorDataARM = 0; | |
| 2829 | |
| 2830 //=== VK_EXT_shader_module_identifier === | |
| 2831 PFN_vkGetShaderModuleIdentifierEXT vkGetShaderModuleIdentifierEXT = 0; | |
| 2832 PFN_vkGetShaderModuleCreateInfoIdentifierEXT vkGetShaderModuleCreateInfoIdentifierEXT = 0; | |
| 2833 | |
| 2834 //=== VK_NV_optical_flow === | |
| 2835 PFN_vkCreateOpticalFlowSessionNV vkCreateOpticalFlowSessionNV = 0; | |
| 2836 PFN_vkDestroyOpticalFlowSessionNV vkDestroyOpticalFlowSessionNV = 0; | |
| 2837 PFN_vkBindOpticalFlowSessionImageNV vkBindOpticalFlowSessionImageNV = 0; | |
| 2838 PFN_vkCmdOpticalFlowExecuteNV vkCmdOpticalFlowExecuteNV = 0; | |
| 2839 | |
| 2840 //=== VK_KHR_maintenance5 === | |
| 2841 PFN_vkCmdBindIndexBuffer2KHR vkCmdBindIndexBuffer2KHR = 0; | |
| 2842 PFN_vkGetRenderingAreaGranularityKHR vkGetRenderingAreaGranularityKHR = 0; | |
| 2843 PFN_vkGetDeviceImageSubresourceLayoutKHR vkGetDeviceImageSubresourceLayoutKHR = 0; | |
| 2844 PFN_vkGetImageSubresourceLayout2KHR vkGetImageSubresourceLayout2KHR = 0; | |
| 2845 | |
| 2846 //=== VK_AMD_anti_lag === | |
| 2847 PFN_vkAntiLagUpdateAMD vkAntiLagUpdateAMD = 0; | |
| 2848 | |
| 2849 //=== VK_KHR_present_wait2 === | |
| 2850 PFN_vkWaitForPresent2KHR vkWaitForPresent2KHR = 0; | |
| 2851 | |
| 2852 //=== VK_EXT_shader_object === | |
| 2853 PFN_vkCreateShadersEXT vkCreateShadersEXT = 0; | |
| 2854 PFN_vkDestroyShaderEXT vkDestroyShaderEXT = 0; | |
| 2855 PFN_vkGetShaderBinaryDataEXT vkGetShaderBinaryDataEXT = 0; | |
| 2856 PFN_vkCmdBindShadersEXT vkCmdBindShadersEXT = 0; | |
| 2857 PFN_vkCmdSetDepthClampRangeEXT vkCmdSetDepthClampRangeEXT = 0; | |
| 2858 | |
| 2859 //=== VK_KHR_pipeline_binary === | |
| 2860 PFN_vkCreatePipelineBinariesKHR vkCreatePipelineBinariesKHR = 0; | |
| 2861 PFN_vkDestroyPipelineBinaryKHR vkDestroyPipelineBinaryKHR = 0; | |
| 2862 PFN_vkGetPipelineKeyKHR vkGetPipelineKeyKHR = 0; | |
| 2863 PFN_vkGetPipelineBinaryDataKHR vkGetPipelineBinaryDataKHR = 0; | |
| 2864 PFN_vkReleaseCapturedPipelineDataKHR vkReleaseCapturedPipelineDataKHR = 0; | |
| 2865 | |
| 2866 //=== VK_QCOM_tile_properties === | |
| 2867 PFN_vkGetFramebufferTilePropertiesQCOM vkGetFramebufferTilePropertiesQCOM = 0; | |
| 2868 PFN_vkGetDynamicRenderingTilePropertiesQCOM vkGetDynamicRenderingTilePropertiesQCOM = 0; | |
| 2869 | |
| 2870 //=== VK_KHR_swapchain_maintenance1 === | |
| 2871 PFN_vkReleaseSwapchainImagesKHR vkReleaseSwapchainImagesKHR = 0; | |
| 2872 | |
| 2873 //=== VK_NV_cooperative_vector === | |
| 2874 PFN_vkConvertCooperativeVectorMatrixNV vkConvertCooperativeVectorMatrixNV = 0; | |
| 2875 PFN_vkCmdConvertCooperativeVectorMatrixNV vkCmdConvertCooperativeVectorMatrixNV = 0; | |
| 2876 | |
| 2877 //=== VK_NV_low_latency2 === | |
| 2878 PFN_vkSetLatencySleepModeNV vkSetLatencySleepModeNV = 0; | |
| 2879 PFN_vkLatencySleepNV vkLatencySleepNV = 0; | |
| 2880 PFN_vkSetLatencyMarkerNV vkSetLatencyMarkerNV = 0; | |
| 2881 PFN_vkGetLatencyTimingsNV vkGetLatencyTimingsNV = 0; | |
| 2882 PFN_vkQueueNotifyOutOfBandNV vkQueueNotifyOutOfBandNV = 0; | |
| 2883 | |
| 2884 //=== VK_ARM_data_graph === | |
| 2885 PFN_vkCreateDataGraphPipelinesARM vkCreateDataGraphPipelinesARM = 0; | |
| 2886 PFN_vkCreateDataGraphPipelineSessionARM vkCreateDataGraphPipelineSessionARM = 0; | |
| 2887 PFN_vkGetDataGraphPipelineSessionBindPointRequirementsARM vkGetDataGraphPipelineSessionBindPointRequirementsARM = 0; | |
| 2888 PFN_vkGetDataGraphPipelineSessionMemoryRequirementsARM vkGetDataGraphPipelineSessionMemoryRequirementsARM = 0; | |
| 2889 PFN_vkBindDataGraphPipelineSessionMemoryARM vkBindDataGraphPipelineSessionMemoryARM = 0; | |
| 2890 PFN_vkDestroyDataGraphPipelineSessionARM vkDestroyDataGraphPipelineSessionARM = 0; | |
| 2891 PFN_vkCmdDispatchDataGraphARM vkCmdDispatchDataGraphARM = 0; | |
| 2892 PFN_vkGetDataGraphPipelineAvailablePropertiesARM vkGetDataGraphPipelineAvailablePropertiesARM = 0; | |
| 2893 PFN_vkGetDataGraphPipelinePropertiesARM vkGetDataGraphPipelinePropertiesARM = 0; | |
| 2894 | |
| 2895 //=== VK_EXT_attachment_feedback_loop_dynamic_state === | |
| 2896 PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT vkCmdSetAttachmentFeedbackLoopEnableEXT = 0; | |
| 2897 | |
| 2898 # if defined( VK_USE_PLATFORM_SCREEN_QNX ) | |
| 2899 //=== VK_QNX_external_memory_screen_buffer === | |
| 2900 PFN_vkGetScreenBufferPropertiesQNX vkGetScreenBufferPropertiesQNX = 0; | |
| 2901 # else | |
| 2902 PFN_dummy vkGetScreenBufferPropertiesQNX_placeholder = 0; | |
| 2903 # endif /*VK_USE_PLATFORM_SCREEN_QNX*/ | |
| 2904 | |
| 2905 //=== VK_KHR_line_rasterization === | |
| 2906 PFN_vkCmdSetLineStippleKHR vkCmdSetLineStippleKHR = 0; | |
| 2907 | |
| 2908 //=== VK_KHR_calibrated_timestamps === | |
| 2909 PFN_vkGetCalibratedTimestampsKHR vkGetCalibratedTimestampsKHR = 0; | |
| 2910 | |
| 2911 //=== VK_KHR_maintenance6 === | |
| 2912 PFN_vkCmdBindDescriptorSets2KHR vkCmdBindDescriptorSets2KHR = 0; | |
| 2913 PFN_vkCmdPushConstants2KHR vkCmdPushConstants2KHR = 0; | |
| 2914 PFN_vkCmdPushDescriptorSet2KHR vkCmdPushDescriptorSet2KHR = 0; | |
| 2915 PFN_vkCmdPushDescriptorSetWithTemplate2KHR vkCmdPushDescriptorSetWithTemplate2KHR = 0; | |
| 2916 PFN_vkCmdSetDescriptorBufferOffsets2EXT vkCmdSetDescriptorBufferOffsets2EXT = 0; | |
| 2917 PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT vkCmdBindDescriptorBufferEmbeddedSamplers2EXT = 0; | |
| 2918 | |
| 2919 //=== VK_QCOM_tile_memory_heap === | |
| 2920 PFN_vkCmdBindTileMemoryQCOM vkCmdBindTileMemoryQCOM = 0; | |
| 2921 | |
| 2922 //=== VK_KHR_copy_memory_indirect === | |
| 2923 PFN_vkCmdCopyMemoryIndirectKHR vkCmdCopyMemoryIndirectKHR = 0; | |
| 2924 PFN_vkCmdCopyMemoryToImageIndirectKHR vkCmdCopyMemoryToImageIndirectKHR = 0; | |
| 2925 | |
| 2926 //=== VK_EXT_memory_decompression === | |
| 2927 PFN_vkCmdDecompressMemoryEXT vkCmdDecompressMemoryEXT = 0; | |
| 2928 PFN_vkCmdDecompressMemoryIndirectCountEXT vkCmdDecompressMemoryIndirectCountEXT = 0; | |
| 2929 | |
| 2930 //=== VK_NV_external_compute_queue === | |
| 2931 PFN_vkCreateExternalComputeQueueNV vkCreateExternalComputeQueueNV = 0; | |
| 2932 PFN_vkDestroyExternalComputeQueueNV vkDestroyExternalComputeQueueNV = 0; | |
| 2933 PFN_vkGetExternalComputeQueueDataNV vkGetExternalComputeQueueDataNV = 0; | |
| 2934 | |
| 2935 //=== VK_NV_cluster_acceleration_structure === | |
| 2936 PFN_vkGetClusterAccelerationStructureBuildSizesNV vkGetClusterAccelerationStructureBuildSizesNV = 0; | |
| 2937 PFN_vkCmdBuildClusterAccelerationStructureIndirectNV vkCmdBuildClusterAccelerationStructureIndirectNV = 0; | |
| 2938 | |
| 2939 //=== VK_NV_partitioned_acceleration_structure === | |
| 2940 PFN_vkGetPartitionedAccelerationStructuresBuildSizesNV vkGetPartitionedAccelerationStructuresBuildSizesNV = 0; | |
| 2941 PFN_vkCmdBuildPartitionedAccelerationStructuresNV vkCmdBuildPartitionedAccelerationStructuresNV = 0; | |
| 2942 | |
| 2943 //=== VK_EXT_device_generated_commands === | |
| 2944 PFN_vkGetGeneratedCommandsMemoryRequirementsEXT vkGetGeneratedCommandsMemoryRequirementsEXT = 0; | |
| 2945 PFN_vkCmdPreprocessGeneratedCommandsEXT vkCmdPreprocessGeneratedCommandsEXT = 0; | |
| 2946 PFN_vkCmdExecuteGeneratedCommandsEXT vkCmdExecuteGeneratedCommandsEXT = 0; | |
| 2947 PFN_vkCreateIndirectCommandsLayoutEXT vkCreateIndirectCommandsLayoutEXT = 0; | |
| 2948 PFN_vkDestroyIndirectCommandsLayoutEXT vkDestroyIndirectCommandsLayoutEXT = 0; | |
| 2949 PFN_vkCreateIndirectExecutionSetEXT vkCreateIndirectExecutionSetEXT = 0; | |
| 2950 PFN_vkDestroyIndirectExecutionSetEXT vkDestroyIndirectExecutionSetEXT = 0; | |
| 2951 PFN_vkUpdateIndirectExecutionSetPipelineEXT vkUpdateIndirectExecutionSetPipelineEXT = 0; | |
| 2952 PFN_vkUpdateIndirectExecutionSetShaderEXT vkUpdateIndirectExecutionSetShaderEXT = 0; | |
| 2953 | |
| 2954 # if defined( VK_USE_PLATFORM_OHOS ) | |
| 2955 //=== VK_OHOS_native_buffer === | |
| 2956 PFN_vkGetSwapchainGrallocUsageOHOS vkGetSwapchainGrallocUsageOHOS = 0; | |
| 2957 PFN_vkAcquireImageOHOS vkAcquireImageOHOS = 0; | |
| 2958 PFN_vkQueueSignalReleaseImageOHOS vkQueueSignalReleaseImageOHOS = 0; | |
| 2959 # else | |
| 2960 PFN_dummy vkGetSwapchainGrallocUsageOHOS_placeholder = 0; | |
| 2961 PFN_dummy vkAcquireImageOHOS_placeholder = 0; | |
| 2962 PFN_dummy vkQueueSignalReleaseImageOHOS_placeholder = 0; | |
| 2963 # endif /*VK_USE_PLATFORM_OHOS*/ | |
| 2964 | |
| 2965 # if defined( VK_USE_PLATFORM_METAL_EXT ) | |
| 2966 //=== VK_EXT_external_memory_metal === | |
| 2967 PFN_vkGetMemoryMetalHandleEXT vkGetMemoryMetalHandleEXT = 0; | |
| 2968 PFN_vkGetMemoryMetalHandlePropertiesEXT vkGetMemoryMetalHandlePropertiesEXT = 0; | |
| 2969 # else | |
| 2970 PFN_dummy vkGetMemoryMetalHandleEXT_placeholder = 0; | |
| 2971 PFN_dummy vkGetMemoryMetalHandlePropertiesEXT_placeholder = 0; | |
| 2972 # endif /*VK_USE_PLATFORM_METAL_EXT*/ | |
| 2973 | |
| 2974 //=== VK_EXT_fragment_density_map_offset === | |
| 2975 PFN_vkCmdEndRendering2EXT vkCmdEndRendering2EXT = 0; | |
| 2976 | |
| 2977 //=== VK_EXT_custom_resolve === | |
| 2978 PFN_vkCmdBeginCustomResolveEXT vkCmdBeginCustomResolveEXT = 0; | |
| 2979 | |
| 2980 //=== VK_KHR_maintenance10 === | |
| 2981 PFN_vkCmdEndRendering2KHR vkCmdEndRendering2KHR = 0; | |
| 2982 }; | |
| 2983 | |
| 2984 } // namespace detail | |
| 2985 | |
| 2986 //======================================== | |
| 2987 //=== RAII HANDLE forward declarations === | |
| 2988 //======================================== | |
| 2989 | |
| 2990 //=== VK_VERSION_1_0 === | |
| 2991 class Instance; | |
| 2992 class PhysicalDevice; | |
| 2993 class Device; | |
| 2994 class Queue; | |
| 2995 class DeviceMemory; | |
| 2996 class Fence; | |
| 2997 class Semaphore; | |
| 2998 class QueryPool; | |
| 2999 class Buffer; | |
| 3000 class Image; | |
| 3001 class ImageView; | |
| 3002 class CommandPool; | |
| 3003 class CommandBuffer; | |
| 3004 class Event; | |
| 3005 class BufferView; | |
| 3006 class ShaderModule; | |
| 3007 class PipelineCache; | |
| 3008 class Pipeline; | |
| 3009 class PipelineLayout; | |
| 3010 class Sampler; | |
| 3011 class DescriptorPool; | |
| 3012 class DescriptorSet; | |
| 3013 class DescriptorSetLayout; | |
| 3014 class Framebuffer; | |
| 3015 class RenderPass; | |
| 3016 | |
| 3017 //=== VK_VERSION_1_1 === | |
| 3018 class DescriptorUpdateTemplate; | |
| 3019 class SamplerYcbcrConversion; | |
| 3020 | |
| 3021 //=== VK_VERSION_1_3 === | |
| 3022 class PrivateDataSlot; | |
| 3023 | |
| 3024 //=== VK_KHR_surface === | |
| 3025 class SurfaceKHR; | |
| 3026 | |
| 3027 //=== VK_KHR_swapchain === | |
| 3028 class SwapchainKHR; | |
| 3029 | |
| 3030 //=== VK_KHR_display === | |
| 3031 class DisplayKHR; | |
| 3032 class DisplayModeKHR; | |
| 3033 | |
| 3034 //=== VK_EXT_debug_report === | |
| 3035 class DebugReportCallbackEXT; | |
| 3036 | |
| 3037 //=== VK_KHR_video_queue === | |
| 3038 class VideoSessionKHR; | |
| 3039 class VideoSessionParametersKHR; | |
| 3040 | |
| 3041 //=== VK_NVX_binary_import === | |
| 3042 class CuModuleNVX; | |
| 3043 class CuFunctionNVX; | |
| 3044 | |
| 3045 //=== VK_KHR_descriptor_update_template === | |
| 3046 using DescriptorUpdateTemplateKHR = DescriptorUpdateTemplate; | |
| 3047 | |
| 3048 //=== VK_EXT_debug_utils === | |
| 3049 class DebugUtilsMessengerEXT; | |
| 3050 | |
| 3051 //=== VK_KHR_acceleration_structure === | |
| 3052 class AccelerationStructureKHR; | |
| 3053 | |
| 3054 //=== VK_KHR_sampler_ycbcr_conversion === | |
| 3055 using SamplerYcbcrConversionKHR = SamplerYcbcrConversion; | |
| 3056 | |
| 3057 //=== VK_EXT_validation_cache === | |
| 3058 class ValidationCacheEXT; | |
| 3059 | |
| 3060 //=== VK_NV_ray_tracing === | |
| 3061 class AccelerationStructureNV; | |
| 3062 | |
| 3063 //=== VK_INTEL_performance_query === | |
| 3064 class PerformanceConfigurationINTEL; | |
| 3065 | |
| 3066 //=== VK_KHR_deferred_host_operations === | |
| 3067 class DeferredOperationKHR; | |
| 3068 | |
| 3069 //=== VK_NV_device_generated_commands === | |
| 3070 class IndirectCommandsLayoutNV; | |
| 3071 | |
| 3072 //=== VK_EXT_private_data === | |
| 3073 using PrivateDataSlotEXT = PrivateDataSlot; | |
| 3074 | |
| 3075 # if defined( VK_ENABLE_BETA_EXTENSIONS ) | |
| 3076 //=== VK_NV_cuda_kernel_launch === | |
| 3077 class CudaModuleNV; | |
| 3078 class CudaFunctionNV; | |
| 3079 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ | |
| 3080 | |
| 3081 # if defined( VK_USE_PLATFORM_FUCHSIA ) | |
| 3082 //=== VK_FUCHSIA_buffer_collection === | |
| 3083 class BufferCollectionFUCHSIA; | |
| 3084 # endif /*VK_USE_PLATFORM_FUCHSIA*/ | |
| 3085 | |
| 3086 //=== VK_EXT_opacity_micromap === | |
| 3087 class MicromapEXT; | |
| 3088 | |
| 3089 //=== VK_ARM_tensors === | |
| 3090 class TensorARM; | |
| 3091 class TensorViewARM; | |
| 3092 | |
| 3093 //=== VK_NV_optical_flow === | |
| 3094 class OpticalFlowSessionNV; | |
| 3095 | |
| 3096 //=== VK_EXT_shader_object === | |
| 3097 class ShaderEXT; | |
| 3098 | |
| 3099 //=== VK_KHR_pipeline_binary === | |
| 3100 class PipelineBinaryKHR; | |
| 3101 | |
| 3102 //=== VK_ARM_data_graph === | |
| 3103 class DataGraphPipelineSessionARM; | |
| 3104 | |
| 3105 //=== VK_NV_external_compute_queue === | |
| 3106 class ExternalComputeQueueNV; | |
| 3107 | |
| 3108 //=== VK_EXT_device_generated_commands === | |
| 3109 class IndirectCommandsLayoutEXT; | |
| 3110 class IndirectExecutionSetEXT; | |
| 3111 | |
| 3112 //==================== | |
| 3113 //=== RAII HANDLES === | |
| 3114 //==================== | |
| 3115 | |
| 3116 template <typename Type> | |
| 3117 struct isVulkanRAIIHandleType | |
| 3118 { | |
| 3119 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = false; | |
| 3120 }; | |
| 3121 | |
| 3122 class Context | |
| 3123 { | |
| 3124 public: | |
| 3125 # if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL | |
| 3126 Context() : m_dispatcher( new detail::ContextDispatcher( m_dynamicLoader.getProcAddress<PFN_vkGetInstanceProcAddr>( "vkGetInstanceProcAddr" ) ) ) | |
| 3127 # else | |
| 3128 Context( PFN_vkGetInstanceProcAddr getInstanceProcAddr ) : m_dispatcher( new detail::ContextDispatcher( getInstanceProcAddr ) ) | |
| 3129 # endif | |
| 3130 { | |
| 3131 } | |
| 3132 | |
| 3133 ~Context() = default; | |
| 3134 | |
| 3135 Context( Context const & ) = delete; | |
| 3136 Context( Context && rhs ) VULKAN_HPP_NOEXCEPT | |
| 3137 # if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL | |
| 3138 : m_dynamicLoader( std::move( rhs.m_dynamicLoader ) ) | |
| 3139 , m_dispatcher( rhs.m_dispatcher.release() ) | |
| 3140 # else | |
| 3141 : m_dispatcher( rhs.m_dispatcher.release() ) | |
| 3142 # endif | |
| 3143 { | |
| 3144 } | |
| 3145 Context & operator=( Context const & ) = delete; | |
| 3146 | |
| 3147 Context & operator=( Context && rhs ) VULKAN_HPP_NOEXCEPT | |
| 3148 { | |
| 3149 if ( this != &rhs ) | |
| 3150 { | |
| 3151 # if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL | |
| 3152 m_dynamicLoader = std::move( rhs.m_dynamicLoader ); | |
| 3153 # endif | |
| 3154 m_dispatcher.reset( rhs.m_dispatcher.release() ); | |
| 3155 } | |
| 3156 return *this; | |
| 3157 } | |
| 3158 | |
| 3159 detail::ContextDispatcher const * getDispatcher() const | |
| 3160 { | |
| 3161 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 3162 return &*m_dispatcher; | |
| 3163 } | |
| 3164 | |
| 3165 void swap( Context & rhs ) | |
| 3166 { | |
| 3167 # if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL | |
| 3168 std::swap( m_dynamicLoader, rhs.m_dynamicLoader ); | |
| 3169 # endif | |
| 3170 m_dispatcher.swap( rhs.m_dispatcher ); | |
| 3171 } | |
| 3172 | |
| 3173 //=== VK_VERSION_1_0 === | |
| 3174 | |
| 3175 // wrapper function for command vkCreateInstance, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateInstance.html | |
| 3176 VULKAN_HPP_NODISCARD typename ResultValueType<Instance>::type | |
| 3177 createInstance( InstanceCreateInfo const & createInfo, | |
| 3178 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 3179 | |
| 3180 // wrapper function for command vkEnumerateInstanceExtensionProperties, see | |
| 3181 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceExtensionProperties.html | |
| 3182 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<ExtensionProperties>>::type | |
| 3183 enumerateInstanceExtensionProperties( Optional<const std::string> layerName VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const; | |
| 3184 | |
| 3185 // wrapper function for command vkEnumerateInstanceLayerProperties, see | |
| 3186 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceLayerProperties.html | |
| 3187 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<LayerProperties>>::type enumerateInstanceLayerProperties() const; | |
| 3188 | |
| 3189 //=== VK_VERSION_1_1 === | |
| 3190 | |
| 3191 // wrapper function for command vkEnumerateInstanceVersion, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceVersion.html | |
| 3192 VULKAN_HPP_NODISCARD typename ResultValueType<uint32_t>::type enumerateInstanceVersion() const; | |
| 3193 | |
| 3194 private: | |
| 3195 # if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL | |
| 3196 VULKAN_HPP_NAMESPACE::detail::DynamicLoader m_dynamicLoader; | |
| 3197 # endif | |
| 3198 std::unique_ptr<detail::ContextDispatcher> m_dispatcher; | |
| 3199 }; | |
| 3200 | |
| 3201 // wrapper class for handle VkInstance, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkInstance.html | |
| 3202 class Instance | |
| 3203 { | |
| 3204 public: | |
| 3205 using CType = VkInstance; | |
| 3206 using CppType = VULKAN_HPP_NAMESPACE::Instance; | |
| 3207 | |
| 3208 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eInstance; | |
| 3209 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eInstance; | |
| 3210 | |
| 3211 public: | |
| 3212 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 3213 Instance( Context const & context, InstanceCreateInfo const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 3214 { | |
| 3215 *this = context.createInstance( createInfo, allocator ); | |
| 3216 } | |
| 3217 # endif | |
| 3218 | |
| 3219 Instance( Context const & context, VkInstance instance, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 3220 : m_instance( instance ), m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 3221 { | |
| 3222 m_dispatcher.reset( new detail::InstanceDispatcher( context.getDispatcher()->vkGetInstanceProcAddr, static_cast<VkInstance>( m_instance ) ) ); | |
| 3223 } | |
| 3224 | |
| 3225 Instance( std::nullptr_t ) {} | |
| 3226 | |
| 3227 ~Instance() | |
| 3228 { | |
| 3229 clear(); | |
| 3230 } | |
| 3231 | |
| 3232 Instance() = delete; | |
| 3233 Instance( Instance const & ) = delete; | |
| 3234 | |
| 3235 Instance( Instance && rhs ) VULKAN_HPP_NOEXCEPT | |
| 3236 : m_instance( exchange( rhs.m_instance, {} ) ) | |
| 3237 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 3238 , m_dispatcher( rhs.m_dispatcher.release() ) | |
| 3239 { | |
| 3240 } | |
| 3241 | |
| 3242 Instance & operator=( Instance const & ) = delete; | |
| 3243 | |
| 3244 Instance & operator=( Instance && rhs ) VULKAN_HPP_NOEXCEPT | |
| 3245 { | |
| 3246 if ( this != &rhs ) | |
| 3247 { | |
| 3248 std::swap( m_instance, rhs.m_instance ); | |
| 3249 std::swap( m_allocator, rhs.m_allocator ); | |
| 3250 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 3251 } | |
| 3252 return *this; | |
| 3253 } | |
| 3254 | |
| 3255 VULKAN_HPP_NAMESPACE::Instance const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 3256 { | |
| 3257 return m_instance; | |
| 3258 } | |
| 3259 | |
| 3260 VULKAN_HPP_NAMESPACE::Instance const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 3261 { | |
| 3262 return std::move( m_instance ); | |
| 3263 } | |
| 3264 | |
| 3265 operator VULKAN_HPP_NAMESPACE::Instance() const VULKAN_HPP_NOEXCEPT | |
| 3266 { | |
| 3267 return m_instance; | |
| 3268 } | |
| 3269 | |
| 3270 void clear() VULKAN_HPP_NOEXCEPT | |
| 3271 { | |
| 3272 if ( m_instance ) | |
| 3273 { | |
| 3274 getDispatcher()->vkDestroyInstance( static_cast<VkInstance>( m_instance ), reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 3275 } | |
| 3276 m_instance = nullptr; | |
| 3277 m_allocator = nullptr; | |
| 3278 m_dispatcher = nullptr; | |
| 3279 } | |
| 3280 | |
| 3281 VULKAN_HPP_NAMESPACE::Instance release() | |
| 3282 { | |
| 3283 m_allocator = nullptr; | |
| 3284 m_dispatcher = nullptr; | |
| 3285 return exchange( m_instance, nullptr ); | |
| 3286 } | |
| 3287 | |
| 3288 detail::InstanceDispatcher const * getDispatcher() const | |
| 3289 { | |
| 3290 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 3291 return &*m_dispatcher; | |
| 3292 } | |
| 3293 | |
| 3294 void swap( Instance & rhs ) VULKAN_HPP_NOEXCEPT | |
| 3295 { | |
| 3296 std::swap( m_instance, rhs.m_instance ); | |
| 3297 std::swap( m_allocator, rhs.m_allocator ); | |
| 3298 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 3299 } | |
| 3300 | |
| 3301 //=== VK_VERSION_1_0 === | |
| 3302 | |
| 3303 // wrapper function for command vkEnumeratePhysicalDevices, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDevices.html | |
| 3304 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<PhysicalDevice>>::type enumeratePhysicalDevices() const; | |
| 3305 | |
| 3306 // wrapper function for command vkGetInstanceProcAddr, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetInstanceProcAddr.html | |
| 3307 VULKAN_HPP_NODISCARD PFN_VoidFunction getProcAddr( const std::string & name ) const VULKAN_HPP_NOEXCEPT; | |
| 3308 | |
| 3309 //=== VK_VERSION_1_1 === | |
| 3310 | |
| 3311 // wrapper function for command vkEnumeratePhysicalDeviceGroups, see | |
| 3312 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceGroups.html | |
| 3313 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<PhysicalDeviceGroupProperties>>::type enumeratePhysicalDeviceGroups() const; | |
| 3314 | |
| 3315 //=== VK_KHR_display === | |
| 3316 | |
| 3317 // wrapper function for command vkCreateDisplayPlaneSurfaceKHR, see | |
| 3318 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDisplayPlaneSurfaceKHR.html | |
| 3319 VULKAN_HPP_NODISCARD typename ResultValueType<SurfaceKHR>::type | |
| 3320 createDisplayPlaneSurfaceKHR( DisplaySurfaceCreateInfoKHR const & createInfo, | |
| 3321 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 3322 | |
| 3323 # if defined( VK_USE_PLATFORM_XLIB_KHR ) | |
| 3324 //=== VK_KHR_xlib_surface === | |
| 3325 | |
| 3326 // wrapper function for command vkCreateXlibSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateXlibSurfaceKHR.html | |
| 3327 VULKAN_HPP_NODISCARD typename ResultValueType<SurfaceKHR>::type | |
| 3328 createXlibSurfaceKHR( XlibSurfaceCreateInfoKHR const & createInfo, | |
| 3329 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 3330 # endif /*VK_USE_PLATFORM_XLIB_KHR*/ | |
| 3331 | |
| 3332 # if defined( VK_USE_PLATFORM_XCB_KHR ) | |
| 3333 //=== VK_KHR_xcb_surface === | |
| 3334 | |
| 3335 // wrapper function for command vkCreateXcbSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateXcbSurfaceKHR.html | |
| 3336 VULKAN_HPP_NODISCARD typename ResultValueType<SurfaceKHR>::type | |
| 3337 createXcbSurfaceKHR( XcbSurfaceCreateInfoKHR const & createInfo, | |
| 3338 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 3339 # endif /*VK_USE_PLATFORM_XCB_KHR*/ | |
| 3340 | |
| 3341 # if defined( VK_USE_PLATFORM_WAYLAND_KHR ) | |
| 3342 //=== VK_KHR_wayland_surface === | |
| 3343 | |
| 3344 // wrapper function for command vkCreateWaylandSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateWaylandSurfaceKHR.html | |
| 3345 VULKAN_HPP_NODISCARD typename ResultValueType<SurfaceKHR>::type | |
| 3346 createWaylandSurfaceKHR( WaylandSurfaceCreateInfoKHR const & createInfo, | |
| 3347 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 3348 # endif /*VK_USE_PLATFORM_WAYLAND_KHR*/ | |
| 3349 | |
| 3350 # if defined( VK_USE_PLATFORM_ANDROID_KHR ) | |
| 3351 //=== VK_KHR_android_surface === | |
| 3352 | |
| 3353 // wrapper function for command vkCreateAndroidSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAndroidSurfaceKHR.html | |
| 3354 VULKAN_HPP_NODISCARD typename ResultValueType<SurfaceKHR>::type | |
| 3355 createAndroidSurfaceKHR( AndroidSurfaceCreateInfoKHR const & createInfo, | |
| 3356 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 3357 # endif /*VK_USE_PLATFORM_ANDROID_KHR*/ | |
| 3358 | |
| 3359 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 3360 //=== VK_KHR_win32_surface === | |
| 3361 | |
| 3362 // wrapper function for command vkCreateWin32SurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateWin32SurfaceKHR.html | |
| 3363 VULKAN_HPP_NODISCARD typename ResultValueType<SurfaceKHR>::type | |
| 3364 createWin32SurfaceKHR( Win32SurfaceCreateInfoKHR const & createInfo, | |
| 3365 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 3366 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 3367 | |
| 3368 //=== VK_EXT_debug_report === | |
| 3369 | |
| 3370 // wrapper function for command vkCreateDebugReportCallbackEXT, see | |
| 3371 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDebugReportCallbackEXT.html | |
| 3372 VULKAN_HPP_NODISCARD typename ResultValueType<DebugReportCallbackEXT>::type | |
| 3373 createDebugReportCallbackEXT( DebugReportCallbackCreateInfoEXT const & createInfo, | |
| 3374 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 3375 | |
| 3376 // wrapper function for command vkDebugReportMessageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDebugReportMessageEXT.html | |
| 3377 void debugReportMessageEXT( DebugReportFlagsEXT flags, | |
| 3378 DebugReportObjectTypeEXT objectType, | |
| 3379 uint64_t object, | |
| 3380 size_t location, | |
| 3381 int32_t messageCode, | |
| 3382 const std::string & layerPrefix, | |
| 3383 const std::string & message ) const VULKAN_HPP_NOEXCEPT; | |
| 3384 | |
| 3385 # if defined( VK_USE_PLATFORM_GGP ) | |
| 3386 //=== VK_GGP_stream_descriptor_surface === | |
| 3387 | |
| 3388 // wrapper function for command vkCreateStreamDescriptorSurfaceGGP, see | |
| 3389 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateStreamDescriptorSurfaceGGP.html | |
| 3390 VULKAN_HPP_NODISCARD typename ResultValueType<SurfaceKHR>::type | |
| 3391 createStreamDescriptorSurfaceGGP( StreamDescriptorSurfaceCreateInfoGGP const & createInfo, | |
| 3392 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 3393 # endif /*VK_USE_PLATFORM_GGP*/ | |
| 3394 | |
| 3395 # if defined( VK_USE_PLATFORM_VI_NN ) | |
| 3396 //=== VK_NN_vi_surface === | |
| 3397 | |
| 3398 // wrapper function for command vkCreateViSurfaceNN, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateViSurfaceNN.html | |
| 3399 VULKAN_HPP_NODISCARD typename ResultValueType<SurfaceKHR>::type | |
| 3400 createViSurfaceNN( ViSurfaceCreateInfoNN const & createInfo, | |
| 3401 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 3402 # endif /*VK_USE_PLATFORM_VI_NN*/ | |
| 3403 | |
| 3404 //=== VK_KHR_device_group_creation === | |
| 3405 | |
| 3406 // wrapper function for command vkEnumeratePhysicalDeviceGroupsKHR, see | |
| 3407 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceGroupsKHR.html | |
| 3408 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<PhysicalDeviceGroupProperties>>::type enumeratePhysicalDeviceGroupsKHR() const; | |
| 3409 | |
| 3410 # if defined( VK_USE_PLATFORM_IOS_MVK ) | |
| 3411 //=== VK_MVK_ios_surface === | |
| 3412 | |
| 3413 // wrapper function for command vkCreateIOSSurfaceMVK, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIOSSurfaceMVK.html | |
| 3414 VULKAN_HPP_NODISCARD typename ResultValueType<SurfaceKHR>::type | |
| 3415 createIOSSurfaceMVK( IOSSurfaceCreateInfoMVK const & createInfo, | |
| 3416 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 3417 # endif /*VK_USE_PLATFORM_IOS_MVK*/ | |
| 3418 | |
| 3419 # if defined( VK_USE_PLATFORM_MACOS_MVK ) | |
| 3420 //=== VK_MVK_macos_surface === | |
| 3421 | |
| 3422 // wrapper function for command vkCreateMacOSSurfaceMVK, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMacOSSurfaceMVK.html | |
| 3423 VULKAN_HPP_NODISCARD typename ResultValueType<SurfaceKHR>::type | |
| 3424 createMacOSSurfaceMVK( MacOSSurfaceCreateInfoMVK const & createInfo, | |
| 3425 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 3426 # endif /*VK_USE_PLATFORM_MACOS_MVK*/ | |
| 3427 | |
| 3428 //=== VK_EXT_debug_utils === | |
| 3429 | |
| 3430 // wrapper function for command vkCreateDebugUtilsMessengerEXT, see | |
| 3431 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDebugUtilsMessengerEXT.html | |
| 3432 VULKAN_HPP_NODISCARD typename ResultValueType<DebugUtilsMessengerEXT>::type | |
| 3433 createDebugUtilsMessengerEXT( DebugUtilsMessengerCreateInfoEXT const & createInfo, | |
| 3434 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 3435 | |
| 3436 // wrapper function for command vkSubmitDebugUtilsMessageEXT, see | |
| 3437 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSubmitDebugUtilsMessageEXT.html | |
| 3438 void submitDebugUtilsMessageEXT( DebugUtilsMessageSeverityFlagBitsEXT messageSeverity, | |
| 3439 DebugUtilsMessageTypeFlagsEXT messageTypes, | |
| 3440 const DebugUtilsMessengerCallbackDataEXT & callbackData ) const VULKAN_HPP_NOEXCEPT; | |
| 3441 | |
| 3442 # if defined( VK_USE_PLATFORM_FUCHSIA ) | |
| 3443 //=== VK_FUCHSIA_imagepipe_surface === | |
| 3444 | |
| 3445 // wrapper function for command vkCreateImagePipeSurfaceFUCHSIA, see | |
| 3446 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImagePipeSurfaceFUCHSIA.html | |
| 3447 VULKAN_HPP_NODISCARD typename ResultValueType<SurfaceKHR>::type | |
| 3448 createImagePipeSurfaceFUCHSIA( ImagePipeSurfaceCreateInfoFUCHSIA const & createInfo, | |
| 3449 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 3450 # endif /*VK_USE_PLATFORM_FUCHSIA*/ | |
| 3451 | |
| 3452 # if defined( VK_USE_PLATFORM_METAL_EXT ) | |
| 3453 //=== VK_EXT_metal_surface === | |
| 3454 | |
| 3455 // wrapper function for command vkCreateMetalSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMetalSurfaceEXT.html | |
| 3456 VULKAN_HPP_NODISCARD typename ResultValueType<SurfaceKHR>::type | |
| 3457 createMetalSurfaceEXT( MetalSurfaceCreateInfoEXT const & createInfo, | |
| 3458 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 3459 # endif /*VK_USE_PLATFORM_METAL_EXT*/ | |
| 3460 | |
| 3461 //=== VK_EXT_headless_surface === | |
| 3462 | |
| 3463 // wrapper function for command vkCreateHeadlessSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateHeadlessSurfaceEXT.html | |
| 3464 VULKAN_HPP_NODISCARD typename ResultValueType<SurfaceKHR>::type | |
| 3465 createHeadlessSurfaceEXT( HeadlessSurfaceCreateInfoEXT const & createInfo, | |
| 3466 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 3467 | |
| 3468 # if defined( VK_USE_PLATFORM_DIRECTFB_EXT ) | |
| 3469 //=== VK_EXT_directfb_surface === | |
| 3470 | |
| 3471 // wrapper function for command vkCreateDirectFBSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDirectFBSurfaceEXT.html | |
| 3472 VULKAN_HPP_NODISCARD typename ResultValueType<SurfaceKHR>::type | |
| 3473 createDirectFBSurfaceEXT( DirectFBSurfaceCreateInfoEXT const & createInfo, | |
| 3474 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 3475 # endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/ | |
| 3476 | |
| 3477 # if defined( VK_USE_PLATFORM_SCREEN_QNX ) | |
| 3478 //=== VK_QNX_screen_surface === | |
| 3479 | |
| 3480 // wrapper function for command vkCreateScreenSurfaceQNX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateScreenSurfaceQNX.html | |
| 3481 VULKAN_HPP_NODISCARD typename ResultValueType<SurfaceKHR>::type | |
| 3482 createScreenSurfaceQNX( ScreenSurfaceCreateInfoQNX const & createInfo, | |
| 3483 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 3484 # endif /*VK_USE_PLATFORM_SCREEN_QNX*/ | |
| 3485 | |
| 3486 # if defined( VK_USE_PLATFORM_OHOS ) | |
| 3487 //=== VK_OHOS_surface === | |
| 3488 | |
| 3489 // wrapper function for command vkCreateSurfaceOHOS, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSurfaceOHOS.html | |
| 3490 VULKAN_HPP_NODISCARD typename ResultValueType<SurfaceKHR>::type | |
| 3491 createSurfaceOHOS( SurfaceCreateInfoOHOS const & createInfo, | |
| 3492 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 3493 # endif /*VK_USE_PLATFORM_OHOS*/ | |
| 3494 | |
| 3495 private: | |
| 3496 VULKAN_HPP_NAMESPACE::Instance m_instance = {}; | |
| 3497 const AllocationCallbacks * m_allocator = {}; | |
| 3498 std::unique_ptr<detail::InstanceDispatcher> m_dispatcher; | |
| 3499 }; | |
| 3500 | |
| 3501 template <> | |
| 3502 struct isVulkanRAIIHandleType<Instance> | |
| 3503 { | |
| 3504 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 3505 }; | |
| 3506 | |
| 3507 // wrapper class for handle VkPhysicalDevice, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDevice.html | |
| 3508 class PhysicalDevice | |
| 3509 { | |
| 3510 public: | |
| 3511 using CType = VkPhysicalDevice; | |
| 3512 using CppType = VULKAN_HPP_NAMESPACE::PhysicalDevice; | |
| 3513 | |
| 3514 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::ePhysicalDevice; | |
| 3515 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::ePhysicalDevice; | |
| 3516 | |
| 3517 public: | |
| 3518 PhysicalDevice( Instance const & instance, VkPhysicalDevice physicalDevice ) | |
| 3519 : m_physicalDevice( physicalDevice ), m_dispatcher( instance.getDispatcher() ) | |
| 3520 { | |
| 3521 } | |
| 3522 | |
| 3523 PhysicalDevice( std::nullptr_t ) {} | |
| 3524 | |
| 3525 ~PhysicalDevice() | |
| 3526 { | |
| 3527 clear(); | |
| 3528 } | |
| 3529 | |
| 3530 PhysicalDevice() = delete; | |
| 3531 | |
| 3532 PhysicalDevice( PhysicalDevice const & rhs ) : m_physicalDevice( rhs.m_physicalDevice ), m_dispatcher( rhs.m_dispatcher ) {} | |
| 3533 | |
| 3534 PhysicalDevice( PhysicalDevice && rhs ) VULKAN_HPP_NOEXCEPT | |
| 3535 : m_physicalDevice( exchange( rhs.m_physicalDevice, {} ) ) | |
| 3536 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 3537 { | |
| 3538 } | |
| 3539 | |
| 3540 PhysicalDevice & operator=( PhysicalDevice const & rhs ) | |
| 3541 { | |
| 3542 m_physicalDevice = rhs.m_physicalDevice; | |
| 3543 m_dispatcher = rhs.m_dispatcher; | |
| 3544 return *this; | |
| 3545 } | |
| 3546 | |
| 3547 PhysicalDevice & operator=( PhysicalDevice && rhs ) VULKAN_HPP_NOEXCEPT | |
| 3548 { | |
| 3549 if ( this != &rhs ) | |
| 3550 { | |
| 3551 std::swap( m_physicalDevice, rhs.m_physicalDevice ); | |
| 3552 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 3553 } | |
| 3554 return *this; | |
| 3555 } | |
| 3556 | |
| 3557 VULKAN_HPP_NAMESPACE::PhysicalDevice const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 3558 { | |
| 3559 return m_physicalDevice; | |
| 3560 } | |
| 3561 | |
| 3562 VULKAN_HPP_NAMESPACE::PhysicalDevice const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 3563 { | |
| 3564 return std::move( m_physicalDevice ); | |
| 3565 } | |
| 3566 | |
| 3567 operator VULKAN_HPP_NAMESPACE::PhysicalDevice() const VULKAN_HPP_NOEXCEPT | |
| 3568 { | |
| 3569 return m_physicalDevice; | |
| 3570 } | |
| 3571 | |
| 3572 void clear() VULKAN_HPP_NOEXCEPT | |
| 3573 { | |
| 3574 m_physicalDevice = nullptr; | |
| 3575 m_dispatcher = nullptr; | |
| 3576 } | |
| 3577 | |
| 3578 VULKAN_HPP_NAMESPACE::PhysicalDevice release() | |
| 3579 { | |
| 3580 m_dispatcher = nullptr; | |
| 3581 return exchange( m_physicalDevice, nullptr ); | |
| 3582 } | |
| 3583 | |
| 3584 detail::InstanceDispatcher const * getDispatcher() const | |
| 3585 { | |
| 3586 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 3587 return m_dispatcher; | |
| 3588 } | |
| 3589 | |
| 3590 void swap( PhysicalDevice & rhs ) VULKAN_HPP_NOEXCEPT | |
| 3591 { | |
| 3592 std::swap( m_physicalDevice, rhs.m_physicalDevice ); | |
| 3593 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 3594 } | |
| 3595 | |
| 3596 //=== VK_VERSION_1_0 === | |
| 3597 | |
| 3598 // wrapper function for command vkGetPhysicalDeviceFeatures, see | |
| 3599 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures.html | |
| 3600 VULKAN_HPP_NODISCARD PhysicalDeviceFeatures getFeatures() const VULKAN_HPP_NOEXCEPT; | |
| 3601 | |
| 3602 // wrapper function for command vkGetPhysicalDeviceFormatProperties, see | |
| 3603 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties.html | |
| 3604 VULKAN_HPP_NODISCARD FormatProperties getFormatProperties( Format format ) const VULKAN_HPP_NOEXCEPT; | |
| 3605 | |
| 3606 // wrapper function for command vkGetPhysicalDeviceImageFormatProperties, see | |
| 3607 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties.html | |
| 3608 VULKAN_HPP_NODISCARD typename ResultValueType<ImageFormatProperties>::type getImageFormatProperties( | |
| 3609 Format format, ImageType type, ImageTiling tiling, ImageUsageFlags usage, ImageCreateFlags flags VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const; | |
| 3610 | |
| 3611 // wrapper function for command vkGetPhysicalDeviceProperties, see | |
| 3612 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties.html | |
| 3613 VULKAN_HPP_NODISCARD PhysicalDeviceProperties getProperties() const VULKAN_HPP_NOEXCEPT; | |
| 3614 | |
| 3615 // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties, see | |
| 3616 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties.html | |
| 3617 VULKAN_HPP_NODISCARD std::vector<QueueFamilyProperties> getQueueFamilyProperties() const; | |
| 3618 | |
| 3619 // wrapper function for command vkGetPhysicalDeviceMemoryProperties, see | |
| 3620 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties.html | |
| 3621 VULKAN_HPP_NODISCARD PhysicalDeviceMemoryProperties getMemoryProperties() const VULKAN_HPP_NOEXCEPT; | |
| 3622 | |
| 3623 // wrapper function for command vkCreateDevice, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDevice.html | |
| 3624 VULKAN_HPP_NODISCARD typename ResultValueType<Device>::type | |
| 3625 createDevice( DeviceCreateInfo const & createInfo, | |
| 3626 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 3627 | |
| 3628 // wrapper function for command vkEnumerateDeviceExtensionProperties, see | |
| 3629 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateDeviceExtensionProperties.html | |
| 3630 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<ExtensionProperties>>::type | |
| 3631 enumerateDeviceExtensionProperties( Optional<const std::string> layerName VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const; | |
| 3632 | |
| 3633 // wrapper function for command vkEnumerateDeviceLayerProperties, see | |
| 3634 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateDeviceLayerProperties.html | |
| 3635 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<LayerProperties>>::type enumerateDeviceLayerProperties() const; | |
| 3636 | |
| 3637 // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties, see | |
| 3638 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties.html | |
| 3639 VULKAN_HPP_NODISCARD std::vector<SparseImageFormatProperties> | |
| 3640 getSparseImageFormatProperties( Format format, ImageType type, SampleCountFlagBits samples, ImageUsageFlags usage, ImageTiling tiling ) const; | |
| 3641 | |
| 3642 //=== VK_VERSION_1_1 === | |
| 3643 | |
| 3644 // wrapper function for command vkGetPhysicalDeviceFeatures2, see | |
| 3645 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures2.html | |
| 3646 VULKAN_HPP_NODISCARD PhysicalDeviceFeatures2 getFeatures2() const VULKAN_HPP_NOEXCEPT; | |
| 3647 | |
| 3648 // wrapper function for command vkGetPhysicalDeviceFeatures2, see | |
| 3649 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures2.html | |
| 3650 template <typename X, typename Y, typename... Z> | |
| 3651 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getFeatures2() const VULKAN_HPP_NOEXCEPT; | |
| 3652 | |
| 3653 // wrapper function for command vkGetPhysicalDeviceProperties2, see | |
| 3654 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties2.html | |
| 3655 VULKAN_HPP_NODISCARD PhysicalDeviceProperties2 getProperties2() const VULKAN_HPP_NOEXCEPT; | |
| 3656 | |
| 3657 // wrapper function for command vkGetPhysicalDeviceProperties2, see | |
| 3658 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties2.html | |
| 3659 template <typename X, typename Y, typename... Z> | |
| 3660 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getProperties2() const VULKAN_HPP_NOEXCEPT; | |
| 3661 | |
| 3662 // wrapper function for command vkGetPhysicalDeviceFormatProperties2, see | |
| 3663 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties2.html | |
| 3664 VULKAN_HPP_NODISCARD FormatProperties2 getFormatProperties2( Format format ) const VULKAN_HPP_NOEXCEPT; | |
| 3665 | |
| 3666 // wrapper function for command vkGetPhysicalDeviceFormatProperties2, see | |
| 3667 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties2.html | |
| 3668 template <typename X, typename Y, typename... Z> | |
| 3669 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getFormatProperties2( Format format ) const VULKAN_HPP_NOEXCEPT; | |
| 3670 | |
| 3671 // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2, see | |
| 3672 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2.html | |
| 3673 VULKAN_HPP_NODISCARD Result getImageFormatProperties2( const PhysicalDeviceImageFormatInfo2 * pImageFormatInfo, | |
| 3674 ImageFormatProperties2 * pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT; | |
| 3675 | |
| 3676 // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2, see | |
| 3677 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2.html | |
| 3678 VULKAN_HPP_NODISCARD typename ResultValueType<ImageFormatProperties2>::type | |
| 3679 getImageFormatProperties2( const PhysicalDeviceImageFormatInfo2 & imageFormatInfo ) const; | |
| 3680 | |
| 3681 // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2, see | |
| 3682 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2.html | |
| 3683 template <typename X, typename Y, typename... Z> | |
| 3684 VULKAN_HPP_NODISCARD typename ResultValueType<StructureChain<X, Y, Z...>>::type | |
| 3685 getImageFormatProperties2( const PhysicalDeviceImageFormatInfo2 & imageFormatInfo ) const; | |
| 3686 | |
| 3687 // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2, see | |
| 3688 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2.html | |
| 3689 VULKAN_HPP_NODISCARD std::vector<QueueFamilyProperties2> getQueueFamilyProperties2() const; | |
| 3690 | |
| 3691 // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2, see | |
| 3692 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2.html | |
| 3693 template <typename StructureChain> | |
| 3694 VULKAN_HPP_NODISCARD std::vector<StructureChain> getQueueFamilyProperties2() const; | |
| 3695 | |
| 3696 // wrapper function for command vkGetPhysicalDeviceMemoryProperties2, see | |
| 3697 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties2.html | |
| 3698 VULKAN_HPP_NODISCARD PhysicalDeviceMemoryProperties2 getMemoryProperties2() const VULKAN_HPP_NOEXCEPT; | |
| 3699 | |
| 3700 // wrapper function for command vkGetPhysicalDeviceMemoryProperties2, see | |
| 3701 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties2.html | |
| 3702 template <typename X, typename Y, typename... Z> | |
| 3703 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getMemoryProperties2() const VULKAN_HPP_NOEXCEPT; | |
| 3704 | |
| 3705 // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties2, see | |
| 3706 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2.html | |
| 3707 VULKAN_HPP_NODISCARD std::vector<SparseImageFormatProperties2> | |
| 3708 getSparseImageFormatProperties2( const PhysicalDeviceSparseImageFormatInfo2 & formatInfo ) const; | |
| 3709 | |
| 3710 // wrapper function for command vkGetPhysicalDeviceExternalBufferProperties, see | |
| 3711 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalBufferProperties.html | |
| 3712 VULKAN_HPP_NODISCARD ExternalBufferProperties | |
| 3713 getExternalBufferProperties( const PhysicalDeviceExternalBufferInfo & externalBufferInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 3714 | |
| 3715 // wrapper function for command vkGetPhysicalDeviceExternalFenceProperties, see | |
| 3716 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalFenceProperties.html | |
| 3717 VULKAN_HPP_NODISCARD ExternalFenceProperties | |
| 3718 getExternalFenceProperties( const PhysicalDeviceExternalFenceInfo & externalFenceInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 3719 | |
| 3720 // wrapper function for command vkGetPhysicalDeviceExternalSemaphoreProperties, see | |
| 3721 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalSemaphoreProperties.html | |
| 3722 VULKAN_HPP_NODISCARD ExternalSemaphoreProperties | |
| 3723 getExternalSemaphoreProperties( const PhysicalDeviceExternalSemaphoreInfo & externalSemaphoreInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 3724 | |
| 3725 //=== VK_VERSION_1_3 === | |
| 3726 | |
| 3727 // wrapper function for command vkGetPhysicalDeviceToolProperties, see | |
| 3728 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceToolProperties.html | |
| 3729 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<PhysicalDeviceToolProperties>>::type getToolProperties() const; | |
| 3730 | |
| 3731 //=== VK_KHR_surface === | |
| 3732 | |
| 3733 // wrapper function for command vkGetPhysicalDeviceSurfaceSupportKHR, see | |
| 3734 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceSupportKHR.html | |
| 3735 VULKAN_HPP_NODISCARD typename ResultValueType<Bool32>::type getSurfaceSupportKHR( uint32_t queueFamilyIndex, | |
| 3736 VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const; | |
| 3737 | |
| 3738 // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilitiesKHR, see | |
| 3739 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilitiesKHR.html | |
| 3740 VULKAN_HPP_NODISCARD typename ResultValueType<SurfaceCapabilitiesKHR>::type getSurfaceCapabilitiesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const; | |
| 3741 | |
| 3742 // wrapper function for command vkGetPhysicalDeviceSurfaceFormatsKHR, see | |
| 3743 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormatsKHR.html | |
| 3744 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<SurfaceFormatKHR>>::type | |
| 3745 getSurfaceFormatsKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const; | |
| 3746 | |
| 3747 // wrapper function for command vkGetPhysicalDeviceSurfacePresentModesKHR, see | |
| 3748 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfacePresentModesKHR.html | |
| 3749 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<PresentModeKHR>>::type | |
| 3750 getSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const; | |
| 3751 | |
| 3752 //=== VK_KHR_swapchain === | |
| 3753 | |
| 3754 // wrapper function for command vkGetPhysicalDevicePresentRectanglesKHR, see | |
| 3755 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDevicePresentRectanglesKHR.html | |
| 3756 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<Rect2D>>::type getPresentRectanglesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const; | |
| 3757 | |
| 3758 //=== VK_KHR_display === | |
| 3759 | |
| 3760 // wrapper function for command vkGetPhysicalDeviceDisplayPropertiesKHR, see | |
| 3761 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPropertiesKHR.html | |
| 3762 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DisplayPropertiesKHR>>::type getDisplayPropertiesKHR() const; | |
| 3763 | |
| 3764 // wrapper function for command vkGetPhysicalDeviceDisplayPlanePropertiesKHR, see | |
| 3765 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPlanePropertiesKHR.html | |
| 3766 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DisplayPlanePropertiesKHR>>::type getDisplayPlanePropertiesKHR() const; | |
| 3767 | |
| 3768 // wrapper function for command vkGetDisplayPlaneSupportedDisplaysKHR, see | |
| 3769 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayPlaneSupportedDisplaysKHR.html | |
| 3770 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DisplayKHR>>::type getDisplayPlaneSupportedDisplaysKHR( uint32_t planeIndex ) const; | |
| 3771 | |
| 3772 # if defined( VK_USE_PLATFORM_XLIB_KHR ) | |
| 3773 //=== VK_KHR_xlib_surface === | |
| 3774 | |
| 3775 // wrapper function for command vkGetPhysicalDeviceXlibPresentationSupportKHR, see | |
| 3776 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceXlibPresentationSupportKHR.html | |
| 3777 VULKAN_HPP_NODISCARD Bool32 getXlibPresentationSupportKHR( uint32_t queueFamilyIndex, Display & dpy, VisualID visualID ) const VULKAN_HPP_NOEXCEPT; | |
| 3778 # endif /*VK_USE_PLATFORM_XLIB_KHR*/ | |
| 3779 | |
| 3780 # if defined( VK_USE_PLATFORM_XCB_KHR ) | |
| 3781 //=== VK_KHR_xcb_surface === | |
| 3782 | |
| 3783 // wrapper function for command vkGetPhysicalDeviceXcbPresentationSupportKHR, see | |
| 3784 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceXcbPresentationSupportKHR.html | |
| 3785 VULKAN_HPP_NODISCARD Bool32 getXcbPresentationSupportKHR( uint32_t queueFamilyIndex, | |
| 3786 xcb_connection_t & connection, | |
| 3787 xcb_visualid_t visual_id ) const VULKAN_HPP_NOEXCEPT; | |
| 3788 # endif /*VK_USE_PLATFORM_XCB_KHR*/ | |
| 3789 | |
| 3790 # if defined( VK_USE_PLATFORM_WAYLAND_KHR ) | |
| 3791 //=== VK_KHR_wayland_surface === | |
| 3792 | |
| 3793 // wrapper function for command vkGetPhysicalDeviceWaylandPresentationSupportKHR, see | |
| 3794 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceWaylandPresentationSupportKHR.html | |
| 3795 VULKAN_HPP_NODISCARD Bool32 getWaylandPresentationSupportKHR( uint32_t queueFamilyIndex, struct wl_display & display ) const VULKAN_HPP_NOEXCEPT; | |
| 3796 # endif /*VK_USE_PLATFORM_WAYLAND_KHR*/ | |
| 3797 | |
| 3798 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 3799 //=== VK_KHR_win32_surface === | |
| 3800 | |
| 3801 // wrapper function for command vkGetPhysicalDeviceWin32PresentationSupportKHR, see | |
| 3802 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceWin32PresentationSupportKHR.html | |
| 3803 VULKAN_HPP_NODISCARD Bool32 getWin32PresentationSupportKHR( uint32_t queueFamilyIndex ) const VULKAN_HPP_NOEXCEPT; | |
| 3804 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 3805 | |
| 3806 //=== VK_KHR_video_queue === | |
| 3807 | |
| 3808 // wrapper function for command vkGetPhysicalDeviceVideoCapabilitiesKHR, see | |
| 3809 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoCapabilitiesKHR.html | |
| 3810 VULKAN_HPP_NODISCARD Result getVideoCapabilitiesKHR( const VideoProfileInfoKHR * pVideoProfile, | |
| 3811 VideoCapabilitiesKHR * pCapabilities ) const VULKAN_HPP_NOEXCEPT; | |
| 3812 | |
| 3813 // wrapper function for command vkGetPhysicalDeviceVideoCapabilitiesKHR, see | |
| 3814 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoCapabilitiesKHR.html | |
| 3815 VULKAN_HPP_NODISCARD typename ResultValueType<VideoCapabilitiesKHR>::type getVideoCapabilitiesKHR( const VideoProfileInfoKHR & videoProfile ) const; | |
| 3816 | |
| 3817 // wrapper function for command vkGetPhysicalDeviceVideoCapabilitiesKHR, see | |
| 3818 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoCapabilitiesKHR.html | |
| 3819 template <typename X, typename Y, typename... Z> | |
| 3820 VULKAN_HPP_NODISCARD typename ResultValueType<StructureChain<X, Y, Z...>>::type getVideoCapabilitiesKHR( const VideoProfileInfoKHR & videoProfile ) const; | |
| 3821 | |
| 3822 // wrapper function for command vkGetPhysicalDeviceVideoFormatPropertiesKHR, see | |
| 3823 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoFormatPropertiesKHR.html | |
| 3824 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VideoFormatPropertiesKHR>>::type | |
| 3825 getVideoFormatPropertiesKHR( const PhysicalDeviceVideoFormatInfoKHR & videoFormatInfo ) const; | |
| 3826 | |
| 3827 // wrapper function for command vkGetPhysicalDeviceVideoFormatPropertiesKHR, see | |
| 3828 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoFormatPropertiesKHR.html | |
| 3829 template <typename StructureChain> | |
| 3830 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<StructureChain>>::type | |
| 3831 getVideoFormatPropertiesKHR( const PhysicalDeviceVideoFormatInfoKHR & videoFormatInfo ) const; | |
| 3832 | |
| 3833 //=== VK_NV_external_memory_capabilities === | |
| 3834 | |
| 3835 // wrapper function for command vkGetPhysicalDeviceExternalImageFormatPropertiesNV, see | |
| 3836 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalImageFormatPropertiesNV.html | |
| 3837 VULKAN_HPP_NODISCARD typename ResultValueType<ExternalImageFormatPropertiesNV>::type | |
| 3838 getExternalImageFormatPropertiesNV( Format format, | |
| 3839 ImageType type, | |
| 3840 ImageTiling tiling, | |
| 3841 ImageUsageFlags usage, | |
| 3842 ImageCreateFlags flags VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), | |
| 3843 ExternalMemoryHandleTypeFlagsNV externalHandleType VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const; | |
| 3844 | |
| 3845 //=== VK_KHR_get_physical_device_properties2 === | |
| 3846 | |
| 3847 // wrapper function for command vkGetPhysicalDeviceFeatures2KHR, see | |
| 3848 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures2KHR.html | |
| 3849 VULKAN_HPP_NODISCARD PhysicalDeviceFeatures2 getFeatures2KHR() const VULKAN_HPP_NOEXCEPT; | |
| 3850 | |
| 3851 // wrapper function for command vkGetPhysicalDeviceFeatures2KHR, see | |
| 3852 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures2KHR.html | |
| 3853 template <typename X, typename Y, typename... Z> | |
| 3854 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getFeatures2KHR() const VULKAN_HPP_NOEXCEPT; | |
| 3855 | |
| 3856 // wrapper function for command vkGetPhysicalDeviceProperties2KHR, see | |
| 3857 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties2KHR.html | |
| 3858 VULKAN_HPP_NODISCARD PhysicalDeviceProperties2 getProperties2KHR() const VULKAN_HPP_NOEXCEPT; | |
| 3859 | |
| 3860 // wrapper function for command vkGetPhysicalDeviceProperties2KHR, see | |
| 3861 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties2KHR.html | |
| 3862 template <typename X, typename Y, typename... Z> | |
| 3863 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getProperties2KHR() const VULKAN_HPP_NOEXCEPT; | |
| 3864 | |
| 3865 // wrapper function for command vkGetPhysicalDeviceFormatProperties2KHR, see | |
| 3866 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties2KHR.html | |
| 3867 VULKAN_HPP_NODISCARD FormatProperties2 getFormatProperties2KHR( Format format ) const VULKAN_HPP_NOEXCEPT; | |
| 3868 | |
| 3869 // wrapper function for command vkGetPhysicalDeviceFormatProperties2KHR, see | |
| 3870 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties2KHR.html | |
| 3871 template <typename X, typename Y, typename... Z> | |
| 3872 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getFormatProperties2KHR( Format format ) const VULKAN_HPP_NOEXCEPT; | |
| 3873 | |
| 3874 // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2KHR, see | |
| 3875 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2KHR.html | |
| 3876 VULKAN_HPP_NODISCARD Result getImageFormatProperties2KHR( const PhysicalDeviceImageFormatInfo2 * pImageFormatInfo, | |
| 3877 ImageFormatProperties2 * pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT; | |
| 3878 | |
| 3879 // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2KHR, see | |
| 3880 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2KHR.html | |
| 3881 VULKAN_HPP_NODISCARD typename ResultValueType<ImageFormatProperties2>::type | |
| 3882 getImageFormatProperties2KHR( const PhysicalDeviceImageFormatInfo2 & imageFormatInfo ) const; | |
| 3883 | |
| 3884 // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2KHR, see | |
| 3885 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2KHR.html | |
| 3886 template <typename X, typename Y, typename... Z> | |
| 3887 VULKAN_HPP_NODISCARD typename ResultValueType<StructureChain<X, Y, Z...>>::type | |
| 3888 getImageFormatProperties2KHR( const PhysicalDeviceImageFormatInfo2 & imageFormatInfo ) const; | |
| 3889 | |
| 3890 // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2KHR, see | |
| 3891 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2KHR.html | |
| 3892 VULKAN_HPP_NODISCARD std::vector<QueueFamilyProperties2> getQueueFamilyProperties2KHR() const; | |
| 3893 | |
| 3894 // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2KHR, see | |
| 3895 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2KHR.html | |
| 3896 template <typename StructureChain> | |
| 3897 VULKAN_HPP_NODISCARD std::vector<StructureChain> getQueueFamilyProperties2KHR() const; | |
| 3898 | |
| 3899 // wrapper function for command vkGetPhysicalDeviceMemoryProperties2KHR, see | |
| 3900 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties2KHR.html | |
| 3901 VULKAN_HPP_NODISCARD PhysicalDeviceMemoryProperties2 getMemoryProperties2KHR() const VULKAN_HPP_NOEXCEPT; | |
| 3902 | |
| 3903 // wrapper function for command vkGetPhysicalDeviceMemoryProperties2KHR, see | |
| 3904 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties2KHR.html | |
| 3905 template <typename X, typename Y, typename... Z> | |
| 3906 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getMemoryProperties2KHR() const VULKAN_HPP_NOEXCEPT; | |
| 3907 | |
| 3908 // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties2KHR, see | |
| 3909 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2KHR.html | |
| 3910 VULKAN_HPP_NODISCARD std::vector<SparseImageFormatProperties2> | |
| 3911 getSparseImageFormatProperties2KHR( const PhysicalDeviceSparseImageFormatInfo2 & formatInfo ) const; | |
| 3912 | |
| 3913 //=== VK_KHR_external_memory_capabilities === | |
| 3914 | |
| 3915 // wrapper function for command vkGetPhysicalDeviceExternalBufferPropertiesKHR, see | |
| 3916 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalBufferPropertiesKHR.html | |
| 3917 VULKAN_HPP_NODISCARD ExternalBufferProperties | |
| 3918 getExternalBufferPropertiesKHR( const PhysicalDeviceExternalBufferInfo & externalBufferInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 3919 | |
| 3920 //=== VK_KHR_external_semaphore_capabilities === | |
| 3921 | |
| 3922 // wrapper function for command vkGetPhysicalDeviceExternalSemaphorePropertiesKHR, see | |
| 3923 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalSemaphorePropertiesKHR.html | |
| 3924 VULKAN_HPP_NODISCARD ExternalSemaphoreProperties | |
| 3925 getExternalSemaphorePropertiesKHR( const PhysicalDeviceExternalSemaphoreInfo & externalSemaphoreInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 3926 | |
| 3927 # if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT ) | |
| 3928 //=== VK_EXT_acquire_xlib_display === | |
| 3929 | |
| 3930 // wrapper function for command vkAcquireXlibDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireXlibDisplayEXT.html | |
| 3931 typename ResultValueType<void>::type acquireXlibDisplayEXT( Display & dpy, VULKAN_HPP_NAMESPACE::DisplayKHR display ) const; | |
| 3932 | |
| 3933 // wrapper function for command vkGetRandROutputDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRandROutputDisplayEXT.html | |
| 3934 VULKAN_HPP_NODISCARD typename ResultValueType<DisplayKHR>::type | |
| 3935 getRandROutputDisplayEXT( Display & dpy, RROutput rrOutput ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 3936 # endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/ | |
| 3937 | |
| 3938 //=== VK_EXT_display_surface_counter === | |
| 3939 | |
| 3940 // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2EXT, see | |
| 3941 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2EXT.html | |
| 3942 VULKAN_HPP_NODISCARD typename ResultValueType<SurfaceCapabilities2EXT>::type getSurfaceCapabilities2EXT( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const; | |
| 3943 | |
| 3944 //=== VK_KHR_external_fence_capabilities === | |
| 3945 | |
| 3946 // wrapper function for command vkGetPhysicalDeviceExternalFencePropertiesKHR, see | |
| 3947 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalFencePropertiesKHR.html | |
| 3948 VULKAN_HPP_NODISCARD ExternalFenceProperties | |
| 3949 getExternalFencePropertiesKHR( const PhysicalDeviceExternalFenceInfo & externalFenceInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 3950 | |
| 3951 //=== VK_KHR_performance_query === | |
| 3952 | |
| 3953 // wrapper function for command vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR, see | |
| 3954 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR.html | |
| 3955 VULKAN_HPP_NODISCARD typename ResultValueType<std::pair<std::vector<PerformanceCounterKHR>, std::vector<PerformanceCounterDescriptionKHR>>>::type | |
| 3956 enumerateQueueFamilyPerformanceQueryCountersKHR( uint32_t queueFamilyIndex ) const; | |
| 3957 | |
| 3958 // wrapper function for command vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR, see | |
| 3959 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR.html | |
| 3960 VULKAN_HPP_NODISCARD uint32_t | |
| 3961 getQueueFamilyPerformanceQueryPassesKHR( const QueryPoolPerformanceCreateInfoKHR & performanceQueryCreateInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 3962 | |
| 3963 //=== VK_KHR_get_surface_capabilities2 === | |
| 3964 | |
| 3965 // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2KHR, see | |
| 3966 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2KHR.html | |
| 3967 VULKAN_HPP_NODISCARD Result getSurfaceCapabilities2KHR( const PhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo, | |
| 3968 SurfaceCapabilities2KHR * pSurfaceCapabilities ) const VULKAN_HPP_NOEXCEPT; | |
| 3969 | |
| 3970 // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2KHR, see | |
| 3971 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2KHR.html | |
| 3972 VULKAN_HPP_NODISCARD typename ResultValueType<SurfaceCapabilities2KHR>::type | |
| 3973 getSurfaceCapabilities2KHR( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const; | |
| 3974 | |
| 3975 // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2KHR, see | |
| 3976 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2KHR.html | |
| 3977 template <typename X, typename Y, typename... Z> | |
| 3978 VULKAN_HPP_NODISCARD typename ResultValueType<StructureChain<X, Y, Z...>>::type | |
| 3979 getSurfaceCapabilities2KHR( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const; | |
| 3980 | |
| 3981 // wrapper function for command vkGetPhysicalDeviceSurfaceFormats2KHR, see | |
| 3982 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormats2KHR.html | |
| 3983 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<SurfaceFormat2KHR>>::type | |
| 3984 getSurfaceFormats2KHR( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const; | |
| 3985 | |
| 3986 // wrapper function for command vkGetPhysicalDeviceSurfaceFormats2KHR, see | |
| 3987 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormats2KHR.html | |
| 3988 template <typename StructureChain> | |
| 3989 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<StructureChain>>::type | |
| 3990 getSurfaceFormats2KHR( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const; | |
| 3991 | |
| 3992 //=== VK_KHR_get_display_properties2 === | |
| 3993 | |
| 3994 // wrapper function for command vkGetPhysicalDeviceDisplayProperties2KHR, see | |
| 3995 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayProperties2KHR.html | |
| 3996 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DisplayProperties2KHR>>::type getDisplayProperties2KHR() const; | |
| 3997 | |
| 3998 // wrapper function for command vkGetPhysicalDeviceDisplayPlaneProperties2KHR, see | |
| 3999 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPlaneProperties2KHR.html | |
| 4000 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DisplayPlaneProperties2KHR>>::type getDisplayPlaneProperties2KHR() const; | |
| 4001 | |
| 4002 // wrapper function for command vkGetDisplayPlaneCapabilities2KHR, see | |
| 4003 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayPlaneCapabilities2KHR.html | |
| 4004 VULKAN_HPP_NODISCARD typename ResultValueType<DisplayPlaneCapabilities2KHR>::type | |
| 4005 getDisplayPlaneCapabilities2KHR( const DisplayPlaneInfo2KHR & displayPlaneInfo ) const; | |
| 4006 | |
| 4007 //=== VK_EXT_sample_locations === | |
| 4008 | |
| 4009 // wrapper function for command vkGetPhysicalDeviceMultisamplePropertiesEXT, see | |
| 4010 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMultisamplePropertiesEXT.html | |
| 4011 VULKAN_HPP_NODISCARD MultisamplePropertiesEXT getMultisamplePropertiesEXT( SampleCountFlagBits samples ) const VULKAN_HPP_NOEXCEPT; | |
| 4012 | |
| 4013 //=== VK_EXT_calibrated_timestamps === | |
| 4014 | |
| 4015 // wrapper function for command vkGetPhysicalDeviceCalibrateableTimeDomainsEXT, see | |
| 4016 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCalibrateableTimeDomainsEXT.html | |
| 4017 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<TimeDomainKHR>>::type getCalibrateableTimeDomainsEXT() const; | |
| 4018 | |
| 4019 //=== VK_KHR_fragment_shading_rate === | |
| 4020 | |
| 4021 // wrapper function for command vkGetPhysicalDeviceFragmentShadingRatesKHR, see | |
| 4022 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFragmentShadingRatesKHR.html | |
| 4023 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<PhysicalDeviceFragmentShadingRateKHR>>::type getFragmentShadingRatesKHR() const; | |
| 4024 | |
| 4025 //=== VK_EXT_tooling_info === | |
| 4026 | |
| 4027 // wrapper function for command vkGetPhysicalDeviceToolPropertiesEXT, see | |
| 4028 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceToolPropertiesEXT.html | |
| 4029 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<PhysicalDeviceToolProperties>>::type getToolPropertiesEXT() const; | |
| 4030 | |
| 4031 //=== VK_NV_cooperative_matrix === | |
| 4032 | |
| 4033 // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixPropertiesNV, see | |
| 4034 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixPropertiesNV.html | |
| 4035 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<CooperativeMatrixPropertiesNV>>::type getCooperativeMatrixPropertiesNV() const; | |
| 4036 | |
| 4037 //=== VK_NV_coverage_reduction_mode === | |
| 4038 | |
| 4039 // wrapper function for command vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV, see | |
| 4040 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV.html | |
| 4041 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<FramebufferMixedSamplesCombinationNV>>::type | |
| 4042 getSupportedFramebufferMixedSamplesCombinationsNV() const; | |
| 4043 | |
| 4044 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 4045 //=== VK_EXT_full_screen_exclusive === | |
| 4046 | |
| 4047 // wrapper function for command vkGetPhysicalDeviceSurfacePresentModes2EXT, see | |
| 4048 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfacePresentModes2EXT.html | |
| 4049 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<PresentModeKHR>>::type | |
| 4050 getSurfacePresentModes2EXT( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const; | |
| 4051 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 4052 | |
| 4053 //=== VK_EXT_acquire_drm_display === | |
| 4054 | |
| 4055 // wrapper function for command vkAcquireDrmDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireDrmDisplayEXT.html | |
| 4056 typename ResultValueType<void>::type acquireDrmDisplayEXT( int32_t drmFd, VULKAN_HPP_NAMESPACE::DisplayKHR display ) const; | |
| 4057 | |
| 4058 // wrapper function for command vkGetDrmDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDrmDisplayEXT.html | |
| 4059 VULKAN_HPP_NODISCARD typename ResultValueType<DisplayKHR>::type getDrmDisplayEXT( int32_t drmFd, | |
| 4060 uint32_t connectorId ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4061 | |
| 4062 //=== VK_KHR_video_encode_queue === | |
| 4063 | |
| 4064 // wrapper function for command vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR, see | |
| 4065 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR.html | |
| 4066 VULKAN_HPP_NODISCARD Result | |
| 4067 getVideoEncodeQualityLevelPropertiesKHR( const PhysicalDeviceVideoEncodeQualityLevelInfoKHR * pQualityLevelInfo, | |
| 4068 VideoEncodeQualityLevelPropertiesKHR * pQualityLevelProperties ) const VULKAN_HPP_NOEXCEPT; | |
| 4069 | |
| 4070 // wrapper function for command vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR, see | |
| 4071 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR.html | |
| 4072 VULKAN_HPP_NODISCARD typename ResultValueType<VideoEncodeQualityLevelPropertiesKHR>::type | |
| 4073 getVideoEncodeQualityLevelPropertiesKHR( const PhysicalDeviceVideoEncodeQualityLevelInfoKHR & qualityLevelInfo ) const; | |
| 4074 | |
| 4075 // wrapper function for command vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR, see | |
| 4076 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR.html | |
| 4077 template <typename X, typename Y, typename... Z> | |
| 4078 VULKAN_HPP_NODISCARD typename ResultValueType<StructureChain<X, Y, Z...>>::type | |
| 4079 getVideoEncodeQualityLevelPropertiesKHR( const PhysicalDeviceVideoEncodeQualityLevelInfoKHR & qualityLevelInfo ) const; | |
| 4080 | |
| 4081 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 4082 //=== VK_NV_acquire_winrt_display === | |
| 4083 | |
| 4084 // wrapper function for command vkGetWinrtDisplayNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetWinrtDisplayNV.html | |
| 4085 VULKAN_HPP_NODISCARD typename ResultValueType<DisplayKHR>::type | |
| 4086 getWinrtDisplayNV( uint32_t deviceRelativeId ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4087 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 4088 | |
| 4089 # if defined( VK_USE_PLATFORM_DIRECTFB_EXT ) | |
| 4090 //=== VK_EXT_directfb_surface === | |
| 4091 | |
| 4092 // wrapper function for command vkGetPhysicalDeviceDirectFBPresentationSupportEXT, see | |
| 4093 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDirectFBPresentationSupportEXT.html | |
| 4094 VULKAN_HPP_NODISCARD Bool32 getDirectFBPresentationSupportEXT( uint32_t queueFamilyIndex, IDirectFB & dfb ) const VULKAN_HPP_NOEXCEPT; | |
| 4095 # endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/ | |
| 4096 | |
| 4097 # if defined( VK_USE_PLATFORM_SCREEN_QNX ) | |
| 4098 //=== VK_QNX_screen_surface === | |
| 4099 | |
| 4100 // wrapper function for command vkGetPhysicalDeviceScreenPresentationSupportQNX, see | |
| 4101 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceScreenPresentationSupportQNX.html | |
| 4102 VULKAN_HPP_NODISCARD Bool32 getScreenPresentationSupportQNX( uint32_t queueFamilyIndex, struct _screen_window & window ) const VULKAN_HPP_NOEXCEPT; | |
| 4103 # endif /*VK_USE_PLATFORM_SCREEN_QNX*/ | |
| 4104 | |
| 4105 //=== VK_ARM_tensors === | |
| 4106 | |
| 4107 // wrapper function for command vkGetPhysicalDeviceExternalTensorPropertiesARM, see | |
| 4108 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalTensorPropertiesARM.html | |
| 4109 VULKAN_HPP_NODISCARD ExternalTensorPropertiesARM | |
| 4110 getExternalTensorPropertiesARM( const PhysicalDeviceExternalTensorInfoARM & externalTensorInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 4111 | |
| 4112 //=== VK_NV_optical_flow === | |
| 4113 | |
| 4114 // wrapper function for command vkGetPhysicalDeviceOpticalFlowImageFormatsNV, see | |
| 4115 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceOpticalFlowImageFormatsNV.html | |
| 4116 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<OpticalFlowImageFormatPropertiesNV>>::type | |
| 4117 getOpticalFlowImageFormatsNV( const OpticalFlowImageFormatInfoNV & opticalFlowImageFormatInfo ) const; | |
| 4118 | |
| 4119 //=== VK_NV_cooperative_vector === | |
| 4120 | |
| 4121 // wrapper function for command vkGetPhysicalDeviceCooperativeVectorPropertiesNV, see | |
| 4122 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeVectorPropertiesNV.html | |
| 4123 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<CooperativeVectorPropertiesNV>>::type getCooperativeVectorPropertiesNV() const; | |
| 4124 | |
| 4125 //=== VK_KHR_cooperative_matrix === | |
| 4126 | |
| 4127 // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR, see | |
| 4128 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR.html | |
| 4129 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<CooperativeMatrixPropertiesKHR>>::type getCooperativeMatrixPropertiesKHR() const; | |
| 4130 | |
| 4131 //=== VK_ARM_data_graph === | |
| 4132 | |
| 4133 // wrapper function for command vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM, see | |
| 4134 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM.html | |
| 4135 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<QueueFamilyDataGraphPropertiesARM>>::type | |
| 4136 getQueueFamilyDataGraphPropertiesARM( uint32_t queueFamilyIndex ) const; | |
| 4137 | |
| 4138 // wrapper function for command vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM, see | |
| 4139 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM.html | |
| 4140 VULKAN_HPP_NODISCARD QueueFamilyDataGraphProcessingEnginePropertiesARM getQueueFamilyDataGraphProcessingEnginePropertiesARM( | |
| 4141 const PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM & queueFamilyDataGraphProcessingEngineInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 4142 | |
| 4143 //=== VK_KHR_calibrated_timestamps === | |
| 4144 | |
| 4145 // wrapper function for command vkGetPhysicalDeviceCalibrateableTimeDomainsKHR, see | |
| 4146 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCalibrateableTimeDomainsKHR.html | |
| 4147 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<TimeDomainKHR>>::type getCalibrateableTimeDomainsKHR() const; | |
| 4148 | |
| 4149 //=== VK_NV_cooperative_matrix2 === | |
| 4150 | |
| 4151 // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV, see | |
| 4152 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV.html | |
| 4153 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<CooperativeMatrixFlexibleDimensionsPropertiesNV>>::type | |
| 4154 getCooperativeMatrixFlexibleDimensionsPropertiesNV() const; | |
| 4155 | |
| 4156 //=== VK_ARM_performance_counters_by_region === | |
| 4157 | |
| 4158 // wrapper function for command vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM, see | |
| 4159 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM.html | |
| 4160 VULKAN_HPP_NODISCARD typename ResultValueType<std::pair<std::vector<PerformanceCounterARM>, std::vector<PerformanceCounterDescriptionARM>>>::type | |
| 4161 enumerateQueueFamilyPerformanceCountersByRegionARM( uint32_t queueFamilyIndex ) const; | |
| 4162 | |
| 4163 private: | |
| 4164 VULKAN_HPP_NAMESPACE::PhysicalDevice m_physicalDevice = {}; | |
| 4165 detail::InstanceDispatcher const * m_dispatcher = nullptr; | |
| 4166 }; | |
| 4167 | |
| 4168 template <> | |
| 4169 struct isVulkanRAIIHandleType<PhysicalDevice> | |
| 4170 { | |
| 4171 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 4172 }; | |
| 4173 | |
| 4174 class PhysicalDevices : public std::vector<PhysicalDevice> | |
| 4175 { | |
| 4176 public: | |
| 4177 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 4178 PhysicalDevices( Instance const & instance ) | |
| 4179 { | |
| 4180 *this = instance.enumeratePhysicalDevices(); | |
| 4181 } | |
| 4182 # endif | |
| 4183 | |
| 4184 PhysicalDevices( std::nullptr_t ) {} | |
| 4185 | |
| 4186 PhysicalDevices() = delete; | |
| 4187 PhysicalDevices( PhysicalDevices const & ) = delete; | |
| 4188 PhysicalDevices( PhysicalDevices && rhs ) = default; | |
| 4189 PhysicalDevices & operator=( PhysicalDevices const & ) = delete; | |
| 4190 PhysicalDevices & operator=( PhysicalDevices && rhs ) = default; | |
| 4191 | |
| 4192 private: | |
| 4193 PhysicalDevices( std::vector<PhysicalDevice> && rhs ) | |
| 4194 { | |
| 4195 std::swap( *this, rhs ); | |
| 4196 } | |
| 4197 }; | |
| 4198 | |
| 4199 // wrapper class for handle VkDevice, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDevice.html | |
| 4200 class Device | |
| 4201 { | |
| 4202 public: | |
| 4203 using CType = VkDevice; | |
| 4204 using CppType = VULKAN_HPP_NAMESPACE::Device; | |
| 4205 | |
| 4206 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eDevice; | |
| 4207 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eDevice; | |
| 4208 | |
| 4209 public: | |
| 4210 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 4211 Device( PhysicalDevice const & physicalDevice, DeviceCreateInfo const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 4212 { | |
| 4213 *this = physicalDevice.createDevice( createInfo, allocator ); | |
| 4214 } | |
| 4215 # endif | |
| 4216 | |
| 4217 Device( PhysicalDevice const & physicalDevice, VkDevice device, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 4218 : m_device( device ), m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 4219 { | |
| 4220 m_dispatcher.reset( new detail::DeviceDispatcher( physicalDevice.getDispatcher()->vkGetDeviceProcAddr, static_cast<VkDevice>( m_device ) ) ); | |
| 4221 } | |
| 4222 | |
| 4223 Device( std::nullptr_t ) {} | |
| 4224 | |
| 4225 ~Device() | |
| 4226 { | |
| 4227 clear(); | |
| 4228 } | |
| 4229 | |
| 4230 Device() = delete; | |
| 4231 Device( Device const & ) = delete; | |
| 4232 | |
| 4233 Device( Device && rhs ) VULKAN_HPP_NOEXCEPT | |
| 4234 : m_device( exchange( rhs.m_device, {} ) ) | |
| 4235 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 4236 , m_dispatcher( rhs.m_dispatcher.release() ) | |
| 4237 { | |
| 4238 } | |
| 4239 | |
| 4240 Device & operator=( Device const & ) = delete; | |
| 4241 | |
| 4242 Device & operator=( Device && rhs ) VULKAN_HPP_NOEXCEPT | |
| 4243 { | |
| 4244 if ( this != &rhs ) | |
| 4245 { | |
| 4246 std::swap( m_device, rhs.m_device ); | |
| 4247 std::swap( m_allocator, rhs.m_allocator ); | |
| 4248 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 4249 } | |
| 4250 return *this; | |
| 4251 } | |
| 4252 | |
| 4253 VULKAN_HPP_NAMESPACE::Device const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 4254 { | |
| 4255 return m_device; | |
| 4256 } | |
| 4257 | |
| 4258 VULKAN_HPP_NAMESPACE::Device const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 4259 { | |
| 4260 return std::move( m_device ); | |
| 4261 } | |
| 4262 | |
| 4263 operator VULKAN_HPP_NAMESPACE::Device() const VULKAN_HPP_NOEXCEPT | |
| 4264 { | |
| 4265 return m_device; | |
| 4266 } | |
| 4267 | |
| 4268 void clear() VULKAN_HPP_NOEXCEPT | |
| 4269 { | |
| 4270 if ( m_device ) | |
| 4271 { | |
| 4272 getDispatcher()->vkDestroyDevice( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 4273 } | |
| 4274 m_device = nullptr; | |
| 4275 m_allocator = nullptr; | |
| 4276 m_dispatcher = nullptr; | |
| 4277 } | |
| 4278 | |
| 4279 VULKAN_HPP_NAMESPACE::Device release() | |
| 4280 { | |
| 4281 m_allocator = nullptr; | |
| 4282 m_dispatcher = nullptr; | |
| 4283 return exchange( m_device, nullptr ); | |
| 4284 } | |
| 4285 | |
| 4286 detail::DeviceDispatcher const * getDispatcher() const | |
| 4287 { | |
| 4288 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 4289 return &*m_dispatcher; | |
| 4290 } | |
| 4291 | |
| 4292 void swap( Device & rhs ) VULKAN_HPP_NOEXCEPT | |
| 4293 { | |
| 4294 std::swap( m_device, rhs.m_device ); | |
| 4295 std::swap( m_allocator, rhs.m_allocator ); | |
| 4296 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 4297 } | |
| 4298 | |
| 4299 //=== VK_VERSION_1_0 === | |
| 4300 | |
| 4301 // wrapper function for command vkGetDeviceProcAddr, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceProcAddr.html | |
| 4302 VULKAN_HPP_NODISCARD PFN_VoidFunction getProcAddr( const std::string & name ) const VULKAN_HPP_NOEXCEPT; | |
| 4303 | |
| 4304 // wrapper function for command vkGetDeviceQueue, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceQueue.html | |
| 4305 VULKAN_HPP_NODISCARD Queue getQueue( uint32_t queueFamilyIndex, uint32_t queueIndex ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4306 | |
| 4307 // wrapper function for command vkDeviceWaitIdle, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDeviceWaitIdle.html | |
| 4308 typename ResultValueType<void>::type waitIdle() const; | |
| 4309 | |
| 4310 // wrapper function for command vkAllocateMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateMemory.html | |
| 4311 VULKAN_HPP_NODISCARD typename ResultValueType<DeviceMemory>::type | |
| 4312 allocateMemory( MemoryAllocateInfo const & allocateInfo, | |
| 4313 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4314 | |
| 4315 // wrapper function for command vkFlushMappedMemoryRanges, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFlushMappedMemoryRanges.html | |
| 4316 typename ResultValueType<void>::type flushMappedMemoryRanges( ArrayProxy<const MappedMemoryRange> const & memoryRanges ) const; | |
| 4317 | |
| 4318 // wrapper function for command vkInvalidateMappedMemoryRanges, see | |
| 4319 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkInvalidateMappedMemoryRanges.html | |
| 4320 typename ResultValueType<void>::type invalidateMappedMemoryRanges( ArrayProxy<const MappedMemoryRange> const & memoryRanges ) const; | |
| 4321 | |
| 4322 // wrapper function for command vkCreateFence, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateFence.html | |
| 4323 VULKAN_HPP_NODISCARD typename ResultValueType<Fence>::type | |
| 4324 createFence( FenceCreateInfo const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4325 | |
| 4326 // wrapper function for command vkResetFences, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetFences.html | |
| 4327 typename ResultValueType<void>::type resetFences( ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const & fences ) const; | |
| 4328 | |
| 4329 // wrapper function for command vkWaitForFences, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitForFences.html | |
| 4330 VULKAN_HPP_NODISCARD Result waitForFences( ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const & fences, Bool32 waitAll, uint64_t timeout ) const; | |
| 4331 | |
| 4332 // wrapper function for command vkCreateSemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSemaphore.html | |
| 4333 VULKAN_HPP_NODISCARD typename ResultValueType<Semaphore>::type | |
| 4334 createSemaphore( SemaphoreCreateInfo const & createInfo, | |
| 4335 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4336 | |
| 4337 // wrapper function for command vkCreateQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateQueryPool.html | |
| 4338 VULKAN_HPP_NODISCARD typename ResultValueType<QueryPool>::type | |
| 4339 createQueryPool( QueryPoolCreateInfo const & createInfo, | |
| 4340 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4341 | |
| 4342 // wrapper function for command vkCreateBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBuffer.html | |
| 4343 VULKAN_HPP_NODISCARD typename ResultValueType<Buffer>::type | |
| 4344 createBuffer( BufferCreateInfo const & createInfo, | |
| 4345 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4346 | |
| 4347 // wrapper function for command vkCreateImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImage.html | |
| 4348 VULKAN_HPP_NODISCARD typename ResultValueType<Image>::type | |
| 4349 createImage( ImageCreateInfo const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4350 | |
| 4351 // wrapper function for command vkCreateImageView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImageView.html | |
| 4352 VULKAN_HPP_NODISCARD typename ResultValueType<ImageView>::type | |
| 4353 createImageView( ImageViewCreateInfo const & createInfo, | |
| 4354 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4355 | |
| 4356 // wrapper function for command vkCreateCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCommandPool.html | |
| 4357 VULKAN_HPP_NODISCARD typename ResultValueType<CommandPool>::type | |
| 4358 createCommandPool( CommandPoolCreateInfo const & createInfo, | |
| 4359 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4360 | |
| 4361 // wrapper function for command vkAllocateCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateCommandBuffers.html | |
| 4362 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<CommandBuffer>>::type | |
| 4363 allocateCommandBuffers( CommandBufferAllocateInfo const & allocateInfo ) const; | |
| 4364 | |
| 4365 // wrapper function for command vkCreateEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateEvent.html | |
| 4366 VULKAN_HPP_NODISCARD typename ResultValueType<Event>::type | |
| 4367 createEvent( EventCreateInfo const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4368 | |
| 4369 // wrapper function for command vkCreateBufferView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBufferView.html | |
| 4370 VULKAN_HPP_NODISCARD typename ResultValueType<BufferView>::type | |
| 4371 createBufferView( BufferViewCreateInfo const & createInfo, | |
| 4372 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4373 | |
| 4374 // wrapper function for command vkCreateShaderModule, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShaderModule.html | |
| 4375 VULKAN_HPP_NODISCARD typename ResultValueType<ShaderModule>::type | |
| 4376 createShaderModule( ShaderModuleCreateInfo const & createInfo, | |
| 4377 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4378 | |
| 4379 // wrapper function for command vkCreatePipelineCache, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineCache.html | |
| 4380 VULKAN_HPP_NODISCARD typename ResultValueType<PipelineCache>::type | |
| 4381 createPipelineCache( PipelineCacheCreateInfo const & createInfo, | |
| 4382 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4383 | |
| 4384 // wrapper function for command vkCreateComputePipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateComputePipelines.html | |
| 4385 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<Pipeline>>::type | |
| 4386 createComputePipelines( Optional<const PipelineCache> const & pipelineCache, | |
| 4387 ArrayProxy<ComputePipelineCreateInfo> const & createInfos, | |
| 4388 Optional<const AllocationCallbacks> allocator = nullptr ) const; | |
| 4389 | |
| 4390 // wrapper function for command vkCreateComputePipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateComputePipelines.html | |
| 4391 VULKAN_HPP_NODISCARD typename ResultValueType<Pipeline>::type | |
| 4392 createComputePipeline( Optional<const PipelineCache> const & pipelineCache, | |
| 4393 ComputePipelineCreateInfo const & createInfo, | |
| 4394 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4395 | |
| 4396 // wrapper function for command vkCreatePipelineLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineLayout.html | |
| 4397 VULKAN_HPP_NODISCARD typename ResultValueType<PipelineLayout>::type | |
| 4398 createPipelineLayout( PipelineLayoutCreateInfo const & createInfo, | |
| 4399 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4400 | |
| 4401 // wrapper function for command vkCreateSampler, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSampler.html | |
| 4402 VULKAN_HPP_NODISCARD typename ResultValueType<Sampler>::type | |
| 4403 createSampler( SamplerCreateInfo const & createInfo, | |
| 4404 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4405 | |
| 4406 // wrapper function for command vkCreateDescriptorSetLayout, see | |
| 4407 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorSetLayout.html | |
| 4408 VULKAN_HPP_NODISCARD typename ResultValueType<DescriptorSetLayout>::type | |
| 4409 createDescriptorSetLayout( DescriptorSetLayoutCreateInfo const & createInfo, | |
| 4410 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4411 | |
| 4412 // wrapper function for command vkCreateDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorPool.html | |
| 4413 VULKAN_HPP_NODISCARD typename ResultValueType<DescriptorPool>::type | |
| 4414 createDescriptorPool( DescriptorPoolCreateInfo const & createInfo, | |
| 4415 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4416 | |
| 4417 // wrapper function for command vkAllocateDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateDescriptorSets.html | |
| 4418 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DescriptorSet>>::type | |
| 4419 allocateDescriptorSets( DescriptorSetAllocateInfo const & allocateInfo ) const; | |
| 4420 | |
| 4421 // wrapper function for command vkUpdateDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateDescriptorSets.html | |
| 4422 void updateDescriptorSets( ArrayProxy<const WriteDescriptorSet> const & descriptorWrites, | |
| 4423 ArrayProxy<const CopyDescriptorSet> const & descriptorCopies ) const VULKAN_HPP_NOEXCEPT; | |
| 4424 | |
| 4425 // wrapper function for command vkCreateGraphicsPipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGraphicsPipelines.html | |
| 4426 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<Pipeline>>::type | |
| 4427 createGraphicsPipelines( Optional<const PipelineCache> const & pipelineCache, | |
| 4428 ArrayProxy<GraphicsPipelineCreateInfo> const & createInfos, | |
| 4429 Optional<const AllocationCallbacks> allocator = nullptr ) const; | |
| 4430 | |
| 4431 // wrapper function for command vkCreateGraphicsPipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGraphicsPipelines.html | |
| 4432 VULKAN_HPP_NODISCARD typename ResultValueType<Pipeline>::type | |
| 4433 createGraphicsPipeline( Optional<const PipelineCache> const & pipelineCache, | |
| 4434 GraphicsPipelineCreateInfo const & createInfo, | |
| 4435 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4436 | |
| 4437 // wrapper function for command vkCreateFramebuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateFramebuffer.html | |
| 4438 VULKAN_HPP_NODISCARD typename ResultValueType<Framebuffer>::type | |
| 4439 createFramebuffer( FramebufferCreateInfo const & createInfo, | |
| 4440 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4441 | |
| 4442 // wrapper function for command vkCreateRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass.html | |
| 4443 VULKAN_HPP_NODISCARD typename ResultValueType<RenderPass>::type | |
| 4444 createRenderPass( RenderPassCreateInfo const & createInfo, | |
| 4445 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4446 | |
| 4447 //=== VK_VERSION_1_1 === | |
| 4448 | |
| 4449 // wrapper function for command vkBindBufferMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindBufferMemory2.html | |
| 4450 typename ResultValueType<void>::type bindBufferMemory2( ArrayProxy<const BindBufferMemoryInfo> const & bindInfos ) const; | |
| 4451 | |
| 4452 // wrapper function for command vkBindImageMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindImageMemory2.html | |
| 4453 typename ResultValueType<void>::type bindImageMemory2( ArrayProxy<const BindImageMemoryInfo> const & bindInfos ) const; | |
| 4454 | |
| 4455 // wrapper function for command vkGetDeviceGroupPeerMemoryFeatures, see | |
| 4456 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupPeerMemoryFeatures.html | |
| 4457 VULKAN_HPP_NODISCARD PeerMemoryFeatureFlags getGroupPeerMemoryFeatures( uint32_t heapIndex, | |
| 4458 uint32_t localDeviceIndex, | |
| 4459 uint32_t remoteDeviceIndex ) const VULKAN_HPP_NOEXCEPT; | |
| 4460 | |
| 4461 // wrapper function for command vkGetImageMemoryRequirements2, see | |
| 4462 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements2.html | |
| 4463 VULKAN_HPP_NODISCARD MemoryRequirements2 getImageMemoryRequirements2( const ImageMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT; | |
| 4464 | |
| 4465 // wrapper function for command vkGetImageMemoryRequirements2, see | |
| 4466 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements2.html | |
| 4467 template <typename X, typename Y, typename... Z> | |
| 4468 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getImageMemoryRequirements2( const ImageMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT; | |
| 4469 | |
| 4470 // wrapper function for command vkGetBufferMemoryRequirements2, see | |
| 4471 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements2.html | |
| 4472 VULKAN_HPP_NODISCARD MemoryRequirements2 getBufferMemoryRequirements2( const BufferMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT; | |
| 4473 | |
| 4474 // wrapper function for command vkGetBufferMemoryRequirements2, see | |
| 4475 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements2.html | |
| 4476 template <typename X, typename Y, typename... Z> | |
| 4477 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getBufferMemoryRequirements2( const BufferMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT; | |
| 4478 | |
| 4479 // wrapper function for command vkGetImageSparseMemoryRequirements2, see | |
| 4480 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements2.html | |
| 4481 VULKAN_HPP_NODISCARD std::vector<SparseImageMemoryRequirements2> | |
| 4482 getImageSparseMemoryRequirements2( const ImageSparseMemoryRequirementsInfo2 & info ) const; | |
| 4483 | |
| 4484 // wrapper function for command vkGetDeviceQueue2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceQueue2.html | |
| 4485 VULKAN_HPP_NODISCARD Queue getQueue2( DeviceQueueInfo2 const & queueInfo ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4486 | |
| 4487 // wrapper function for command vkCreateDescriptorUpdateTemplate, see | |
| 4488 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorUpdateTemplate.html | |
| 4489 VULKAN_HPP_NODISCARD typename ResultValueType<DescriptorUpdateTemplate>::type | |
| 4490 createDescriptorUpdateTemplate( DescriptorUpdateTemplateCreateInfo const & createInfo, | |
| 4491 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4492 | |
| 4493 // wrapper function for command vkGetDescriptorSetLayoutSupport, see | |
| 4494 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSupport.html | |
| 4495 VULKAN_HPP_NODISCARD DescriptorSetLayoutSupport | |
| 4496 getDescriptorSetLayoutSupport( const DescriptorSetLayoutCreateInfo & createInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 4497 | |
| 4498 // wrapper function for command vkGetDescriptorSetLayoutSupport, see | |
| 4499 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSupport.html | |
| 4500 template <typename X, typename Y, typename... Z> | |
| 4501 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> | |
| 4502 getDescriptorSetLayoutSupport( const DescriptorSetLayoutCreateInfo & createInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 4503 | |
| 4504 // wrapper function for command vkCreateSamplerYcbcrConversion, see | |
| 4505 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSamplerYcbcrConversion.html | |
| 4506 VULKAN_HPP_NODISCARD typename ResultValueType<SamplerYcbcrConversion>::type | |
| 4507 createSamplerYcbcrConversion( SamplerYcbcrConversionCreateInfo const & createInfo, | |
| 4508 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4509 | |
| 4510 //=== VK_VERSION_1_2 === | |
| 4511 | |
| 4512 // wrapper function for command vkWaitSemaphores, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitSemaphores.html | |
| 4513 VULKAN_HPP_NODISCARD Result waitSemaphores( const SemaphoreWaitInfo & waitInfo, uint64_t timeout ) const; | |
| 4514 | |
| 4515 // wrapper function for command vkSignalSemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSignalSemaphore.html | |
| 4516 typename ResultValueType<void>::type signalSemaphore( const SemaphoreSignalInfo & signalInfo ) const; | |
| 4517 | |
| 4518 // wrapper function for command vkGetBufferDeviceAddress, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferDeviceAddress.html | |
| 4519 VULKAN_HPP_NODISCARD DeviceAddress getBufferAddress( const BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT; | |
| 4520 | |
| 4521 // wrapper function for command vkGetBufferOpaqueCaptureAddress, see | |
| 4522 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferOpaqueCaptureAddress.html | |
| 4523 VULKAN_HPP_NODISCARD uint64_t getBufferOpaqueCaptureAddress( const BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT; | |
| 4524 | |
| 4525 // wrapper function for command vkGetDeviceMemoryOpaqueCaptureAddress, see | |
| 4526 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMemoryOpaqueCaptureAddress.html | |
| 4527 VULKAN_HPP_NODISCARD uint64_t getMemoryOpaqueCaptureAddress( const DeviceMemoryOpaqueCaptureAddressInfo & info ) const VULKAN_HPP_NOEXCEPT; | |
| 4528 | |
| 4529 // wrapper function for command vkCreateRenderPass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass2.html | |
| 4530 VULKAN_HPP_NODISCARD typename ResultValueType<RenderPass>::type | |
| 4531 createRenderPass2( RenderPassCreateInfo2 const & createInfo, | |
| 4532 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4533 | |
| 4534 //=== VK_VERSION_1_3 === | |
| 4535 | |
| 4536 // wrapper function for command vkCreatePrivateDataSlot, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePrivateDataSlot.html | |
| 4537 VULKAN_HPP_NODISCARD typename ResultValueType<PrivateDataSlot>::type | |
| 4538 createPrivateDataSlot( PrivateDataSlotCreateInfo const & createInfo, | |
| 4539 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4540 | |
| 4541 // wrapper function for command vkSetPrivateData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetPrivateData.html | |
| 4542 typename ResultValueType<void>::type | |
| 4543 setPrivateData( ObjectType objectType, uint64_t objectHandle, VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot, uint64_t data ) const; | |
| 4544 | |
| 4545 // wrapper function for command vkGetPrivateData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPrivateData.html | |
| 4546 VULKAN_HPP_NODISCARD uint64_t getPrivateData( ObjectType objectType, | |
| 4547 uint64_t objectHandle, | |
| 4548 VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot ) const VULKAN_HPP_NOEXCEPT; | |
| 4549 | |
| 4550 // wrapper function for command vkGetDeviceBufferMemoryRequirements, see | |
| 4551 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceBufferMemoryRequirements.html | |
| 4552 VULKAN_HPP_NODISCARD MemoryRequirements2 getBufferMemoryRequirements( const DeviceBufferMemoryRequirements & info ) const VULKAN_HPP_NOEXCEPT; | |
| 4553 | |
| 4554 // wrapper function for command vkGetDeviceBufferMemoryRequirements, see | |
| 4555 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceBufferMemoryRequirements.html | |
| 4556 template <typename X, typename Y, typename... Z> | |
| 4557 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getBufferMemoryRequirements( const DeviceBufferMemoryRequirements & info ) const VULKAN_HPP_NOEXCEPT; | |
| 4558 | |
| 4559 // wrapper function for command vkGetDeviceImageMemoryRequirements, see | |
| 4560 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageMemoryRequirements.html | |
| 4561 VULKAN_HPP_NODISCARD MemoryRequirements2 getImageMemoryRequirements( const DeviceImageMemoryRequirements & info ) const VULKAN_HPP_NOEXCEPT; | |
| 4562 | |
| 4563 // wrapper function for command vkGetDeviceImageMemoryRequirements, see | |
| 4564 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageMemoryRequirements.html | |
| 4565 template <typename X, typename Y, typename... Z> | |
| 4566 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getImageMemoryRequirements( const DeviceImageMemoryRequirements & info ) const VULKAN_HPP_NOEXCEPT; | |
| 4567 | |
| 4568 // wrapper function for command vkGetDeviceImageSparseMemoryRequirements, see | |
| 4569 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSparseMemoryRequirements.html | |
| 4570 VULKAN_HPP_NODISCARD std::vector<SparseImageMemoryRequirements2> getImageSparseMemoryRequirements( const DeviceImageMemoryRequirements & info ) const; | |
| 4571 | |
| 4572 //=== VK_VERSION_1_4 === | |
| 4573 | |
| 4574 // wrapper function for command vkMapMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMapMemory2.html | |
| 4575 VULKAN_HPP_NODISCARD typename ResultValueType<void *>::type mapMemory2( const MemoryMapInfo & memoryMapInfo ) const; | |
| 4576 | |
| 4577 // wrapper function for command vkUnmapMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUnmapMemory2.html | |
| 4578 typename ResultValueType<void>::type unmapMemory2( const MemoryUnmapInfo & memoryUnmapInfo ) const; | |
| 4579 | |
| 4580 // wrapper function for command vkGetDeviceImageSubresourceLayout, see | |
| 4581 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSubresourceLayout.html | |
| 4582 VULKAN_HPP_NODISCARD SubresourceLayout2 getImageSubresourceLayout( const DeviceImageSubresourceInfo & info ) const VULKAN_HPP_NOEXCEPT; | |
| 4583 | |
| 4584 // wrapper function for command vkGetDeviceImageSubresourceLayout, see | |
| 4585 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSubresourceLayout.html | |
| 4586 template <typename X, typename Y, typename... Z> | |
| 4587 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getImageSubresourceLayout( const DeviceImageSubresourceInfo & info ) const VULKAN_HPP_NOEXCEPT; | |
| 4588 | |
| 4589 // wrapper function for command vkCopyMemoryToImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToImage.html | |
| 4590 typename ResultValueType<void>::type copyMemoryToImage( const CopyMemoryToImageInfo & copyMemoryToImageInfo ) const; | |
| 4591 | |
| 4592 // wrapper function for command vkCopyImageToMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToMemory.html | |
| 4593 typename ResultValueType<void>::type copyImageToMemory( const CopyImageToMemoryInfo & copyImageToMemoryInfo ) const; | |
| 4594 | |
| 4595 // wrapper function for command vkCopyImageToImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToImage.html | |
| 4596 typename ResultValueType<void>::type copyImageToImage( const CopyImageToImageInfo & copyImageToImageInfo ) const; | |
| 4597 | |
| 4598 // wrapper function for command vkTransitionImageLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTransitionImageLayout.html | |
| 4599 typename ResultValueType<void>::type transitionImageLayout( ArrayProxy<const HostImageLayoutTransitionInfo> const & transitions ) const; | |
| 4600 | |
| 4601 // wrapper function for command vkGetRenderingAreaGranularity, see | |
| 4602 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRenderingAreaGranularity.html | |
| 4603 VULKAN_HPP_NODISCARD Extent2D getRenderingAreaGranularity( const RenderingAreaInfo & renderingAreaInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 4604 | |
| 4605 //=== VK_KHR_swapchain === | |
| 4606 | |
| 4607 // wrapper function for command vkCreateSwapchainKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSwapchainKHR.html | |
| 4608 VULKAN_HPP_NODISCARD typename ResultValueType<SwapchainKHR>::type | |
| 4609 createSwapchainKHR( SwapchainCreateInfoKHR const & createInfo, | |
| 4610 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4611 | |
| 4612 // wrapper function for command vkGetDeviceGroupPresentCapabilitiesKHR, see | |
| 4613 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupPresentCapabilitiesKHR.html | |
| 4614 VULKAN_HPP_NODISCARD typename ResultValueType<DeviceGroupPresentCapabilitiesKHR>::type getGroupPresentCapabilitiesKHR() const; | |
| 4615 | |
| 4616 // wrapper function for command vkGetDeviceGroupSurfacePresentModesKHR, see | |
| 4617 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupSurfacePresentModesKHR.html | |
| 4618 VULKAN_HPP_NODISCARD typename ResultValueType<DeviceGroupPresentModeFlagsKHR>::type | |
| 4619 getGroupSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const; | |
| 4620 | |
| 4621 // wrapper function for command vkAcquireNextImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireNextImage2KHR.html | |
| 4622 VULKAN_HPP_NODISCARD ResultValue<uint32_t> acquireNextImage2KHR( const AcquireNextImageInfoKHR & acquireInfo ) const; | |
| 4623 | |
| 4624 //=== VK_KHR_display_swapchain === | |
| 4625 | |
| 4626 // wrapper function for command vkCreateSharedSwapchainsKHR, see | |
| 4627 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSharedSwapchainsKHR.html | |
| 4628 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<SwapchainKHR>>::type | |
| 4629 createSharedSwapchainsKHR( ArrayProxy<SwapchainCreateInfoKHR> const & createInfos, Optional<const AllocationCallbacks> allocator = nullptr ) const; | |
| 4630 | |
| 4631 // wrapper function for command vkCreateSharedSwapchainsKHR, see | |
| 4632 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSharedSwapchainsKHR.html | |
| 4633 VULKAN_HPP_NODISCARD typename ResultValueType<SwapchainKHR>::type | |
| 4634 createSharedSwapchainKHR( SwapchainCreateInfoKHR const & createInfo, | |
| 4635 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4636 | |
| 4637 //=== VK_EXT_debug_marker === | |
| 4638 | |
| 4639 // wrapper function for command vkDebugMarkerSetObjectTagEXT, see | |
| 4640 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDebugMarkerSetObjectTagEXT.html | |
| 4641 typename ResultValueType<void>::type debugMarkerSetObjectTagEXT( const DebugMarkerObjectTagInfoEXT & tagInfo ) const; | |
| 4642 | |
| 4643 // wrapper function for command vkDebugMarkerSetObjectNameEXT, see | |
| 4644 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDebugMarkerSetObjectNameEXT.html | |
| 4645 typename ResultValueType<void>::type debugMarkerSetObjectNameEXT( const DebugMarkerObjectNameInfoEXT & nameInfo ) const; | |
| 4646 | |
| 4647 //=== VK_KHR_video_queue === | |
| 4648 | |
| 4649 // wrapper function for command vkCreateVideoSessionKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateVideoSessionKHR.html | |
| 4650 VULKAN_HPP_NODISCARD typename ResultValueType<VideoSessionKHR>::type | |
| 4651 createVideoSessionKHR( VideoSessionCreateInfoKHR const & createInfo, | |
| 4652 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4653 | |
| 4654 // wrapper function for command vkCreateVideoSessionParametersKHR, see | |
| 4655 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateVideoSessionParametersKHR.html | |
| 4656 VULKAN_HPP_NODISCARD typename ResultValueType<VideoSessionParametersKHR>::type | |
| 4657 createVideoSessionParametersKHR( VideoSessionParametersCreateInfoKHR const & createInfo, | |
| 4658 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4659 | |
| 4660 //=== VK_NVX_binary_import === | |
| 4661 | |
| 4662 // wrapper function for command vkCreateCuModuleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCuModuleNVX.html | |
| 4663 VULKAN_HPP_NODISCARD typename ResultValueType<CuModuleNVX>::type | |
| 4664 createCuModuleNVX( CuModuleCreateInfoNVX const & createInfo, | |
| 4665 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4666 | |
| 4667 // wrapper function for command vkCreateCuFunctionNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCuFunctionNVX.html | |
| 4668 VULKAN_HPP_NODISCARD typename ResultValueType<CuFunctionNVX>::type | |
| 4669 createCuFunctionNVX( CuFunctionCreateInfoNVX const & createInfo, | |
| 4670 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4671 | |
| 4672 //=== VK_NVX_image_view_handle === | |
| 4673 | |
| 4674 // wrapper function for command vkGetImageViewHandleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewHandleNVX.html | |
| 4675 VULKAN_HPP_NODISCARD uint32_t getImageViewHandleNVX( const ImageViewHandleInfoNVX & info ) const VULKAN_HPP_NOEXCEPT; | |
| 4676 | |
| 4677 // wrapper function for command vkGetImageViewHandle64NVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewHandle64NVX.html | |
| 4678 VULKAN_HPP_NODISCARD uint64_t getImageViewHandle64NVX( const ImageViewHandleInfoNVX & info ) const VULKAN_HPP_NOEXCEPT; | |
| 4679 | |
| 4680 //=== VK_KHR_device_group === | |
| 4681 | |
| 4682 // wrapper function for command vkGetDeviceGroupPeerMemoryFeaturesKHR, see | |
| 4683 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupPeerMemoryFeaturesKHR.html | |
| 4684 VULKAN_HPP_NODISCARD PeerMemoryFeatureFlags getGroupPeerMemoryFeaturesKHR( uint32_t heapIndex, | |
| 4685 uint32_t localDeviceIndex, | |
| 4686 uint32_t remoteDeviceIndex ) const VULKAN_HPP_NOEXCEPT; | |
| 4687 | |
| 4688 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 4689 //=== VK_KHR_external_memory_win32 === | |
| 4690 | |
| 4691 // wrapper function for command vkGetMemoryWin32HandleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryWin32HandleKHR.html | |
| 4692 VULKAN_HPP_NODISCARD typename ResultValueType<HANDLE>::type getMemoryWin32HandleKHR( const MemoryGetWin32HandleInfoKHR & getWin32HandleInfo ) const; | |
| 4693 | |
| 4694 // wrapper function for command vkGetMemoryWin32HandlePropertiesKHR, see | |
| 4695 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryWin32HandlePropertiesKHR.html | |
| 4696 VULKAN_HPP_NODISCARD typename ResultValueType<MemoryWin32HandlePropertiesKHR>::type | |
| 4697 getMemoryWin32HandlePropertiesKHR( ExternalMemoryHandleTypeFlagBits handleType, HANDLE handle ) const; | |
| 4698 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 4699 | |
| 4700 //=== VK_KHR_external_memory_fd === | |
| 4701 | |
| 4702 // wrapper function for command vkGetMemoryFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryFdKHR.html | |
| 4703 VULKAN_HPP_NODISCARD typename ResultValueType<int>::type getMemoryFdKHR( const MemoryGetFdInfoKHR & getFdInfo ) const; | |
| 4704 | |
| 4705 // wrapper function for command vkGetMemoryFdPropertiesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryFdPropertiesKHR.html | |
| 4706 VULKAN_HPP_NODISCARD typename ResultValueType<MemoryFdPropertiesKHR>::type getMemoryFdPropertiesKHR( ExternalMemoryHandleTypeFlagBits handleType, | |
| 4707 int fd ) const; | |
| 4708 | |
| 4709 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 4710 //=== VK_KHR_external_semaphore_win32 === | |
| 4711 | |
| 4712 // wrapper function for command vkImportSemaphoreWin32HandleKHR, see | |
| 4713 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportSemaphoreWin32HandleKHR.html | |
| 4714 typename ResultValueType<void>::type importSemaphoreWin32HandleKHR( const ImportSemaphoreWin32HandleInfoKHR & importSemaphoreWin32HandleInfo ) const; | |
| 4715 | |
| 4716 // wrapper function for command vkGetSemaphoreWin32HandleKHR, see | |
| 4717 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreWin32HandleKHR.html | |
| 4718 VULKAN_HPP_NODISCARD typename ResultValueType<HANDLE>::type getSemaphoreWin32HandleKHR( const SemaphoreGetWin32HandleInfoKHR & getWin32HandleInfo ) const; | |
| 4719 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 4720 | |
| 4721 //=== VK_KHR_external_semaphore_fd === | |
| 4722 | |
| 4723 // wrapper function for command vkImportSemaphoreFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportSemaphoreFdKHR.html | |
| 4724 typename ResultValueType<void>::type importSemaphoreFdKHR( const ImportSemaphoreFdInfoKHR & importSemaphoreFdInfo ) const; | |
| 4725 | |
| 4726 // wrapper function for command vkGetSemaphoreFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreFdKHR.html | |
| 4727 VULKAN_HPP_NODISCARD typename ResultValueType<int>::type getSemaphoreFdKHR( const SemaphoreGetFdInfoKHR & getFdInfo ) const; | |
| 4728 | |
| 4729 //=== VK_KHR_descriptor_update_template === | |
| 4730 | |
| 4731 // wrapper function for command vkCreateDescriptorUpdateTemplateKHR, see | |
| 4732 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorUpdateTemplateKHR.html | |
| 4733 VULKAN_HPP_NODISCARD typename ResultValueType<DescriptorUpdateTemplate>::type | |
| 4734 createDescriptorUpdateTemplateKHR( DescriptorUpdateTemplateCreateInfo const & createInfo, | |
| 4735 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4736 | |
| 4737 // wrapper function for command vkDestroyDescriptorUpdateTemplateKHR, see | |
| 4738 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorUpdateTemplateKHR.html | |
| 4739 void | |
| 4740 destroyDescriptorUpdateTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), | |
| 4741 Optional<const AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const VULKAN_HPP_NOEXCEPT; | |
| 4742 | |
| 4743 //=== VK_EXT_display_control === | |
| 4744 | |
| 4745 // wrapper function for command vkDisplayPowerControlEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDisplayPowerControlEXT.html | |
| 4746 typename ResultValueType<void>::type displayPowerControlEXT( VULKAN_HPP_NAMESPACE::DisplayKHR display, | |
| 4747 const DisplayPowerInfoEXT & displayPowerInfo ) const; | |
| 4748 | |
| 4749 // wrapper function for command vkRegisterDeviceEventEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkRegisterDeviceEventEXT.html | |
| 4750 VULKAN_HPP_NODISCARD typename ResultValueType<Fence>::type | |
| 4751 registerEventEXT( DeviceEventInfoEXT const & deviceEventInfo, | |
| 4752 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4753 | |
| 4754 // wrapper function for command vkRegisterDisplayEventEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkRegisterDisplayEventEXT.html | |
| 4755 VULKAN_HPP_NODISCARD typename ResultValueType<Fence>::type | |
| 4756 registerDisplayEventEXT( DisplayKHR const & display, | |
| 4757 DisplayEventInfoEXT const & displayEventInfo, | |
| 4758 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4759 | |
| 4760 //=== VK_EXT_hdr_metadata === | |
| 4761 | |
| 4762 // wrapper function for command vkSetHdrMetadataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetHdrMetadataEXT.html | |
| 4763 void setHdrMetadataEXT( ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainKHR> const & swapchains, | |
| 4764 ArrayProxy<const HdrMetadataEXT> const & metadata ) const; | |
| 4765 | |
| 4766 //=== VK_KHR_create_renderpass2 === | |
| 4767 | |
| 4768 // wrapper function for command vkCreateRenderPass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass2KHR.html | |
| 4769 VULKAN_HPP_NODISCARD typename ResultValueType<RenderPass>::type | |
| 4770 createRenderPass2KHR( RenderPassCreateInfo2 const & createInfo, | |
| 4771 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4772 | |
| 4773 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 4774 //=== VK_KHR_external_fence_win32 === | |
| 4775 | |
| 4776 // wrapper function for command vkImportFenceWin32HandleKHR, see | |
| 4777 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportFenceWin32HandleKHR.html | |
| 4778 typename ResultValueType<void>::type importFenceWin32HandleKHR( const ImportFenceWin32HandleInfoKHR & importFenceWin32HandleInfo ) const; | |
| 4779 | |
| 4780 // wrapper function for command vkGetFenceWin32HandleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceWin32HandleKHR.html | |
| 4781 VULKAN_HPP_NODISCARD typename ResultValueType<HANDLE>::type getFenceWin32HandleKHR( const FenceGetWin32HandleInfoKHR & getWin32HandleInfo ) const; | |
| 4782 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 4783 | |
| 4784 //=== VK_KHR_external_fence_fd === | |
| 4785 | |
| 4786 // wrapper function for command vkImportFenceFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportFenceFdKHR.html | |
| 4787 typename ResultValueType<void>::type importFenceFdKHR( const ImportFenceFdInfoKHR & importFenceFdInfo ) const; | |
| 4788 | |
| 4789 // wrapper function for command vkGetFenceFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceFdKHR.html | |
| 4790 VULKAN_HPP_NODISCARD typename ResultValueType<int>::type getFenceFdKHR( const FenceGetFdInfoKHR & getFdInfo ) const; | |
| 4791 | |
| 4792 //=== VK_KHR_performance_query === | |
| 4793 | |
| 4794 // wrapper function for command vkAcquireProfilingLockKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireProfilingLockKHR.html | |
| 4795 typename ResultValueType<void>::type acquireProfilingLockKHR( const AcquireProfilingLockInfoKHR & info ) const; | |
| 4796 | |
| 4797 // wrapper function for command vkReleaseProfilingLockKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseProfilingLockKHR.html | |
| 4798 void releaseProfilingLockKHR() const VULKAN_HPP_NOEXCEPT; | |
| 4799 | |
| 4800 //=== VK_EXT_debug_utils === | |
| 4801 | |
| 4802 // wrapper function for command vkSetDebugUtilsObjectNameEXT, see | |
| 4803 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDebugUtilsObjectNameEXT.html | |
| 4804 typename ResultValueType<void>::type setDebugUtilsObjectNameEXT( const DebugUtilsObjectNameInfoEXT & nameInfo ) const; | |
| 4805 | |
| 4806 // wrapper function for command vkSetDebugUtilsObjectNameEXT, see | |
| 4807 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDebugUtilsObjectNameEXT.html | |
| 4808 template <typename HandleType> | |
| 4809 typename ResultValueType<void>::type setDebugUtilsObjectNameEXT( HandleType const & handle, std::string const & name ) const; | |
| 4810 | |
| 4811 // wrapper function for command vkSetDebugUtilsObjectTagEXT, see | |
| 4812 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDebugUtilsObjectTagEXT.html | |
| 4813 typename ResultValueType<void>::type setDebugUtilsObjectTagEXT( const DebugUtilsObjectTagInfoEXT & tagInfo ) const; | |
| 4814 | |
| 4815 // wrapper function for command vkSetDebugUtilsObjectTagEXT, see | |
| 4816 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDebugUtilsObjectTagEXT.html | |
| 4817 template <typename HandleType, typename TagType> | |
| 4818 typename ResultValueType<void>::type setDebugUtilsObjectTagEXT( HandleType const & handle, uint64_t name, TagType const & tag ) const; | |
| 4819 | |
| 4820 # if defined( VK_USE_PLATFORM_ANDROID_KHR ) | |
| 4821 //=== VK_ANDROID_external_memory_android_hardware_buffer === | |
| 4822 | |
| 4823 // wrapper function for command vkGetAndroidHardwareBufferPropertiesANDROID, see | |
| 4824 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAndroidHardwareBufferPropertiesANDROID.html | |
| 4825 VULKAN_HPP_NODISCARD Result getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer * buffer, | |
| 4826 AndroidHardwareBufferPropertiesANDROID * pProperties ) const VULKAN_HPP_NOEXCEPT; | |
| 4827 | |
| 4828 // wrapper function for command vkGetAndroidHardwareBufferPropertiesANDROID, see | |
| 4829 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAndroidHardwareBufferPropertiesANDROID.html | |
| 4830 VULKAN_HPP_NODISCARD typename ResultValueType<AndroidHardwareBufferPropertiesANDROID>::type | |
| 4831 getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer ) const; | |
| 4832 | |
| 4833 // wrapper function for command vkGetAndroidHardwareBufferPropertiesANDROID, see | |
| 4834 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAndroidHardwareBufferPropertiesANDROID.html | |
| 4835 template <typename X, typename Y, typename... Z> | |
| 4836 VULKAN_HPP_NODISCARD typename ResultValueType<StructureChain<X, Y, Z...>>::type | |
| 4837 getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer ) const; | |
| 4838 | |
| 4839 // wrapper function for command vkGetMemoryAndroidHardwareBufferANDROID, see | |
| 4840 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryAndroidHardwareBufferANDROID.html | |
| 4841 VULKAN_HPP_NODISCARD typename ResultValueType<struct AHardwareBuffer *>::type | |
| 4842 getMemoryAndroidHardwareBufferANDROID( const MemoryGetAndroidHardwareBufferInfoANDROID & info ) const; | |
| 4843 # endif /*VK_USE_PLATFORM_ANDROID_KHR*/ | |
| 4844 | |
| 4845 # if defined( VK_ENABLE_BETA_EXTENSIONS ) | |
| 4846 //=== VK_AMDX_shader_enqueue === | |
| 4847 | |
| 4848 // wrapper function for command vkCreateExecutionGraphPipelinesAMDX, see | |
| 4849 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExecutionGraphPipelinesAMDX.html | |
| 4850 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<Pipeline>>::type | |
| 4851 createExecutionGraphPipelinesAMDX( Optional<const PipelineCache> const & pipelineCache, | |
| 4852 ArrayProxy<ExecutionGraphPipelineCreateInfoAMDX> const & createInfos, | |
| 4853 Optional<const AllocationCallbacks> allocator = nullptr ) const; | |
| 4854 | |
| 4855 // wrapper function for command vkCreateExecutionGraphPipelinesAMDX, see | |
| 4856 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExecutionGraphPipelinesAMDX.html | |
| 4857 VULKAN_HPP_NODISCARD typename ResultValueType<Pipeline>::type | |
| 4858 createExecutionGraphPipelineAMDX( Optional<const PipelineCache> const & pipelineCache, | |
| 4859 ExecutionGraphPipelineCreateInfoAMDX const & createInfo, | |
| 4860 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4861 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ | |
| 4862 | |
| 4863 //=== VK_KHR_get_memory_requirements2 === | |
| 4864 | |
| 4865 // wrapper function for command vkGetImageMemoryRequirements2KHR, see | |
| 4866 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements2KHR.html | |
| 4867 VULKAN_HPP_NODISCARD MemoryRequirements2 getImageMemoryRequirements2KHR( const ImageMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT; | |
| 4868 | |
| 4869 // wrapper function for command vkGetImageMemoryRequirements2KHR, see | |
| 4870 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements2KHR.html | |
| 4871 template <typename X, typename Y, typename... Z> | |
| 4872 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getImageMemoryRequirements2KHR( const ImageMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT; | |
| 4873 | |
| 4874 // wrapper function for command vkGetBufferMemoryRequirements2KHR, see | |
| 4875 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements2KHR.html | |
| 4876 VULKAN_HPP_NODISCARD MemoryRequirements2 getBufferMemoryRequirements2KHR( const BufferMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT; | |
| 4877 | |
| 4878 // wrapper function for command vkGetBufferMemoryRequirements2KHR, see | |
| 4879 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements2KHR.html | |
| 4880 template <typename X, typename Y, typename... Z> | |
| 4881 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getBufferMemoryRequirements2KHR( const BufferMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT; | |
| 4882 | |
| 4883 // wrapper function for command vkGetImageSparseMemoryRequirements2KHR, see | |
| 4884 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements2KHR.html | |
| 4885 VULKAN_HPP_NODISCARD std::vector<SparseImageMemoryRequirements2> | |
| 4886 getImageSparseMemoryRequirements2KHR( const ImageSparseMemoryRequirementsInfo2 & info ) const; | |
| 4887 | |
| 4888 //=== VK_KHR_acceleration_structure === | |
| 4889 | |
| 4890 // wrapper function for command vkCreateAccelerationStructureKHR, see | |
| 4891 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAccelerationStructureKHR.html | |
| 4892 VULKAN_HPP_NODISCARD typename ResultValueType<AccelerationStructureKHR>::type | |
| 4893 createAccelerationStructureKHR( AccelerationStructureCreateInfoKHR const & createInfo, | |
| 4894 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4895 | |
| 4896 // wrapper function for command vkBuildAccelerationStructuresKHR, see | |
| 4897 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBuildAccelerationStructuresKHR.html | |
| 4898 VULKAN_HPP_NODISCARD Result | |
| 4899 buildAccelerationStructuresKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, | |
| 4900 ArrayProxy<const AccelerationStructureBuildGeometryInfoKHR> const & infos, | |
| 4901 ArrayProxy<const AccelerationStructureBuildRangeInfoKHR * const> const & pBuildRangeInfos ) const; | |
| 4902 | |
| 4903 // wrapper function for command vkCopyAccelerationStructureKHR, see | |
| 4904 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyAccelerationStructureKHR.html | |
| 4905 VULKAN_HPP_NODISCARD Result copyAccelerationStructureKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, | |
| 4906 const CopyAccelerationStructureInfoKHR & info ) const; | |
| 4907 | |
| 4908 // wrapper function for command vkCopyAccelerationStructureToMemoryKHR, see | |
| 4909 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyAccelerationStructureToMemoryKHR.html | |
| 4910 VULKAN_HPP_NODISCARD Result copyAccelerationStructureToMemoryKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, | |
| 4911 const CopyAccelerationStructureToMemoryInfoKHR & info ) const; | |
| 4912 | |
| 4913 // wrapper function for command vkCopyMemoryToAccelerationStructureKHR, see | |
| 4914 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToAccelerationStructureKHR.html | |
| 4915 VULKAN_HPP_NODISCARD Result copyMemoryToAccelerationStructureKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, | |
| 4916 const CopyMemoryToAccelerationStructureInfoKHR & info ) const; | |
| 4917 | |
| 4918 // wrapper function for command vkWriteAccelerationStructuresPropertiesKHR, see | |
| 4919 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteAccelerationStructuresPropertiesKHR.html | |
| 4920 template <typename DataType> | |
| 4921 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DataType>>::type | |
| 4922 writeAccelerationStructuresPropertiesKHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures, | |
| 4923 QueryType queryType, | |
| 4924 size_t dataSize, | |
| 4925 size_t stride ) const; | |
| 4926 | |
| 4927 // wrapper function for command vkWriteAccelerationStructuresPropertiesKHR, see | |
| 4928 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteAccelerationStructuresPropertiesKHR.html | |
| 4929 template <typename DataType> | |
| 4930 VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type writeAccelerationStructuresPropertyKHR( | |
| 4931 ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures, QueryType queryType, size_t stride ) const; | |
| 4932 | |
| 4933 // wrapper function for command vkGetAccelerationStructureDeviceAddressKHR, see | |
| 4934 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureDeviceAddressKHR.html | |
| 4935 VULKAN_HPP_NODISCARD DeviceAddress getAccelerationStructureAddressKHR( const AccelerationStructureDeviceAddressInfoKHR & info ) const VULKAN_HPP_NOEXCEPT; | |
| 4936 | |
| 4937 // wrapper function for command vkGetDeviceAccelerationStructureCompatibilityKHR, see | |
| 4938 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceAccelerationStructureCompatibilityKHR.html | |
| 4939 VULKAN_HPP_NODISCARD AccelerationStructureCompatibilityKHR | |
| 4940 getAccelerationStructureCompatibilityKHR( const AccelerationStructureVersionInfoKHR & versionInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 4941 | |
| 4942 // wrapper function for command vkGetAccelerationStructureBuildSizesKHR, see | |
| 4943 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureBuildSizesKHR.html | |
| 4944 VULKAN_HPP_NODISCARD AccelerationStructureBuildSizesInfoKHR | |
| 4945 getAccelerationStructureBuildSizesKHR( AccelerationStructureBuildTypeKHR buildType, | |
| 4946 const AccelerationStructureBuildGeometryInfoKHR & buildInfo, | |
| 4947 ArrayProxy<const uint32_t> const & maxPrimitiveCounts VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const; | |
| 4948 | |
| 4949 //=== VK_KHR_ray_tracing_pipeline === | |
| 4950 | |
| 4951 // wrapper function for command vkCreateRayTracingPipelinesKHR, see | |
| 4952 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesKHR.html | |
| 4953 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<Pipeline>>::type | |
| 4954 createRayTracingPipelinesKHR( Optional<const DeferredOperationKHR> const & deferredOperation, | |
| 4955 Optional<const PipelineCache> const & pipelineCache, | |
| 4956 ArrayProxy<RayTracingPipelineCreateInfoKHR> const & createInfos, | |
| 4957 Optional<const AllocationCallbacks> allocator = nullptr ) const; | |
| 4958 | |
| 4959 // wrapper function for command vkCreateRayTracingPipelinesKHR, see | |
| 4960 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesKHR.html | |
| 4961 VULKAN_HPP_NODISCARD typename ResultValueType<Pipeline>::type | |
| 4962 createRayTracingPipelineKHR( Optional<const DeferredOperationKHR> const & deferredOperation, | |
| 4963 Optional<const PipelineCache> const & pipelineCache, | |
| 4964 RayTracingPipelineCreateInfoKHR const & createInfo, | |
| 4965 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4966 | |
| 4967 //=== VK_KHR_sampler_ycbcr_conversion === | |
| 4968 | |
| 4969 // wrapper function for command vkCreateSamplerYcbcrConversionKHR, see | |
| 4970 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSamplerYcbcrConversionKHR.html | |
| 4971 VULKAN_HPP_NODISCARD typename ResultValueType<SamplerYcbcrConversion>::type | |
| 4972 createSamplerYcbcrConversionKHR( SamplerYcbcrConversionCreateInfo const & createInfo, | |
| 4973 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4974 | |
| 4975 // wrapper function for command vkDestroySamplerYcbcrConversionKHR, see | |
| 4976 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySamplerYcbcrConversionKHR.html | |
| 4977 void destroySamplerYcbcrConversionKHR( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), | |
| 4978 Optional<const AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const VULKAN_HPP_NOEXCEPT; | |
| 4979 | |
| 4980 //=== VK_KHR_bind_memory2 === | |
| 4981 | |
| 4982 // wrapper function for command vkBindBufferMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindBufferMemory2KHR.html | |
| 4983 typename ResultValueType<void>::type bindBufferMemory2KHR( ArrayProxy<const BindBufferMemoryInfo> const & bindInfos ) const; | |
| 4984 | |
| 4985 // wrapper function for command vkBindImageMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindImageMemory2KHR.html | |
| 4986 typename ResultValueType<void>::type bindImageMemory2KHR( ArrayProxy<const BindImageMemoryInfo> const & bindInfos ) const; | |
| 4987 | |
| 4988 //=== VK_EXT_validation_cache === | |
| 4989 | |
| 4990 // wrapper function for command vkCreateValidationCacheEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateValidationCacheEXT.html | |
| 4991 VULKAN_HPP_NODISCARD typename ResultValueType<ValidationCacheEXT>::type | |
| 4992 createValidationCacheEXT( ValidationCacheCreateInfoEXT const & createInfo, | |
| 4993 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 4994 | |
| 4995 //=== VK_NV_ray_tracing === | |
| 4996 | |
| 4997 // wrapper function for command vkCreateAccelerationStructureNV, see | |
| 4998 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAccelerationStructureNV.html | |
| 4999 VULKAN_HPP_NODISCARD typename ResultValueType<AccelerationStructureNV>::type | |
| 5000 createAccelerationStructureNV( AccelerationStructureCreateInfoNV const & createInfo, | |
| 5001 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 5002 | |
| 5003 // wrapper function for command vkGetAccelerationStructureMemoryRequirementsNV, see | |
| 5004 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureMemoryRequirementsNV.html | |
| 5005 VULKAN_HPP_NODISCARD MemoryRequirements2KHR | |
| 5006 getAccelerationStructureMemoryRequirementsNV( const AccelerationStructureMemoryRequirementsInfoNV & info ) const VULKAN_HPP_NOEXCEPT; | |
| 5007 | |
| 5008 // wrapper function for command vkGetAccelerationStructureMemoryRequirementsNV, see | |
| 5009 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureMemoryRequirementsNV.html | |
| 5010 template <typename X, typename Y, typename... Z> | |
| 5011 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> | |
| 5012 getAccelerationStructureMemoryRequirementsNV( const AccelerationStructureMemoryRequirementsInfoNV & info ) const VULKAN_HPP_NOEXCEPT; | |
| 5013 | |
| 5014 // wrapper function for command vkBindAccelerationStructureMemoryNV, see | |
| 5015 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindAccelerationStructureMemoryNV.html | |
| 5016 typename ResultValueType<void>::type bindAccelerationStructureMemoryNV( ArrayProxy<const BindAccelerationStructureMemoryInfoNV> const & bindInfos ) const; | |
| 5017 | |
| 5018 // wrapper function for command vkCreateRayTracingPipelinesNV, see | |
| 5019 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesNV.html | |
| 5020 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<Pipeline>>::type | |
| 5021 createRayTracingPipelinesNV( Optional<const PipelineCache> const & pipelineCache, | |
| 5022 ArrayProxy<RayTracingPipelineCreateInfoNV> const & createInfos, | |
| 5023 Optional<const AllocationCallbacks> allocator = nullptr ) const; | |
| 5024 | |
| 5025 // wrapper function for command vkCreateRayTracingPipelinesNV, see | |
| 5026 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesNV.html | |
| 5027 VULKAN_HPP_NODISCARD typename ResultValueType<Pipeline>::type | |
| 5028 createRayTracingPipelineNV( Optional<const PipelineCache> const & pipelineCache, | |
| 5029 RayTracingPipelineCreateInfoNV const & createInfo, | |
| 5030 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 5031 | |
| 5032 //=== VK_KHR_maintenance3 === | |
| 5033 | |
| 5034 // wrapper function for command vkGetDescriptorSetLayoutSupportKHR, see | |
| 5035 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSupportKHR.html | |
| 5036 VULKAN_HPP_NODISCARD DescriptorSetLayoutSupport | |
| 5037 getDescriptorSetLayoutSupportKHR( const DescriptorSetLayoutCreateInfo & createInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 5038 | |
| 5039 // wrapper function for command vkGetDescriptorSetLayoutSupportKHR, see | |
| 5040 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSupportKHR.html | |
| 5041 template <typename X, typename Y, typename... Z> | |
| 5042 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> | |
| 5043 getDescriptorSetLayoutSupportKHR( const DescriptorSetLayoutCreateInfo & createInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 5044 | |
| 5045 //=== VK_EXT_external_memory_host === | |
| 5046 | |
| 5047 // wrapper function for command vkGetMemoryHostPointerPropertiesEXT, see | |
| 5048 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryHostPointerPropertiesEXT.html | |
| 5049 VULKAN_HPP_NODISCARD typename ResultValueType<MemoryHostPointerPropertiesEXT>::type | |
| 5050 getMemoryHostPointerPropertiesEXT( ExternalMemoryHandleTypeFlagBits handleType, const void * pHostPointer ) const; | |
| 5051 | |
| 5052 //=== VK_EXT_calibrated_timestamps === | |
| 5053 | |
| 5054 // wrapper function for command vkGetCalibratedTimestampsEXT, see | |
| 5055 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsEXT.html | |
| 5056 VULKAN_HPP_NODISCARD typename ResultValueType<std::pair<std::vector<uint64_t>, uint64_t>>::type | |
| 5057 getCalibratedTimestampsEXT( ArrayProxy<const CalibratedTimestampInfoKHR> const & timestampInfos ) const; | |
| 5058 | |
| 5059 // wrapper function for command vkGetCalibratedTimestampsEXT, see | |
| 5060 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsEXT.html | |
| 5061 VULKAN_HPP_NODISCARD typename ResultValueType<std::pair<uint64_t, uint64_t>>::type | |
| 5062 getCalibratedTimestampEXT( const CalibratedTimestampInfoKHR & timestampInfo ) const; | |
| 5063 | |
| 5064 //=== VK_KHR_timeline_semaphore === | |
| 5065 | |
| 5066 // wrapper function for command vkWaitSemaphoresKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitSemaphoresKHR.html | |
| 5067 VULKAN_HPP_NODISCARD Result waitSemaphoresKHR( const SemaphoreWaitInfo & waitInfo, uint64_t timeout ) const; | |
| 5068 | |
| 5069 // wrapper function for command vkSignalSemaphoreKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSignalSemaphoreKHR.html | |
| 5070 typename ResultValueType<void>::type signalSemaphoreKHR( const SemaphoreSignalInfo & signalInfo ) const; | |
| 5071 | |
| 5072 //=== VK_INTEL_performance_query === | |
| 5073 | |
| 5074 // wrapper function for command vkInitializePerformanceApiINTEL, see | |
| 5075 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkInitializePerformanceApiINTEL.html | |
| 5076 typename ResultValueType<void>::type initializePerformanceApiINTEL( const InitializePerformanceApiInfoINTEL & initializeInfo ) const; | |
| 5077 | |
| 5078 // wrapper function for command vkUninitializePerformanceApiINTEL, see | |
| 5079 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUninitializePerformanceApiINTEL.html | |
| 5080 void uninitializePerformanceApiINTEL() const VULKAN_HPP_NOEXCEPT; | |
| 5081 | |
| 5082 // wrapper function for command vkAcquirePerformanceConfigurationINTEL, see | |
| 5083 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquirePerformanceConfigurationINTEL.html | |
| 5084 VULKAN_HPP_NODISCARD typename ResultValueType<PerformanceConfigurationINTEL>::type | |
| 5085 acquirePerformanceConfigurationINTEL( PerformanceConfigurationAcquireInfoINTEL const & acquireInfo ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 5086 | |
| 5087 // wrapper function for command vkGetPerformanceParameterINTEL, see | |
| 5088 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPerformanceParameterINTEL.html | |
| 5089 VULKAN_HPP_NODISCARD typename ResultValueType<PerformanceValueINTEL>::type getPerformanceParameterINTEL( PerformanceParameterTypeINTEL parameter ) const; | |
| 5090 | |
| 5091 //=== VK_EXT_buffer_device_address === | |
| 5092 | |
| 5093 // wrapper function for command vkGetBufferDeviceAddressEXT, see | |
| 5094 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferDeviceAddressEXT.html | |
| 5095 VULKAN_HPP_NODISCARD DeviceAddress getBufferAddressEXT( const BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT; | |
| 5096 | |
| 5097 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 5098 //=== VK_EXT_full_screen_exclusive === | |
| 5099 | |
| 5100 // wrapper function for command vkGetDeviceGroupSurfacePresentModes2EXT, see | |
| 5101 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupSurfacePresentModes2EXT.html | |
| 5102 VULKAN_HPP_NODISCARD typename ResultValueType<DeviceGroupPresentModeFlagsKHR>::type | |
| 5103 getGroupSurfacePresentModes2EXT( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const; | |
| 5104 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 5105 | |
| 5106 //=== VK_KHR_buffer_device_address === | |
| 5107 | |
| 5108 // wrapper function for command vkGetBufferDeviceAddressKHR, see | |
| 5109 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferDeviceAddressKHR.html | |
| 5110 VULKAN_HPP_NODISCARD DeviceAddress getBufferAddressKHR( const BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT; | |
| 5111 | |
| 5112 // wrapper function for command vkGetBufferOpaqueCaptureAddressKHR, see | |
| 5113 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferOpaqueCaptureAddressKHR.html | |
| 5114 VULKAN_HPP_NODISCARD uint64_t getBufferOpaqueCaptureAddressKHR( const BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT; | |
| 5115 | |
| 5116 // wrapper function for command vkGetDeviceMemoryOpaqueCaptureAddressKHR, see | |
| 5117 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMemoryOpaqueCaptureAddressKHR.html | |
| 5118 VULKAN_HPP_NODISCARD uint64_t getMemoryOpaqueCaptureAddressKHR( const DeviceMemoryOpaqueCaptureAddressInfo & info ) const VULKAN_HPP_NOEXCEPT; | |
| 5119 | |
| 5120 //=== VK_KHR_deferred_host_operations === | |
| 5121 | |
| 5122 // wrapper function for command vkCreateDeferredOperationKHR, see | |
| 5123 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDeferredOperationKHR.html | |
| 5124 VULKAN_HPP_NODISCARD typename ResultValueType<DeferredOperationKHR>::type | |
| 5125 createDeferredOperationKHR( Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 5126 | |
| 5127 //=== VK_KHR_pipeline_executable_properties === | |
| 5128 | |
| 5129 // wrapper function for command vkGetPipelineExecutablePropertiesKHR, see | |
| 5130 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutablePropertiesKHR.html | |
| 5131 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<PipelineExecutablePropertiesKHR>>::type | |
| 5132 getPipelineExecutablePropertiesKHR( const PipelineInfoKHR & pipelineInfo ) const; | |
| 5133 | |
| 5134 // wrapper function for command vkGetPipelineExecutableStatisticsKHR, see | |
| 5135 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutableStatisticsKHR.html | |
| 5136 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<PipelineExecutableStatisticKHR>>::type | |
| 5137 getPipelineExecutableStatisticsKHR( const PipelineExecutableInfoKHR & executableInfo ) const; | |
| 5138 | |
| 5139 // wrapper function for command vkGetPipelineExecutableInternalRepresentationsKHR, see | |
| 5140 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutableInternalRepresentationsKHR.html | |
| 5141 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<PipelineExecutableInternalRepresentationKHR>>::type | |
| 5142 getPipelineExecutableInternalRepresentationsKHR( const PipelineExecutableInfoKHR & executableInfo ) const; | |
| 5143 | |
| 5144 //=== VK_EXT_host_image_copy === | |
| 5145 | |
| 5146 // wrapper function for command vkCopyMemoryToImageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToImageEXT.html | |
| 5147 typename ResultValueType<void>::type copyMemoryToImageEXT( const CopyMemoryToImageInfo & copyMemoryToImageInfo ) const; | |
| 5148 | |
| 5149 // wrapper function for command vkCopyImageToMemoryEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToMemoryEXT.html | |
| 5150 typename ResultValueType<void>::type copyImageToMemoryEXT( const CopyImageToMemoryInfo & copyImageToMemoryInfo ) const; | |
| 5151 | |
| 5152 // wrapper function for command vkCopyImageToImageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToImageEXT.html | |
| 5153 typename ResultValueType<void>::type copyImageToImageEXT( const CopyImageToImageInfo & copyImageToImageInfo ) const; | |
| 5154 | |
| 5155 // wrapper function for command vkTransitionImageLayoutEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTransitionImageLayoutEXT.html | |
| 5156 typename ResultValueType<void>::type transitionImageLayoutEXT( ArrayProxy<const HostImageLayoutTransitionInfo> const & transitions ) const; | |
| 5157 | |
| 5158 //=== VK_KHR_map_memory2 === | |
| 5159 | |
| 5160 // wrapper function for command vkMapMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMapMemory2KHR.html | |
| 5161 VULKAN_HPP_NODISCARD typename ResultValueType<void *>::type mapMemory2KHR( const MemoryMapInfo & memoryMapInfo ) const; | |
| 5162 | |
| 5163 // wrapper function for command vkUnmapMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUnmapMemory2KHR.html | |
| 5164 typename ResultValueType<void>::type unmapMemory2KHR( const MemoryUnmapInfo & memoryUnmapInfo ) const; | |
| 5165 | |
| 5166 //=== VK_EXT_swapchain_maintenance1 === | |
| 5167 | |
| 5168 // wrapper function for command vkReleaseSwapchainImagesEXT, see | |
| 5169 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseSwapchainImagesEXT.html | |
| 5170 typename ResultValueType<void>::type releaseSwapchainImagesEXT( const ReleaseSwapchainImagesInfoKHR & releaseInfo ) const; | |
| 5171 | |
| 5172 //=== VK_NV_device_generated_commands === | |
| 5173 | |
| 5174 // wrapper function for command vkGetGeneratedCommandsMemoryRequirementsNV, see | |
| 5175 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGeneratedCommandsMemoryRequirementsNV.html | |
| 5176 VULKAN_HPP_NODISCARD MemoryRequirements2 | |
| 5177 getGeneratedCommandsMemoryRequirementsNV( const GeneratedCommandsMemoryRequirementsInfoNV & info ) const VULKAN_HPP_NOEXCEPT; | |
| 5178 | |
| 5179 // wrapper function for command vkGetGeneratedCommandsMemoryRequirementsNV, see | |
| 5180 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGeneratedCommandsMemoryRequirementsNV.html | |
| 5181 template <typename X, typename Y, typename... Z> | |
| 5182 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> | |
| 5183 getGeneratedCommandsMemoryRequirementsNV( const GeneratedCommandsMemoryRequirementsInfoNV & info ) const VULKAN_HPP_NOEXCEPT; | |
| 5184 | |
| 5185 // wrapper function for command vkCreateIndirectCommandsLayoutNV, see | |
| 5186 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectCommandsLayoutNV.html | |
| 5187 VULKAN_HPP_NODISCARD typename ResultValueType<IndirectCommandsLayoutNV>::type | |
| 5188 createIndirectCommandsLayoutNV( IndirectCommandsLayoutCreateInfoNV const & createInfo, | |
| 5189 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 5190 | |
| 5191 //=== VK_EXT_private_data === | |
| 5192 | |
| 5193 // wrapper function for command vkCreatePrivateDataSlotEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePrivateDataSlotEXT.html | |
| 5194 VULKAN_HPP_NODISCARD typename ResultValueType<PrivateDataSlot>::type | |
| 5195 createPrivateDataSlotEXT( PrivateDataSlotCreateInfo const & createInfo, | |
| 5196 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 5197 | |
| 5198 // wrapper function for command vkDestroyPrivateDataSlotEXT, see | |
| 5199 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPrivateDataSlotEXT.html | |
| 5200 void destroyPrivateDataSlotEXT( VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), | |
| 5201 Optional<const AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const VULKAN_HPP_NOEXCEPT; | |
| 5202 | |
| 5203 // wrapper function for command vkSetPrivateDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetPrivateDataEXT.html | |
| 5204 typename ResultValueType<void>::type | |
| 5205 setPrivateDataEXT( ObjectType objectType, uint64_t objectHandle, VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot, uint64_t data ) const; | |
| 5206 | |
| 5207 // wrapper function for command vkGetPrivateDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPrivateDataEXT.html | |
| 5208 VULKAN_HPP_NODISCARD uint64_t getPrivateDataEXT( ObjectType objectType, | |
| 5209 uint64_t objectHandle, | |
| 5210 VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot ) const VULKAN_HPP_NOEXCEPT; | |
| 5211 | |
| 5212 //=== VK_KHR_video_encode_queue === | |
| 5213 | |
| 5214 // wrapper function for command vkGetEncodedVideoSessionParametersKHR, see | |
| 5215 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetEncodedVideoSessionParametersKHR.html | |
| 5216 VULKAN_HPP_NODISCARD typename ResultValueType<std::pair<VideoEncodeSessionParametersFeedbackInfoKHR, std::vector<uint8_t>>>::type | |
| 5217 getEncodedVideoSessionParametersKHR( const VideoEncodeSessionParametersGetInfoKHR & videoSessionParametersInfo ) const; | |
| 5218 | |
| 5219 // wrapper function for command vkGetEncodedVideoSessionParametersKHR, see | |
| 5220 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetEncodedVideoSessionParametersKHR.html | |
| 5221 template <typename X, typename Y, typename... Z> | |
| 5222 VULKAN_HPP_NODISCARD typename ResultValueType<std::pair<StructureChain<X, Y, Z...>, std::vector<uint8_t>>>::type | |
| 5223 getEncodedVideoSessionParametersKHR( const VideoEncodeSessionParametersGetInfoKHR & videoSessionParametersInfo ) const; | |
| 5224 | |
| 5225 # if defined( VK_ENABLE_BETA_EXTENSIONS ) | |
| 5226 //=== VK_NV_cuda_kernel_launch === | |
| 5227 | |
| 5228 // wrapper function for command vkCreateCudaModuleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCudaModuleNV.html | |
| 5229 VULKAN_HPP_NODISCARD typename ResultValueType<CudaModuleNV>::type | |
| 5230 createCudaModuleNV( CudaModuleCreateInfoNV const & createInfo, | |
| 5231 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 5232 | |
| 5233 // wrapper function for command vkCreateCudaFunctionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCudaFunctionNV.html | |
| 5234 VULKAN_HPP_NODISCARD typename ResultValueType<CudaFunctionNV>::type | |
| 5235 createCudaFunctionNV( CudaFunctionCreateInfoNV const & createInfo, | |
| 5236 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 5237 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ | |
| 5238 | |
| 5239 # if defined( VK_USE_PLATFORM_METAL_EXT ) | |
| 5240 //=== VK_EXT_metal_objects === | |
| 5241 | |
| 5242 // wrapper function for command vkExportMetalObjectsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkExportMetalObjectsEXT.html | |
| 5243 void exportMetalObjectsEXT( ExportMetalObjectsInfoEXT & metalObjectsInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 5244 # endif /*VK_USE_PLATFORM_METAL_EXT*/ | |
| 5245 | |
| 5246 //=== VK_EXT_descriptor_buffer === | |
| 5247 | |
| 5248 // wrapper function for command vkGetDescriptorEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorEXT.html | |
| 5249 void getDescriptorEXT( const DescriptorGetInfoEXT & descriptorInfo, size_t dataSize, void * pDescriptor ) const VULKAN_HPP_NOEXCEPT; | |
| 5250 | |
| 5251 // wrapper function for command vkGetDescriptorEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorEXT.html | |
| 5252 template <typename DescriptorType> | |
| 5253 VULKAN_HPP_NODISCARD DescriptorType getDescriptorEXT( const DescriptorGetInfoEXT & descriptorInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 5254 | |
| 5255 // wrapper function for command vkGetBufferOpaqueCaptureDescriptorDataEXT, see | |
| 5256 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferOpaqueCaptureDescriptorDataEXT.html | |
| 5257 template <typename DataType> | |
| 5258 VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type | |
| 5259 getBufferOpaqueCaptureDescriptorDataEXT( const BufferCaptureDescriptorDataInfoEXT & info ) const; | |
| 5260 | |
| 5261 // wrapper function for command vkGetImageOpaqueCaptureDescriptorDataEXT, see | |
| 5262 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageOpaqueCaptureDescriptorDataEXT.html | |
| 5263 template <typename DataType> | |
| 5264 VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type | |
| 5265 getImageOpaqueCaptureDescriptorDataEXT( const ImageCaptureDescriptorDataInfoEXT & info ) const; | |
| 5266 | |
| 5267 // wrapper function for command vkGetImageViewOpaqueCaptureDescriptorDataEXT, see | |
| 5268 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewOpaqueCaptureDescriptorDataEXT.html | |
| 5269 template <typename DataType> | |
| 5270 VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type | |
| 5271 getImageViewOpaqueCaptureDescriptorDataEXT( const ImageViewCaptureDescriptorDataInfoEXT & info ) const; | |
| 5272 | |
| 5273 // wrapper function for command vkGetSamplerOpaqueCaptureDescriptorDataEXT, see | |
| 5274 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSamplerOpaqueCaptureDescriptorDataEXT.html | |
| 5275 template <typename DataType> | |
| 5276 VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type | |
| 5277 getSamplerOpaqueCaptureDescriptorDataEXT( const SamplerCaptureDescriptorDataInfoEXT & info ) const; | |
| 5278 | |
| 5279 // wrapper function for command vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT, see | |
| 5280 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT.html | |
| 5281 template <typename DataType> | |
| 5282 VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type | |
| 5283 getAccelerationStructureOpaqueCaptureDescriptorDataEXT( const AccelerationStructureCaptureDescriptorDataInfoEXT & info ) const; | |
| 5284 | |
| 5285 //=== VK_EXT_device_fault === | |
| 5286 | |
| 5287 // wrapper function for command vkGetDeviceFaultInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceFaultInfoEXT.html | |
| 5288 VULKAN_HPP_NODISCARD Result getFaultInfoEXT( DeviceFaultCountsEXT * pFaultCounts, DeviceFaultInfoEXT * pFaultInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 5289 | |
| 5290 # if defined( VK_USE_PLATFORM_FUCHSIA ) | |
| 5291 //=== VK_FUCHSIA_external_memory === | |
| 5292 | |
| 5293 // wrapper function for command vkGetMemoryZirconHandleFUCHSIA, see | |
| 5294 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryZirconHandleFUCHSIA.html | |
| 5295 VULKAN_HPP_NODISCARD typename ResultValueType<zx_handle_t>::type | |
| 5296 getMemoryZirconHandleFUCHSIA( const MemoryGetZirconHandleInfoFUCHSIA & getZirconHandleInfo ) const; | |
| 5297 | |
| 5298 // wrapper function for command vkGetMemoryZirconHandlePropertiesFUCHSIA, see | |
| 5299 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryZirconHandlePropertiesFUCHSIA.html | |
| 5300 VULKAN_HPP_NODISCARD typename ResultValueType<MemoryZirconHandlePropertiesFUCHSIA>::type | |
| 5301 getMemoryZirconHandlePropertiesFUCHSIA( ExternalMemoryHandleTypeFlagBits handleType, zx_handle_t zirconHandle ) const; | |
| 5302 # endif /*VK_USE_PLATFORM_FUCHSIA*/ | |
| 5303 | |
| 5304 # if defined( VK_USE_PLATFORM_FUCHSIA ) | |
| 5305 //=== VK_FUCHSIA_external_semaphore === | |
| 5306 | |
| 5307 // wrapper function for command vkImportSemaphoreZirconHandleFUCHSIA, see | |
| 5308 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportSemaphoreZirconHandleFUCHSIA.html | |
| 5309 typename ResultValueType<void>::type | |
| 5310 importSemaphoreZirconHandleFUCHSIA( const ImportSemaphoreZirconHandleInfoFUCHSIA & importSemaphoreZirconHandleInfo ) const; | |
| 5311 | |
| 5312 // wrapper function for command vkGetSemaphoreZirconHandleFUCHSIA, see | |
| 5313 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreZirconHandleFUCHSIA.html | |
| 5314 VULKAN_HPP_NODISCARD typename ResultValueType<zx_handle_t>::type | |
| 5315 getSemaphoreZirconHandleFUCHSIA( const SemaphoreGetZirconHandleInfoFUCHSIA & getZirconHandleInfo ) const; | |
| 5316 # endif /*VK_USE_PLATFORM_FUCHSIA*/ | |
| 5317 | |
| 5318 # if defined( VK_USE_PLATFORM_FUCHSIA ) | |
| 5319 //=== VK_FUCHSIA_buffer_collection === | |
| 5320 | |
| 5321 // wrapper function for command vkCreateBufferCollectionFUCHSIA, see | |
| 5322 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBufferCollectionFUCHSIA.html | |
| 5323 VULKAN_HPP_NODISCARD typename ResultValueType<BufferCollectionFUCHSIA>::type | |
| 5324 createBufferCollectionFUCHSIA( BufferCollectionCreateInfoFUCHSIA const & createInfo, | |
| 5325 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 5326 # endif /*VK_USE_PLATFORM_FUCHSIA*/ | |
| 5327 | |
| 5328 //=== VK_NV_external_memory_rdma === | |
| 5329 | |
| 5330 // wrapper function for command vkGetMemoryRemoteAddressNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryRemoteAddressNV.html | |
| 5331 VULKAN_HPP_NODISCARD typename ResultValueType<RemoteAddressNV>::type | |
| 5332 getMemoryRemoteAddressNV( const MemoryGetRemoteAddressInfoNV & memoryGetRemoteAddressInfo ) const; | |
| 5333 | |
| 5334 //=== VK_EXT_pipeline_properties === | |
| 5335 | |
| 5336 // wrapper function for command vkGetPipelinePropertiesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelinePropertiesEXT.html | |
| 5337 VULKAN_HPP_NODISCARD typename ResultValueType<BaseOutStructure>::type getPipelinePropertiesEXT( const PipelineInfoEXT & pipelineInfo ) const; | |
| 5338 | |
| 5339 //=== VK_EXT_opacity_micromap === | |
| 5340 | |
| 5341 // wrapper function for command vkCreateMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMicromapEXT.html | |
| 5342 VULKAN_HPP_NODISCARD typename ResultValueType<MicromapEXT>::type | |
| 5343 createMicromapEXT( MicromapCreateInfoEXT const & createInfo, | |
| 5344 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 5345 | |
| 5346 // wrapper function for command vkBuildMicromapsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBuildMicromapsEXT.html | |
| 5347 VULKAN_HPP_NODISCARD Result buildMicromapsEXT( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, | |
| 5348 ArrayProxy<const MicromapBuildInfoEXT> const & infos ) const; | |
| 5349 | |
| 5350 // wrapper function for command vkCopyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMicromapEXT.html | |
| 5351 VULKAN_HPP_NODISCARD Result copyMicromapEXT( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, const CopyMicromapInfoEXT & info ) const; | |
| 5352 | |
| 5353 // wrapper function for command vkCopyMicromapToMemoryEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMicromapToMemoryEXT.html | |
| 5354 VULKAN_HPP_NODISCARD Result copyMicromapToMemoryEXT( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, | |
| 5355 const CopyMicromapToMemoryInfoEXT & info ) const; | |
| 5356 | |
| 5357 // wrapper function for command vkCopyMemoryToMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToMicromapEXT.html | |
| 5358 VULKAN_HPP_NODISCARD Result copyMemoryToMicromapEXT( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, | |
| 5359 const CopyMemoryToMicromapInfoEXT & info ) const; | |
| 5360 | |
| 5361 // wrapper function for command vkWriteMicromapsPropertiesEXT, see | |
| 5362 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteMicromapsPropertiesEXT.html | |
| 5363 template <typename DataType> | |
| 5364 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DataType>>::type writeMicromapsPropertiesEXT( | |
| 5365 ArrayProxy<const VULKAN_HPP_NAMESPACE::MicromapEXT> const & micromaps, QueryType queryType, size_t dataSize, size_t stride ) const; | |
| 5366 | |
| 5367 // wrapper function for command vkWriteMicromapsPropertiesEXT, see | |
| 5368 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteMicromapsPropertiesEXT.html | |
| 5369 template <typename DataType> | |
| 5370 VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type | |
| 5371 writeMicromapsPropertyEXT( ArrayProxy<const VULKAN_HPP_NAMESPACE::MicromapEXT> const & micromaps, QueryType queryType, size_t stride ) const; | |
| 5372 | |
| 5373 // wrapper function for command vkGetDeviceMicromapCompatibilityEXT, see | |
| 5374 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMicromapCompatibilityEXT.html | |
| 5375 VULKAN_HPP_NODISCARD AccelerationStructureCompatibilityKHR | |
| 5376 getMicromapCompatibilityEXT( const MicromapVersionInfoEXT & versionInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 5377 | |
| 5378 // wrapper function for command vkGetMicromapBuildSizesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMicromapBuildSizesEXT.html | |
| 5379 VULKAN_HPP_NODISCARD MicromapBuildSizesInfoEXT getMicromapBuildSizesEXT( AccelerationStructureBuildTypeKHR buildType, | |
| 5380 const MicromapBuildInfoEXT & buildInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 5381 | |
| 5382 //=== VK_KHR_maintenance4 === | |
| 5383 | |
| 5384 // wrapper function for command vkGetDeviceBufferMemoryRequirementsKHR, see | |
| 5385 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceBufferMemoryRequirementsKHR.html | |
| 5386 VULKAN_HPP_NODISCARD MemoryRequirements2 getBufferMemoryRequirementsKHR( const DeviceBufferMemoryRequirements & info ) const VULKAN_HPP_NOEXCEPT; | |
| 5387 | |
| 5388 // wrapper function for command vkGetDeviceBufferMemoryRequirementsKHR, see | |
| 5389 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceBufferMemoryRequirementsKHR.html | |
| 5390 template <typename X, typename Y, typename... Z> | |
| 5391 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getBufferMemoryRequirementsKHR( const DeviceBufferMemoryRequirements & info ) const VULKAN_HPP_NOEXCEPT; | |
| 5392 | |
| 5393 // wrapper function for command vkGetDeviceImageMemoryRequirementsKHR, see | |
| 5394 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageMemoryRequirementsKHR.html | |
| 5395 VULKAN_HPP_NODISCARD MemoryRequirements2 getImageMemoryRequirementsKHR( const DeviceImageMemoryRequirements & info ) const VULKAN_HPP_NOEXCEPT; | |
| 5396 | |
| 5397 // wrapper function for command vkGetDeviceImageMemoryRequirementsKHR, see | |
| 5398 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageMemoryRequirementsKHR.html | |
| 5399 template <typename X, typename Y, typename... Z> | |
| 5400 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getImageMemoryRequirementsKHR( const DeviceImageMemoryRequirements & info ) const VULKAN_HPP_NOEXCEPT; | |
| 5401 | |
| 5402 // wrapper function for command vkGetDeviceImageSparseMemoryRequirementsKHR, see | |
| 5403 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSparseMemoryRequirementsKHR.html | |
| 5404 VULKAN_HPP_NODISCARD std::vector<SparseImageMemoryRequirements2> getImageSparseMemoryRequirementsKHR( const DeviceImageMemoryRequirements & info ) const; | |
| 5405 | |
| 5406 //=== VK_VALVE_descriptor_set_host_mapping === | |
| 5407 | |
| 5408 // wrapper function for command vkGetDescriptorSetLayoutHostMappingInfoVALVE, see | |
| 5409 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutHostMappingInfoVALVE.html | |
| 5410 VULKAN_HPP_NODISCARD DescriptorSetLayoutHostMappingInfoVALVE | |
| 5411 getDescriptorSetLayoutHostMappingInfoVALVE( const DescriptorSetBindingReferenceVALVE & bindingReference ) const VULKAN_HPP_NOEXCEPT; | |
| 5412 | |
| 5413 //=== VK_NV_device_generated_commands_compute === | |
| 5414 | |
| 5415 // wrapper function for command vkGetPipelineIndirectMemoryRequirementsNV, see | |
| 5416 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineIndirectMemoryRequirementsNV.html | |
| 5417 VULKAN_HPP_NODISCARD MemoryRequirements2 | |
| 5418 getPipelineIndirectMemoryRequirementsNV( const ComputePipelineCreateInfo & createInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 5419 | |
| 5420 // wrapper function for command vkGetPipelineIndirectMemoryRequirementsNV, see | |
| 5421 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineIndirectMemoryRequirementsNV.html | |
| 5422 template <typename X, typename Y, typename... Z> | |
| 5423 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> | |
| 5424 getPipelineIndirectMemoryRequirementsNV( const ComputePipelineCreateInfo & createInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 5425 | |
| 5426 // wrapper function for command vkGetPipelineIndirectDeviceAddressNV, see | |
| 5427 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineIndirectDeviceAddressNV.html | |
| 5428 VULKAN_HPP_NODISCARD DeviceAddress getPipelineIndirectAddressNV( const PipelineIndirectDeviceAddressInfoNV & info ) const VULKAN_HPP_NOEXCEPT; | |
| 5429 | |
| 5430 # if defined( VK_USE_PLATFORM_OHOS ) | |
| 5431 //=== VK_OHOS_external_memory === | |
| 5432 | |
| 5433 // wrapper function for command vkGetNativeBufferPropertiesOHOS, see | |
| 5434 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetNativeBufferPropertiesOHOS.html | |
| 5435 VULKAN_HPP_NODISCARD Result getNativeBufferPropertiesOHOS( const struct OH_NativeBuffer * buffer, | |
| 5436 NativeBufferPropertiesOHOS * pProperties ) const VULKAN_HPP_NOEXCEPT; | |
| 5437 | |
| 5438 // wrapper function for command vkGetNativeBufferPropertiesOHOS, see | |
| 5439 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetNativeBufferPropertiesOHOS.html | |
| 5440 VULKAN_HPP_NODISCARD typename ResultValueType<NativeBufferPropertiesOHOS>::type | |
| 5441 getNativeBufferPropertiesOHOS( const struct OH_NativeBuffer & buffer ) const; | |
| 5442 | |
| 5443 // wrapper function for command vkGetNativeBufferPropertiesOHOS, see | |
| 5444 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetNativeBufferPropertiesOHOS.html | |
| 5445 template <typename X, typename Y, typename... Z> | |
| 5446 VULKAN_HPP_NODISCARD typename ResultValueType<StructureChain<X, Y, Z...>>::type | |
| 5447 getNativeBufferPropertiesOHOS( const struct OH_NativeBuffer & buffer ) const; | |
| 5448 | |
| 5449 // wrapper function for command vkGetMemoryNativeBufferOHOS, see | |
| 5450 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryNativeBufferOHOS.html | |
| 5451 VULKAN_HPP_NODISCARD typename ResultValueType<struct OH_NativeBuffer *>::type | |
| 5452 getMemoryNativeBufferOHOS( const MemoryGetNativeBufferInfoOHOS & info ) const; | |
| 5453 # endif /*VK_USE_PLATFORM_OHOS*/ | |
| 5454 | |
| 5455 //=== VK_ARM_tensors === | |
| 5456 | |
| 5457 // wrapper function for command vkCreateTensorARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateTensorARM.html | |
| 5458 VULKAN_HPP_NODISCARD typename ResultValueType<TensorARM>::type | |
| 5459 createTensorARM( TensorCreateInfoARM const & createInfo, | |
| 5460 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 5461 | |
| 5462 // wrapper function for command vkCreateTensorViewARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateTensorViewARM.html | |
| 5463 VULKAN_HPP_NODISCARD typename ResultValueType<TensorViewARM>::type | |
| 5464 createTensorViewARM( TensorViewCreateInfoARM const & createInfo, | |
| 5465 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 5466 | |
| 5467 // wrapper function for command vkGetTensorMemoryRequirementsARM, see | |
| 5468 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetTensorMemoryRequirementsARM.html | |
| 5469 VULKAN_HPP_NODISCARD MemoryRequirements2 getTensorMemoryRequirementsARM( const TensorMemoryRequirementsInfoARM & info ) const VULKAN_HPP_NOEXCEPT; | |
| 5470 | |
| 5471 // wrapper function for command vkGetTensorMemoryRequirementsARM, see | |
| 5472 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetTensorMemoryRequirementsARM.html | |
| 5473 template <typename X, typename Y, typename... Z> | |
| 5474 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getTensorMemoryRequirementsARM( const TensorMemoryRequirementsInfoARM & info ) const VULKAN_HPP_NOEXCEPT; | |
| 5475 | |
| 5476 // wrapper function for command vkBindTensorMemoryARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindTensorMemoryARM.html | |
| 5477 typename ResultValueType<void>::type bindTensorMemoryARM( ArrayProxy<const BindTensorMemoryInfoARM> const & bindInfos ) const; | |
| 5478 | |
| 5479 // wrapper function for command vkGetDeviceTensorMemoryRequirementsARM, see | |
| 5480 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceTensorMemoryRequirementsARM.html | |
| 5481 VULKAN_HPP_NODISCARD MemoryRequirements2 getTensorMemoryRequirementsARM( const DeviceTensorMemoryRequirementsARM & info ) const VULKAN_HPP_NOEXCEPT; | |
| 5482 | |
| 5483 // wrapper function for command vkGetDeviceTensorMemoryRequirementsARM, see | |
| 5484 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceTensorMemoryRequirementsARM.html | |
| 5485 template <typename X, typename Y, typename... Z> | |
| 5486 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> | |
| 5487 getTensorMemoryRequirementsARM( const DeviceTensorMemoryRequirementsARM & info ) const VULKAN_HPP_NOEXCEPT; | |
| 5488 | |
| 5489 // wrapper function for command vkGetTensorOpaqueCaptureDescriptorDataARM, see | |
| 5490 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetTensorOpaqueCaptureDescriptorDataARM.html | |
| 5491 template <typename DataType> | |
| 5492 VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type | |
| 5493 getTensorOpaqueCaptureDescriptorDataARM( const TensorCaptureDescriptorDataInfoARM & info ) const; | |
| 5494 | |
| 5495 // wrapper function for command vkGetTensorViewOpaqueCaptureDescriptorDataARM, see | |
| 5496 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetTensorViewOpaqueCaptureDescriptorDataARM.html | |
| 5497 template <typename DataType> | |
| 5498 VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type | |
| 5499 getTensorViewOpaqueCaptureDescriptorDataARM( const TensorViewCaptureDescriptorDataInfoARM & info ) const; | |
| 5500 | |
| 5501 //=== VK_EXT_shader_module_identifier === | |
| 5502 | |
| 5503 // wrapper function for command vkGetShaderModuleCreateInfoIdentifierEXT, see | |
| 5504 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderModuleCreateInfoIdentifierEXT.html | |
| 5505 VULKAN_HPP_NODISCARD ShaderModuleIdentifierEXT | |
| 5506 getShaderModuleCreateInfoIdentifierEXT( const ShaderModuleCreateInfo & createInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 5507 | |
| 5508 //=== VK_NV_optical_flow === | |
| 5509 | |
| 5510 // wrapper function for command vkCreateOpticalFlowSessionNV, see | |
| 5511 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateOpticalFlowSessionNV.html | |
| 5512 VULKAN_HPP_NODISCARD typename ResultValueType<OpticalFlowSessionNV>::type | |
| 5513 createOpticalFlowSessionNV( OpticalFlowSessionCreateInfoNV const & createInfo, | |
| 5514 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 5515 | |
| 5516 //=== VK_KHR_maintenance5 === | |
| 5517 | |
| 5518 // wrapper function for command vkGetRenderingAreaGranularityKHR, see | |
| 5519 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRenderingAreaGranularityKHR.html | |
| 5520 VULKAN_HPP_NODISCARD Extent2D getRenderingAreaGranularityKHR( const RenderingAreaInfo & renderingAreaInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 5521 | |
| 5522 // wrapper function for command vkGetDeviceImageSubresourceLayoutKHR, see | |
| 5523 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSubresourceLayoutKHR.html | |
| 5524 VULKAN_HPP_NODISCARD SubresourceLayout2 getImageSubresourceLayoutKHR( const DeviceImageSubresourceInfo & info ) const VULKAN_HPP_NOEXCEPT; | |
| 5525 | |
| 5526 // wrapper function for command vkGetDeviceImageSubresourceLayoutKHR, see | |
| 5527 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSubresourceLayoutKHR.html | |
| 5528 template <typename X, typename Y, typename... Z> | |
| 5529 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getImageSubresourceLayoutKHR( const DeviceImageSubresourceInfo & info ) const VULKAN_HPP_NOEXCEPT; | |
| 5530 | |
| 5531 //=== VK_AMD_anti_lag === | |
| 5532 | |
| 5533 // wrapper function for command vkAntiLagUpdateAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAntiLagUpdateAMD.html | |
| 5534 void antiLagUpdateAMD( const AntiLagDataAMD & data ) const VULKAN_HPP_NOEXCEPT; | |
| 5535 | |
| 5536 //=== VK_EXT_shader_object === | |
| 5537 | |
| 5538 // wrapper function for command vkCreateShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShadersEXT.html | |
| 5539 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<ShaderEXT>>::type | |
| 5540 createShadersEXT( ArrayProxy<ShaderCreateInfoEXT> const & createInfos, Optional<const AllocationCallbacks> allocator = nullptr ) const; | |
| 5541 | |
| 5542 // wrapper function for command vkCreateShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShadersEXT.html | |
| 5543 VULKAN_HPP_NODISCARD typename ResultValueType<ShaderEXT>::type | |
| 5544 createShaderEXT( ShaderCreateInfoEXT const & createInfo, | |
| 5545 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 5546 | |
| 5547 //=== VK_KHR_pipeline_binary === | |
| 5548 | |
| 5549 // wrapper function for command vkCreatePipelineBinariesKHR, see | |
| 5550 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineBinariesKHR.html | |
| 5551 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<PipelineBinaryKHR>>::type | |
| 5552 createPipelineBinariesKHR( PipelineBinaryCreateInfoKHR const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) const; | |
| 5553 | |
| 5554 // wrapper function for command vkGetPipelineKeyKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineKeyKHR.html | |
| 5555 VULKAN_HPP_NODISCARD typename ResultValueType<PipelineBinaryKeyKHR>::type | |
| 5556 getPipelineKeyKHR( Optional<const PipelineCreateInfoKHR> pipelineCreateInfo VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const; | |
| 5557 | |
| 5558 // wrapper function for command vkGetPipelineBinaryDataKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineBinaryDataKHR.html | |
| 5559 VULKAN_HPP_NODISCARD typename ResultValueType<std::pair<PipelineBinaryKeyKHR, std::vector<uint8_t>>>::type | |
| 5560 getPipelineBinaryDataKHR( const PipelineBinaryDataInfoKHR & info ) const; | |
| 5561 | |
| 5562 // wrapper function for command vkReleaseCapturedPipelineDataKHR, see | |
| 5563 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseCapturedPipelineDataKHR.html | |
| 5564 typename ResultValueType<void>::type | |
| 5565 releaseCapturedPipelineDataKHR( const ReleaseCapturedPipelineDataInfoKHR & info, | |
| 5566 Optional<const AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const; | |
| 5567 | |
| 5568 //=== VK_QCOM_tile_properties === | |
| 5569 | |
| 5570 // wrapper function for command vkGetDynamicRenderingTilePropertiesQCOM, see | |
| 5571 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDynamicRenderingTilePropertiesQCOM.html | |
| 5572 VULKAN_HPP_NODISCARD typename ResultValueType<TilePropertiesQCOM>::type | |
| 5573 getDynamicRenderingTilePropertiesQCOM( const RenderingInfo & renderingInfo ) const; | |
| 5574 | |
| 5575 //=== VK_KHR_swapchain_maintenance1 === | |
| 5576 | |
| 5577 // wrapper function for command vkReleaseSwapchainImagesKHR, see | |
| 5578 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseSwapchainImagesKHR.html | |
| 5579 typename ResultValueType<void>::type releaseSwapchainImagesKHR( const ReleaseSwapchainImagesInfoKHR & releaseInfo ) const; | |
| 5580 | |
| 5581 //=== VK_NV_cooperative_vector === | |
| 5582 | |
| 5583 // wrapper function for command vkConvertCooperativeVectorMatrixNV, see | |
| 5584 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkConvertCooperativeVectorMatrixNV.html | |
| 5585 VULKAN_HPP_NODISCARD Result convertCooperativeVectorMatrixNV( const ConvertCooperativeVectorMatrixInfoNV & info ) const; | |
| 5586 | |
| 5587 //=== VK_ARM_data_graph === | |
| 5588 | |
| 5589 // wrapper function for command vkCreateDataGraphPipelinesARM, see | |
| 5590 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDataGraphPipelinesARM.html | |
| 5591 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<Pipeline>>::type | |
| 5592 createDataGraphPipelinesARM( Optional<const DeferredOperationKHR> const & deferredOperation, | |
| 5593 Optional<const PipelineCache> const & pipelineCache, | |
| 5594 ArrayProxy<DataGraphPipelineCreateInfoARM> const & createInfos, | |
| 5595 Optional<const AllocationCallbacks> allocator = nullptr ) const; | |
| 5596 | |
| 5597 // wrapper function for command vkCreateDataGraphPipelinesARM, see | |
| 5598 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDataGraphPipelinesARM.html | |
| 5599 VULKAN_HPP_NODISCARD typename ResultValueType<Pipeline>::type | |
| 5600 createDataGraphPipelineARM( Optional<const DeferredOperationKHR> const & deferredOperation, | |
| 5601 Optional<const PipelineCache> const & pipelineCache, | |
| 5602 DataGraphPipelineCreateInfoARM const & createInfo, | |
| 5603 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 5604 | |
| 5605 // wrapper function for command vkCreateDataGraphPipelineSessionARM, see | |
| 5606 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDataGraphPipelineSessionARM.html | |
| 5607 VULKAN_HPP_NODISCARD typename ResultValueType<DataGraphPipelineSessionARM>::type | |
| 5608 createDataGraphPipelineSessionARM( DataGraphPipelineSessionCreateInfoARM const & createInfo, | |
| 5609 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 5610 | |
| 5611 // wrapper function for command vkGetDataGraphPipelineSessionBindPointRequirementsARM, see | |
| 5612 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelineSessionBindPointRequirementsARM.html | |
| 5613 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DataGraphPipelineSessionBindPointRequirementARM>>::type | |
| 5614 getDataGraphPipelineSessionBindPointRequirementsARM( const DataGraphPipelineSessionBindPointRequirementsInfoARM & info ) const; | |
| 5615 | |
| 5616 // wrapper function for command vkGetDataGraphPipelineSessionMemoryRequirementsARM, see | |
| 5617 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelineSessionMemoryRequirementsARM.html | |
| 5618 VULKAN_HPP_NODISCARD MemoryRequirements2 | |
| 5619 getDataGraphPipelineSessionMemoryRequirementsARM( const DataGraphPipelineSessionMemoryRequirementsInfoARM & info ) const VULKAN_HPP_NOEXCEPT; | |
| 5620 | |
| 5621 // wrapper function for command vkGetDataGraphPipelineSessionMemoryRequirementsARM, see | |
| 5622 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelineSessionMemoryRequirementsARM.html | |
| 5623 template <typename X, typename Y, typename... Z> | |
| 5624 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> | |
| 5625 getDataGraphPipelineSessionMemoryRequirementsARM( const DataGraphPipelineSessionMemoryRequirementsInfoARM & info ) const VULKAN_HPP_NOEXCEPT; | |
| 5626 | |
| 5627 // wrapper function for command vkBindDataGraphPipelineSessionMemoryARM, see | |
| 5628 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindDataGraphPipelineSessionMemoryARM.html | |
| 5629 typename ResultValueType<void>::type | |
| 5630 bindDataGraphPipelineSessionMemoryARM( ArrayProxy<const BindDataGraphPipelineSessionMemoryInfoARM> const & bindInfos ) const; | |
| 5631 | |
| 5632 // wrapper function for command vkGetDataGraphPipelineAvailablePropertiesARM, see | |
| 5633 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelineAvailablePropertiesARM.html | |
| 5634 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DataGraphPipelinePropertyARM>>::type | |
| 5635 getDataGraphPipelineAvailablePropertiesARM( const DataGraphPipelineInfoARM & pipelineInfo ) const; | |
| 5636 | |
| 5637 // wrapper function for command vkGetDataGraphPipelinePropertiesARM, see | |
| 5638 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelinePropertiesARM.html | |
| 5639 VULKAN_HPP_NODISCARD Result getDataGraphPipelinePropertiesARM( const DataGraphPipelineInfoARM * pPipelineInfo, | |
| 5640 uint32_t propertiesCount, | |
| 5641 DataGraphPipelinePropertyQueryResultARM * pProperties ) const VULKAN_HPP_NOEXCEPT; | |
| 5642 | |
| 5643 # if defined( VK_USE_PLATFORM_SCREEN_QNX ) | |
| 5644 //=== VK_QNX_external_memory_screen_buffer === | |
| 5645 | |
| 5646 // wrapper function for command vkGetScreenBufferPropertiesQNX, see | |
| 5647 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetScreenBufferPropertiesQNX.html | |
| 5648 VULKAN_HPP_NODISCARD Result getScreenBufferPropertiesQNX( const struct _screen_buffer * buffer, | |
| 5649 ScreenBufferPropertiesQNX * pProperties ) const VULKAN_HPP_NOEXCEPT; | |
| 5650 | |
| 5651 // wrapper function for command vkGetScreenBufferPropertiesQNX, see | |
| 5652 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetScreenBufferPropertiesQNX.html | |
| 5653 VULKAN_HPP_NODISCARD typename ResultValueType<ScreenBufferPropertiesQNX>::type getScreenBufferPropertiesQNX( const struct _screen_buffer & buffer ) const; | |
| 5654 | |
| 5655 // wrapper function for command vkGetScreenBufferPropertiesQNX, see | |
| 5656 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetScreenBufferPropertiesQNX.html | |
| 5657 template <typename X, typename Y, typename... Z> | |
| 5658 VULKAN_HPP_NODISCARD typename ResultValueType<StructureChain<X, Y, Z...>>::type | |
| 5659 getScreenBufferPropertiesQNX( const struct _screen_buffer & buffer ) const; | |
| 5660 # endif /*VK_USE_PLATFORM_SCREEN_QNX*/ | |
| 5661 | |
| 5662 //=== VK_KHR_calibrated_timestamps === | |
| 5663 | |
| 5664 // wrapper function for command vkGetCalibratedTimestampsKHR, see | |
| 5665 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsKHR.html | |
| 5666 VULKAN_HPP_NODISCARD typename ResultValueType<std::pair<std::vector<uint64_t>, uint64_t>>::type | |
| 5667 getCalibratedTimestampsKHR( ArrayProxy<const CalibratedTimestampInfoKHR> const & timestampInfos ) const; | |
| 5668 | |
| 5669 // wrapper function for command vkGetCalibratedTimestampsKHR, see | |
| 5670 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsKHR.html | |
| 5671 VULKAN_HPP_NODISCARD typename ResultValueType<std::pair<uint64_t, uint64_t>>::type | |
| 5672 getCalibratedTimestampKHR( const CalibratedTimestampInfoKHR & timestampInfo ) const; | |
| 5673 | |
| 5674 //=== VK_NV_external_compute_queue === | |
| 5675 | |
| 5676 // wrapper function for command vkCreateExternalComputeQueueNV, see | |
| 5677 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExternalComputeQueueNV.html | |
| 5678 VULKAN_HPP_NODISCARD typename ResultValueType<ExternalComputeQueueNV>::type | |
| 5679 createExternalComputeQueueNV( ExternalComputeQueueCreateInfoNV const & createInfo, | |
| 5680 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 5681 | |
| 5682 //=== VK_NV_cluster_acceleration_structure === | |
| 5683 | |
| 5684 // wrapper function for command vkGetClusterAccelerationStructureBuildSizesNV, see | |
| 5685 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetClusterAccelerationStructureBuildSizesNV.html | |
| 5686 VULKAN_HPP_NODISCARD AccelerationStructureBuildSizesInfoKHR | |
| 5687 getClusterAccelerationStructureBuildSizesNV( const ClusterAccelerationStructureInputInfoNV & info ) const VULKAN_HPP_NOEXCEPT; | |
| 5688 | |
| 5689 //=== VK_NV_partitioned_acceleration_structure === | |
| 5690 | |
| 5691 // wrapper function for command vkGetPartitionedAccelerationStructuresBuildSizesNV, see | |
| 5692 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPartitionedAccelerationStructuresBuildSizesNV.html | |
| 5693 VULKAN_HPP_NODISCARD AccelerationStructureBuildSizesInfoKHR | |
| 5694 getPartitionedAccelerationStructuresBuildSizesNV( const PartitionedAccelerationStructureInstancesInputNV & info ) const VULKAN_HPP_NOEXCEPT; | |
| 5695 | |
| 5696 //=== VK_EXT_device_generated_commands === | |
| 5697 | |
| 5698 // wrapper function for command vkGetGeneratedCommandsMemoryRequirementsEXT, see | |
| 5699 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGeneratedCommandsMemoryRequirementsEXT.html | |
| 5700 VULKAN_HPP_NODISCARD MemoryRequirements2 | |
| 5701 getGeneratedCommandsMemoryRequirementsEXT( const GeneratedCommandsMemoryRequirementsInfoEXT & info ) const VULKAN_HPP_NOEXCEPT; | |
| 5702 | |
| 5703 // wrapper function for command vkGetGeneratedCommandsMemoryRequirementsEXT, see | |
| 5704 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGeneratedCommandsMemoryRequirementsEXT.html | |
| 5705 template <typename X, typename Y, typename... Z> | |
| 5706 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> | |
| 5707 getGeneratedCommandsMemoryRequirementsEXT( const GeneratedCommandsMemoryRequirementsInfoEXT & info ) const VULKAN_HPP_NOEXCEPT; | |
| 5708 | |
| 5709 // wrapper function for command vkCreateIndirectCommandsLayoutEXT, see | |
| 5710 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectCommandsLayoutEXT.html | |
| 5711 VULKAN_HPP_NODISCARD typename ResultValueType<IndirectCommandsLayoutEXT>::type | |
| 5712 createIndirectCommandsLayoutEXT( IndirectCommandsLayoutCreateInfoEXT const & createInfo, | |
| 5713 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 5714 | |
| 5715 // wrapper function for command vkCreateIndirectExecutionSetEXT, see | |
| 5716 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectExecutionSetEXT.html | |
| 5717 VULKAN_HPP_NODISCARD typename ResultValueType<IndirectExecutionSetEXT>::type | |
| 5718 createIndirectExecutionSetEXT( IndirectExecutionSetCreateInfoEXT const & createInfo, | |
| 5719 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 5720 | |
| 5721 # if defined( VK_USE_PLATFORM_OHOS ) | |
| 5722 //=== VK_OHOS_native_buffer === | |
| 5723 | |
| 5724 // wrapper function for command vkGetSwapchainGrallocUsageOHOS, see | |
| 5725 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainGrallocUsageOHOS.html | |
| 5726 VULKAN_HPP_NODISCARD typename ResultValueType<uint64_t>::type getSwapchainGrallocUsageOHOS( Format format, ImageUsageFlags imageUsage ) const; | |
| 5727 # endif /*VK_USE_PLATFORM_OHOS*/ | |
| 5728 | |
| 5729 # if defined( VK_USE_PLATFORM_METAL_EXT ) | |
| 5730 //=== VK_EXT_external_memory_metal === | |
| 5731 | |
| 5732 // wrapper function for command vkGetMemoryMetalHandleEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryMetalHandleEXT.html | |
| 5733 VULKAN_HPP_NODISCARD typename ResultValueType<void *>::type getMemoryMetalHandleEXT( const MemoryGetMetalHandleInfoEXT & getMetalHandleInfo ) const; | |
| 5734 | |
| 5735 // wrapper function for command vkGetMemoryMetalHandlePropertiesEXT, see | |
| 5736 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryMetalHandlePropertiesEXT.html | |
| 5737 template <typename HandleType> | |
| 5738 VULKAN_HPP_NODISCARD typename ResultValueType<MemoryMetalHandlePropertiesEXT>::type | |
| 5739 getMemoryMetalHandlePropertiesEXT( ExternalMemoryHandleTypeFlagBits handleType, HandleType const & handle ) const; | |
| 5740 # endif /*VK_USE_PLATFORM_METAL_EXT*/ | |
| 5741 | |
| 5742 private: | |
| 5743 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 5744 const AllocationCallbacks * m_allocator = {}; | |
| 5745 std::unique_ptr<detail::DeviceDispatcher> m_dispatcher; | |
| 5746 }; | |
| 5747 | |
| 5748 template <> | |
| 5749 struct isVulkanRAIIHandleType<Device> | |
| 5750 { | |
| 5751 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 5752 }; | |
| 5753 | |
| 5754 // wrapper class for handle VkAccelerationStructureKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureKHR.html | |
| 5755 class AccelerationStructureKHR | |
| 5756 { | |
| 5757 public: | |
| 5758 using CType = VkAccelerationStructureKHR; | |
| 5759 using CppType = VULKAN_HPP_NAMESPACE::AccelerationStructureKHR; | |
| 5760 | |
| 5761 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eAccelerationStructureKHR; | |
| 5762 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eAccelerationStructureKHR; | |
| 5763 | |
| 5764 public: | |
| 5765 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 5766 AccelerationStructureKHR( Device const & device, | |
| 5767 AccelerationStructureCreateInfoKHR const & createInfo, | |
| 5768 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 5769 { | |
| 5770 *this = device.createAccelerationStructureKHR( createInfo, allocator ); | |
| 5771 } | |
| 5772 # endif | |
| 5773 | |
| 5774 AccelerationStructureKHR( Device const & device, | |
| 5775 VkAccelerationStructureKHR accelerationStructure, | |
| 5776 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 5777 : m_device( device ) | |
| 5778 , m_accelerationStructureKHR( accelerationStructure ) | |
| 5779 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 5780 , m_dispatcher( device.getDispatcher() ) | |
| 5781 { | |
| 5782 } | |
| 5783 | |
| 5784 AccelerationStructureKHR( std::nullptr_t ) {} | |
| 5785 | |
| 5786 ~AccelerationStructureKHR() | |
| 5787 { | |
| 5788 clear(); | |
| 5789 } | |
| 5790 | |
| 5791 AccelerationStructureKHR() = delete; | |
| 5792 AccelerationStructureKHR( AccelerationStructureKHR const & ) = delete; | |
| 5793 | |
| 5794 AccelerationStructureKHR( AccelerationStructureKHR && rhs ) VULKAN_HPP_NOEXCEPT | |
| 5795 : m_device( exchange( rhs.m_device, {} ) ) | |
| 5796 , m_accelerationStructureKHR( exchange( rhs.m_accelerationStructureKHR, {} ) ) | |
| 5797 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 5798 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 5799 { | |
| 5800 } | |
| 5801 | |
| 5802 AccelerationStructureKHR & operator=( AccelerationStructureKHR const & ) = delete; | |
| 5803 | |
| 5804 AccelerationStructureKHR & operator=( AccelerationStructureKHR && rhs ) VULKAN_HPP_NOEXCEPT | |
| 5805 { | |
| 5806 if ( this != &rhs ) | |
| 5807 { | |
| 5808 std::swap( m_device, rhs.m_device ); | |
| 5809 std::swap( m_accelerationStructureKHR, rhs.m_accelerationStructureKHR ); | |
| 5810 std::swap( m_allocator, rhs.m_allocator ); | |
| 5811 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 5812 } | |
| 5813 return *this; | |
| 5814 } | |
| 5815 | |
| 5816 VULKAN_HPP_NAMESPACE::AccelerationStructureKHR const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 5817 { | |
| 5818 return m_accelerationStructureKHR; | |
| 5819 } | |
| 5820 | |
| 5821 VULKAN_HPP_NAMESPACE::AccelerationStructureKHR const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 5822 { | |
| 5823 return std::move( m_accelerationStructureKHR ); | |
| 5824 } | |
| 5825 | |
| 5826 operator VULKAN_HPP_NAMESPACE::AccelerationStructureKHR() const VULKAN_HPP_NOEXCEPT | |
| 5827 { | |
| 5828 return m_accelerationStructureKHR; | |
| 5829 } | |
| 5830 | |
| 5831 void clear() VULKAN_HPP_NOEXCEPT | |
| 5832 { | |
| 5833 if ( m_accelerationStructureKHR ) | |
| 5834 { | |
| 5835 getDispatcher()->vkDestroyAccelerationStructureKHR( static_cast<VkDevice>( m_device ), | |
| 5836 static_cast<VkAccelerationStructureKHR>( m_accelerationStructureKHR ), | |
| 5837 reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 5838 } | |
| 5839 m_device = nullptr; | |
| 5840 m_accelerationStructureKHR = nullptr; | |
| 5841 m_allocator = nullptr; | |
| 5842 m_dispatcher = nullptr; | |
| 5843 } | |
| 5844 | |
| 5845 VULKAN_HPP_NAMESPACE::AccelerationStructureKHR release() | |
| 5846 { | |
| 5847 m_device = nullptr; | |
| 5848 m_allocator = nullptr; | |
| 5849 m_dispatcher = nullptr; | |
| 5850 return exchange( m_accelerationStructureKHR, nullptr ); | |
| 5851 } | |
| 5852 | |
| 5853 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 5854 { | |
| 5855 return m_device; | |
| 5856 } | |
| 5857 | |
| 5858 detail::DeviceDispatcher const * getDispatcher() const | |
| 5859 { | |
| 5860 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 5861 return m_dispatcher; | |
| 5862 } | |
| 5863 | |
| 5864 void swap( AccelerationStructureKHR & rhs ) VULKAN_HPP_NOEXCEPT | |
| 5865 { | |
| 5866 std::swap( m_device, rhs.m_device ); | |
| 5867 std::swap( m_accelerationStructureKHR, rhs.m_accelerationStructureKHR ); | |
| 5868 std::swap( m_allocator, rhs.m_allocator ); | |
| 5869 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 5870 } | |
| 5871 | |
| 5872 private: | |
| 5873 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 5874 VULKAN_HPP_NAMESPACE::AccelerationStructureKHR m_accelerationStructureKHR = {}; | |
| 5875 const AllocationCallbacks * m_allocator = {}; | |
| 5876 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 5877 }; | |
| 5878 | |
| 5879 template <> | |
| 5880 struct isVulkanRAIIHandleType<AccelerationStructureKHR> | |
| 5881 { | |
| 5882 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 5883 }; | |
| 5884 | |
| 5885 // wrapper class for handle VkAccelerationStructureNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureNV.html | |
| 5886 class AccelerationStructureNV | |
| 5887 { | |
| 5888 public: | |
| 5889 using CType = VkAccelerationStructureNV; | |
| 5890 using CppType = VULKAN_HPP_NAMESPACE::AccelerationStructureNV; | |
| 5891 | |
| 5892 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eAccelerationStructureNV; | |
| 5893 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eAccelerationStructureNV; | |
| 5894 | |
| 5895 public: | |
| 5896 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 5897 AccelerationStructureNV( Device const & device, | |
| 5898 AccelerationStructureCreateInfoNV const & createInfo, | |
| 5899 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 5900 { | |
| 5901 *this = device.createAccelerationStructureNV( createInfo, allocator ); | |
| 5902 } | |
| 5903 # endif | |
| 5904 | |
| 5905 AccelerationStructureNV( Device const & device, VkAccelerationStructureNV accelerationStructure, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 5906 : m_device( device ) | |
| 5907 , m_accelerationStructureNV( accelerationStructure ) | |
| 5908 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 5909 , m_dispatcher( device.getDispatcher() ) | |
| 5910 { | |
| 5911 } | |
| 5912 | |
| 5913 AccelerationStructureNV( std::nullptr_t ) {} | |
| 5914 | |
| 5915 ~AccelerationStructureNV() | |
| 5916 { | |
| 5917 clear(); | |
| 5918 } | |
| 5919 | |
| 5920 AccelerationStructureNV() = delete; | |
| 5921 AccelerationStructureNV( AccelerationStructureNV const & ) = delete; | |
| 5922 | |
| 5923 AccelerationStructureNV( AccelerationStructureNV && rhs ) VULKAN_HPP_NOEXCEPT | |
| 5924 : m_device( exchange( rhs.m_device, {} ) ) | |
| 5925 , m_accelerationStructureNV( exchange( rhs.m_accelerationStructureNV, {} ) ) | |
| 5926 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 5927 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 5928 { | |
| 5929 } | |
| 5930 | |
| 5931 AccelerationStructureNV & operator=( AccelerationStructureNV const & ) = delete; | |
| 5932 | |
| 5933 AccelerationStructureNV & operator=( AccelerationStructureNV && rhs ) VULKAN_HPP_NOEXCEPT | |
| 5934 { | |
| 5935 if ( this != &rhs ) | |
| 5936 { | |
| 5937 std::swap( m_device, rhs.m_device ); | |
| 5938 std::swap( m_accelerationStructureNV, rhs.m_accelerationStructureNV ); | |
| 5939 std::swap( m_allocator, rhs.m_allocator ); | |
| 5940 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 5941 } | |
| 5942 return *this; | |
| 5943 } | |
| 5944 | |
| 5945 VULKAN_HPP_NAMESPACE::AccelerationStructureNV const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 5946 { | |
| 5947 return m_accelerationStructureNV; | |
| 5948 } | |
| 5949 | |
| 5950 VULKAN_HPP_NAMESPACE::AccelerationStructureNV const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 5951 { | |
| 5952 return std::move( m_accelerationStructureNV ); | |
| 5953 } | |
| 5954 | |
| 5955 operator VULKAN_HPP_NAMESPACE::AccelerationStructureNV() const VULKAN_HPP_NOEXCEPT | |
| 5956 { | |
| 5957 return m_accelerationStructureNV; | |
| 5958 } | |
| 5959 | |
| 5960 void clear() VULKAN_HPP_NOEXCEPT | |
| 5961 { | |
| 5962 if ( m_accelerationStructureNV ) | |
| 5963 { | |
| 5964 getDispatcher()->vkDestroyAccelerationStructureNV( static_cast<VkDevice>( m_device ), | |
| 5965 static_cast<VkAccelerationStructureNV>( m_accelerationStructureNV ), | |
| 5966 reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 5967 } | |
| 5968 m_device = nullptr; | |
| 5969 m_accelerationStructureNV = nullptr; | |
| 5970 m_allocator = nullptr; | |
| 5971 m_dispatcher = nullptr; | |
| 5972 } | |
| 5973 | |
| 5974 VULKAN_HPP_NAMESPACE::AccelerationStructureNV release() | |
| 5975 { | |
| 5976 m_device = nullptr; | |
| 5977 m_allocator = nullptr; | |
| 5978 m_dispatcher = nullptr; | |
| 5979 return exchange( m_accelerationStructureNV, nullptr ); | |
| 5980 } | |
| 5981 | |
| 5982 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 5983 { | |
| 5984 return m_device; | |
| 5985 } | |
| 5986 | |
| 5987 detail::DeviceDispatcher const * getDispatcher() const | |
| 5988 { | |
| 5989 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 5990 return m_dispatcher; | |
| 5991 } | |
| 5992 | |
| 5993 void swap( AccelerationStructureNV & rhs ) VULKAN_HPP_NOEXCEPT | |
| 5994 { | |
| 5995 std::swap( m_device, rhs.m_device ); | |
| 5996 std::swap( m_accelerationStructureNV, rhs.m_accelerationStructureNV ); | |
| 5997 std::swap( m_allocator, rhs.m_allocator ); | |
| 5998 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 5999 } | |
| 6000 | |
| 6001 //=== VK_NV_ray_tracing === | |
| 6002 | |
| 6003 // wrapper function for command vkGetAccelerationStructureHandleNV, see | |
| 6004 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureHandleNV.html | |
| 6005 template <typename DataType> | |
| 6006 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DataType>>::type getHandle( size_t dataSize ) const; | |
| 6007 | |
| 6008 // wrapper function for command vkGetAccelerationStructureHandleNV, see | |
| 6009 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureHandleNV.html | |
| 6010 template <typename DataType> | |
| 6011 VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type getHandle() const; | |
| 6012 | |
| 6013 private: | |
| 6014 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 6015 VULKAN_HPP_NAMESPACE::AccelerationStructureNV m_accelerationStructureNV = {}; | |
| 6016 const AllocationCallbacks * m_allocator = {}; | |
| 6017 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 6018 }; | |
| 6019 | |
| 6020 template <> | |
| 6021 struct isVulkanRAIIHandleType<AccelerationStructureNV> | |
| 6022 { | |
| 6023 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 6024 }; | |
| 6025 | |
| 6026 // wrapper class for handle VkBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBuffer.html | |
| 6027 class Buffer | |
| 6028 { | |
| 6029 public: | |
| 6030 using CType = VkBuffer; | |
| 6031 using CppType = VULKAN_HPP_NAMESPACE::Buffer; | |
| 6032 | |
| 6033 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eBuffer; | |
| 6034 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eBuffer; | |
| 6035 | |
| 6036 public: | |
| 6037 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 6038 Buffer( Device const & device, BufferCreateInfo const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 6039 { | |
| 6040 *this = device.createBuffer( createInfo, allocator ); | |
| 6041 } | |
| 6042 # endif | |
| 6043 | |
| 6044 Buffer( Device const & device, VkBuffer buffer, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 6045 : m_device( device ), m_buffer( buffer ), m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ), m_dispatcher( device.getDispatcher() ) | |
| 6046 { | |
| 6047 } | |
| 6048 | |
| 6049 Buffer( std::nullptr_t ) {} | |
| 6050 | |
| 6051 ~Buffer() | |
| 6052 { | |
| 6053 clear(); | |
| 6054 } | |
| 6055 | |
| 6056 Buffer() = delete; | |
| 6057 Buffer( Buffer const & ) = delete; | |
| 6058 | |
| 6059 Buffer( Buffer && rhs ) VULKAN_HPP_NOEXCEPT | |
| 6060 : m_device( exchange( rhs.m_device, {} ) ) | |
| 6061 , m_buffer( exchange( rhs.m_buffer, {} ) ) | |
| 6062 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 6063 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 6064 { | |
| 6065 } | |
| 6066 | |
| 6067 Buffer & operator=( Buffer const & ) = delete; | |
| 6068 | |
| 6069 Buffer & operator=( Buffer && rhs ) VULKAN_HPP_NOEXCEPT | |
| 6070 { | |
| 6071 if ( this != &rhs ) | |
| 6072 { | |
| 6073 std::swap( m_device, rhs.m_device ); | |
| 6074 std::swap( m_buffer, rhs.m_buffer ); | |
| 6075 std::swap( m_allocator, rhs.m_allocator ); | |
| 6076 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 6077 } | |
| 6078 return *this; | |
| 6079 } | |
| 6080 | |
| 6081 VULKAN_HPP_NAMESPACE::Buffer const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 6082 { | |
| 6083 return m_buffer; | |
| 6084 } | |
| 6085 | |
| 6086 VULKAN_HPP_NAMESPACE::Buffer const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 6087 { | |
| 6088 return std::move( m_buffer ); | |
| 6089 } | |
| 6090 | |
| 6091 operator VULKAN_HPP_NAMESPACE::Buffer() const VULKAN_HPP_NOEXCEPT | |
| 6092 { | |
| 6093 return m_buffer; | |
| 6094 } | |
| 6095 | |
| 6096 void clear() VULKAN_HPP_NOEXCEPT | |
| 6097 { | |
| 6098 if ( m_buffer ) | |
| 6099 { | |
| 6100 getDispatcher()->vkDestroyBuffer( | |
| 6101 static_cast<VkDevice>( m_device ), static_cast<VkBuffer>( m_buffer ), reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 6102 } | |
| 6103 m_device = nullptr; | |
| 6104 m_buffer = nullptr; | |
| 6105 m_allocator = nullptr; | |
| 6106 m_dispatcher = nullptr; | |
| 6107 } | |
| 6108 | |
| 6109 VULKAN_HPP_NAMESPACE::Buffer release() | |
| 6110 { | |
| 6111 m_device = nullptr; | |
| 6112 m_allocator = nullptr; | |
| 6113 m_dispatcher = nullptr; | |
| 6114 return exchange( m_buffer, nullptr ); | |
| 6115 } | |
| 6116 | |
| 6117 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 6118 { | |
| 6119 return m_device; | |
| 6120 } | |
| 6121 | |
| 6122 detail::DeviceDispatcher const * getDispatcher() const | |
| 6123 { | |
| 6124 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 6125 return m_dispatcher; | |
| 6126 } | |
| 6127 | |
| 6128 void swap( Buffer & rhs ) VULKAN_HPP_NOEXCEPT | |
| 6129 { | |
| 6130 std::swap( m_device, rhs.m_device ); | |
| 6131 std::swap( m_buffer, rhs.m_buffer ); | |
| 6132 std::swap( m_allocator, rhs.m_allocator ); | |
| 6133 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 6134 } | |
| 6135 | |
| 6136 //=== VK_VERSION_1_0 === | |
| 6137 | |
| 6138 // wrapper function for command vkBindBufferMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindBufferMemory.html | |
| 6139 typename ResultValueType<void>::type bindMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory, DeviceSize memoryOffset ) const; | |
| 6140 | |
| 6141 // wrapper function for command vkGetBufferMemoryRequirements, see | |
| 6142 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements.html | |
| 6143 VULKAN_HPP_NODISCARD MemoryRequirements getMemoryRequirements() const VULKAN_HPP_NOEXCEPT; | |
| 6144 | |
| 6145 protected: | |
| 6146 Buffer( VULKAN_HPP_NAMESPACE::Device device, | |
| 6147 VULKAN_HPP_NAMESPACE::Buffer buffer, | |
| 6148 const AllocationCallbacks * allocator, | |
| 6149 detail::DeviceDispatcher const * dispatcher ) VULKAN_HPP_NOEXCEPT | |
| 6150 : m_device( exchange( device, {} ) ) | |
| 6151 , m_buffer( exchange( buffer, {} ) ) | |
| 6152 , m_allocator( exchange( allocator, {} ) ) | |
| 6153 , m_dispatcher( exchange( dispatcher, nullptr ) ) | |
| 6154 { | |
| 6155 } | |
| 6156 | |
| 6157 private: | |
| 6158 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 6159 VULKAN_HPP_NAMESPACE::Buffer m_buffer = {}; | |
| 6160 const AllocationCallbacks * m_allocator = {}; | |
| 6161 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 6162 }; | |
| 6163 | |
| 6164 template <> | |
| 6165 struct isVulkanRAIIHandleType<Buffer> | |
| 6166 { | |
| 6167 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 6168 }; | |
| 6169 | |
| 6170 // wrapper class for handle VkBufferCollectionFUCHSIA, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferCollectionFUCHSIA.html | |
| 6171 # if defined( VK_USE_PLATFORM_FUCHSIA ) | |
| 6172 class BufferCollectionFUCHSIA | |
| 6173 { | |
| 6174 public: | |
| 6175 using CType = VkBufferCollectionFUCHSIA; | |
| 6176 using CppType = VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA; | |
| 6177 | |
| 6178 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eBufferCollectionFUCHSIA; | |
| 6179 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eBufferCollectionFUCHSIA; | |
| 6180 | |
| 6181 public: | |
| 6182 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 6183 BufferCollectionFUCHSIA( Device const & device, | |
| 6184 BufferCollectionCreateInfoFUCHSIA const & createInfo, | |
| 6185 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 6186 { | |
| 6187 *this = device.createBufferCollectionFUCHSIA( createInfo, allocator ); | |
| 6188 } | |
| 6189 # endif | |
| 6190 | |
| 6191 BufferCollectionFUCHSIA( Device const & device, VkBufferCollectionFUCHSIA collection, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 6192 : m_device( device ) | |
| 6193 , m_bufferCollectionFUCHSIA( collection ) | |
| 6194 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 6195 , m_dispatcher( device.getDispatcher() ) | |
| 6196 { | |
| 6197 } | |
| 6198 | |
| 6199 BufferCollectionFUCHSIA( std::nullptr_t ) {} | |
| 6200 | |
| 6201 ~BufferCollectionFUCHSIA() | |
| 6202 { | |
| 6203 clear(); | |
| 6204 } | |
| 6205 | |
| 6206 BufferCollectionFUCHSIA() = delete; | |
| 6207 BufferCollectionFUCHSIA( BufferCollectionFUCHSIA const & ) = delete; | |
| 6208 | |
| 6209 BufferCollectionFUCHSIA( BufferCollectionFUCHSIA && rhs ) VULKAN_HPP_NOEXCEPT | |
| 6210 : m_device( exchange( rhs.m_device, {} ) ) | |
| 6211 , m_bufferCollectionFUCHSIA( exchange( rhs.m_bufferCollectionFUCHSIA, {} ) ) | |
| 6212 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 6213 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 6214 { | |
| 6215 } | |
| 6216 | |
| 6217 BufferCollectionFUCHSIA & operator=( BufferCollectionFUCHSIA const & ) = delete; | |
| 6218 | |
| 6219 BufferCollectionFUCHSIA & operator=( BufferCollectionFUCHSIA && rhs ) VULKAN_HPP_NOEXCEPT | |
| 6220 { | |
| 6221 if ( this != &rhs ) | |
| 6222 { | |
| 6223 std::swap( m_device, rhs.m_device ); | |
| 6224 std::swap( m_bufferCollectionFUCHSIA, rhs.m_bufferCollectionFUCHSIA ); | |
| 6225 std::swap( m_allocator, rhs.m_allocator ); | |
| 6226 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 6227 } | |
| 6228 return *this; | |
| 6229 } | |
| 6230 | |
| 6231 VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 6232 { | |
| 6233 return m_bufferCollectionFUCHSIA; | |
| 6234 } | |
| 6235 | |
| 6236 VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 6237 { | |
| 6238 return std::move( m_bufferCollectionFUCHSIA ); | |
| 6239 } | |
| 6240 | |
| 6241 operator VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA() const VULKAN_HPP_NOEXCEPT | |
| 6242 { | |
| 6243 return m_bufferCollectionFUCHSIA; | |
| 6244 } | |
| 6245 | |
| 6246 void clear() VULKAN_HPP_NOEXCEPT | |
| 6247 { | |
| 6248 if ( m_bufferCollectionFUCHSIA ) | |
| 6249 { | |
| 6250 getDispatcher()->vkDestroyBufferCollectionFUCHSIA( static_cast<VkDevice>( m_device ), | |
| 6251 static_cast<VkBufferCollectionFUCHSIA>( m_bufferCollectionFUCHSIA ), | |
| 6252 reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 6253 } | |
| 6254 m_device = nullptr; | |
| 6255 m_bufferCollectionFUCHSIA = nullptr; | |
| 6256 m_allocator = nullptr; | |
| 6257 m_dispatcher = nullptr; | |
| 6258 } | |
| 6259 | |
| 6260 VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA release() | |
| 6261 { | |
| 6262 m_device = nullptr; | |
| 6263 m_allocator = nullptr; | |
| 6264 m_dispatcher = nullptr; | |
| 6265 return exchange( m_bufferCollectionFUCHSIA, nullptr ); | |
| 6266 } | |
| 6267 | |
| 6268 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 6269 { | |
| 6270 return m_device; | |
| 6271 } | |
| 6272 | |
| 6273 detail::DeviceDispatcher const * getDispatcher() const | |
| 6274 { | |
| 6275 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 6276 return m_dispatcher; | |
| 6277 } | |
| 6278 | |
| 6279 void swap( BufferCollectionFUCHSIA & rhs ) VULKAN_HPP_NOEXCEPT | |
| 6280 { | |
| 6281 std::swap( m_device, rhs.m_device ); | |
| 6282 std::swap( m_bufferCollectionFUCHSIA, rhs.m_bufferCollectionFUCHSIA ); | |
| 6283 std::swap( m_allocator, rhs.m_allocator ); | |
| 6284 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 6285 } | |
| 6286 | |
| 6287 //=== VK_FUCHSIA_buffer_collection === | |
| 6288 | |
| 6289 // wrapper function for command vkSetBufferCollectionImageConstraintsFUCHSIA, see | |
| 6290 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetBufferCollectionImageConstraintsFUCHSIA.html | |
| 6291 typename ResultValueType<void>::type setImageConstraints( const ImageConstraintsInfoFUCHSIA & imageConstraintsInfo ) const; | |
| 6292 | |
| 6293 // wrapper function for command vkSetBufferCollectionBufferConstraintsFUCHSIA, see | |
| 6294 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetBufferCollectionBufferConstraintsFUCHSIA.html | |
| 6295 typename ResultValueType<void>::type setBufferConstraints( const BufferConstraintsInfoFUCHSIA & bufferConstraintsInfo ) const; | |
| 6296 | |
| 6297 // wrapper function for command vkGetBufferCollectionPropertiesFUCHSIA, see | |
| 6298 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferCollectionPropertiesFUCHSIA.html | |
| 6299 VULKAN_HPP_NODISCARD typename ResultValueType<BufferCollectionPropertiesFUCHSIA>::type getProperties() const; | |
| 6300 | |
| 6301 private: | |
| 6302 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 6303 VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA m_bufferCollectionFUCHSIA = {}; | |
| 6304 const AllocationCallbacks * m_allocator = {}; | |
| 6305 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 6306 }; | |
| 6307 | |
| 6308 template <> | |
| 6309 struct isVulkanRAIIHandleType<BufferCollectionFUCHSIA> | |
| 6310 { | |
| 6311 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 6312 }; | |
| 6313 | |
| 6314 # endif /*VK_USE_PLATFORM_FUCHSIA*/ | |
| 6315 | |
| 6316 // wrapper class for handle VkBufferView, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferView.html | |
| 6317 class BufferView | |
| 6318 { | |
| 6319 public: | |
| 6320 using CType = VkBufferView; | |
| 6321 using CppType = VULKAN_HPP_NAMESPACE::BufferView; | |
| 6322 | |
| 6323 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eBufferView; | |
| 6324 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eBufferView; | |
| 6325 | |
| 6326 public: | |
| 6327 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 6328 BufferView( Device const & device, BufferViewCreateInfo const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 6329 { | |
| 6330 *this = device.createBufferView( createInfo, allocator ); | |
| 6331 } | |
| 6332 # endif | |
| 6333 | |
| 6334 BufferView( Device const & device, VkBufferView bufferView, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 6335 : m_device( device ) | |
| 6336 , m_bufferView( bufferView ) | |
| 6337 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 6338 , m_dispatcher( device.getDispatcher() ) | |
| 6339 { | |
| 6340 } | |
| 6341 | |
| 6342 BufferView( std::nullptr_t ) {} | |
| 6343 | |
| 6344 ~BufferView() | |
| 6345 { | |
| 6346 clear(); | |
| 6347 } | |
| 6348 | |
| 6349 BufferView() = delete; | |
| 6350 BufferView( BufferView const & ) = delete; | |
| 6351 | |
| 6352 BufferView( BufferView && rhs ) VULKAN_HPP_NOEXCEPT | |
| 6353 : m_device( exchange( rhs.m_device, {} ) ) | |
| 6354 , m_bufferView( exchange( rhs.m_bufferView, {} ) ) | |
| 6355 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 6356 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 6357 { | |
| 6358 } | |
| 6359 | |
| 6360 BufferView & operator=( BufferView const & ) = delete; | |
| 6361 | |
| 6362 BufferView & operator=( BufferView && rhs ) VULKAN_HPP_NOEXCEPT | |
| 6363 { | |
| 6364 if ( this != &rhs ) | |
| 6365 { | |
| 6366 std::swap( m_device, rhs.m_device ); | |
| 6367 std::swap( m_bufferView, rhs.m_bufferView ); | |
| 6368 std::swap( m_allocator, rhs.m_allocator ); | |
| 6369 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 6370 } | |
| 6371 return *this; | |
| 6372 } | |
| 6373 | |
| 6374 VULKAN_HPP_NAMESPACE::BufferView const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 6375 { | |
| 6376 return m_bufferView; | |
| 6377 } | |
| 6378 | |
| 6379 VULKAN_HPP_NAMESPACE::BufferView const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 6380 { | |
| 6381 return std::move( m_bufferView ); | |
| 6382 } | |
| 6383 | |
| 6384 operator VULKAN_HPP_NAMESPACE::BufferView() const VULKAN_HPP_NOEXCEPT | |
| 6385 { | |
| 6386 return m_bufferView; | |
| 6387 } | |
| 6388 | |
| 6389 void clear() VULKAN_HPP_NOEXCEPT | |
| 6390 { | |
| 6391 if ( m_bufferView ) | |
| 6392 { | |
| 6393 getDispatcher()->vkDestroyBufferView( | |
| 6394 static_cast<VkDevice>( m_device ), static_cast<VkBufferView>( m_bufferView ), reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 6395 } | |
| 6396 m_device = nullptr; | |
| 6397 m_bufferView = nullptr; | |
| 6398 m_allocator = nullptr; | |
| 6399 m_dispatcher = nullptr; | |
| 6400 } | |
| 6401 | |
| 6402 VULKAN_HPP_NAMESPACE::BufferView release() | |
| 6403 { | |
| 6404 m_device = nullptr; | |
| 6405 m_allocator = nullptr; | |
| 6406 m_dispatcher = nullptr; | |
| 6407 return exchange( m_bufferView, nullptr ); | |
| 6408 } | |
| 6409 | |
| 6410 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 6411 { | |
| 6412 return m_device; | |
| 6413 } | |
| 6414 | |
| 6415 detail::DeviceDispatcher const * getDispatcher() const | |
| 6416 { | |
| 6417 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 6418 return m_dispatcher; | |
| 6419 } | |
| 6420 | |
| 6421 void swap( BufferView & rhs ) VULKAN_HPP_NOEXCEPT | |
| 6422 { | |
| 6423 std::swap( m_device, rhs.m_device ); | |
| 6424 std::swap( m_bufferView, rhs.m_bufferView ); | |
| 6425 std::swap( m_allocator, rhs.m_allocator ); | |
| 6426 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 6427 } | |
| 6428 | |
| 6429 private: | |
| 6430 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 6431 VULKAN_HPP_NAMESPACE::BufferView m_bufferView = {}; | |
| 6432 const AllocationCallbacks * m_allocator = {}; | |
| 6433 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 6434 }; | |
| 6435 | |
| 6436 template <> | |
| 6437 struct isVulkanRAIIHandleType<BufferView> | |
| 6438 { | |
| 6439 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 6440 }; | |
| 6441 | |
| 6442 // wrapper class for handle VkCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCommandPool.html | |
| 6443 class CommandPool | |
| 6444 { | |
| 6445 public: | |
| 6446 using CType = VkCommandPool; | |
| 6447 using CppType = VULKAN_HPP_NAMESPACE::CommandPool; | |
| 6448 | |
| 6449 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eCommandPool; | |
| 6450 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eCommandPool; | |
| 6451 | |
| 6452 public: | |
| 6453 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 6454 CommandPool( Device const & device, CommandPoolCreateInfo const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 6455 { | |
| 6456 *this = device.createCommandPool( createInfo, allocator ); | |
| 6457 } | |
| 6458 # endif | |
| 6459 | |
| 6460 CommandPool( Device const & device, VkCommandPool commandPool, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 6461 : m_device( device ) | |
| 6462 , m_commandPool( commandPool ) | |
| 6463 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 6464 , m_dispatcher( device.getDispatcher() ) | |
| 6465 { | |
| 6466 } | |
| 6467 | |
| 6468 CommandPool( std::nullptr_t ) {} | |
| 6469 | |
| 6470 ~CommandPool() | |
| 6471 { | |
| 6472 clear(); | |
| 6473 } | |
| 6474 | |
| 6475 CommandPool() = delete; | |
| 6476 CommandPool( CommandPool const & ) = delete; | |
| 6477 | |
| 6478 CommandPool( CommandPool && rhs ) VULKAN_HPP_NOEXCEPT | |
| 6479 : m_device( exchange( rhs.m_device, {} ) ) | |
| 6480 , m_commandPool( exchange( rhs.m_commandPool, {} ) ) | |
| 6481 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 6482 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 6483 { | |
| 6484 } | |
| 6485 | |
| 6486 CommandPool & operator=( CommandPool const & ) = delete; | |
| 6487 | |
| 6488 CommandPool & operator=( CommandPool && rhs ) VULKAN_HPP_NOEXCEPT | |
| 6489 { | |
| 6490 if ( this != &rhs ) | |
| 6491 { | |
| 6492 std::swap( m_device, rhs.m_device ); | |
| 6493 std::swap( m_commandPool, rhs.m_commandPool ); | |
| 6494 std::swap( m_allocator, rhs.m_allocator ); | |
| 6495 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 6496 } | |
| 6497 return *this; | |
| 6498 } | |
| 6499 | |
| 6500 VULKAN_HPP_NAMESPACE::CommandPool const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 6501 { | |
| 6502 return m_commandPool; | |
| 6503 } | |
| 6504 | |
| 6505 VULKAN_HPP_NAMESPACE::CommandPool const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 6506 { | |
| 6507 return std::move( m_commandPool ); | |
| 6508 } | |
| 6509 | |
| 6510 operator VULKAN_HPP_NAMESPACE::CommandPool() const VULKAN_HPP_NOEXCEPT | |
| 6511 { | |
| 6512 return m_commandPool; | |
| 6513 } | |
| 6514 | |
| 6515 void clear() VULKAN_HPP_NOEXCEPT | |
| 6516 { | |
| 6517 if ( m_commandPool ) | |
| 6518 { | |
| 6519 getDispatcher()->vkDestroyCommandPool( | |
| 6520 static_cast<VkDevice>( m_device ), static_cast<VkCommandPool>( m_commandPool ), reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 6521 } | |
| 6522 m_device = nullptr; | |
| 6523 m_commandPool = nullptr; | |
| 6524 m_allocator = nullptr; | |
| 6525 m_dispatcher = nullptr; | |
| 6526 } | |
| 6527 | |
| 6528 VULKAN_HPP_NAMESPACE::CommandPool release() | |
| 6529 { | |
| 6530 m_device = nullptr; | |
| 6531 m_allocator = nullptr; | |
| 6532 m_dispatcher = nullptr; | |
| 6533 return exchange( m_commandPool, nullptr ); | |
| 6534 } | |
| 6535 | |
| 6536 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 6537 { | |
| 6538 return m_device; | |
| 6539 } | |
| 6540 | |
| 6541 detail::DeviceDispatcher const * getDispatcher() const | |
| 6542 { | |
| 6543 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 6544 return m_dispatcher; | |
| 6545 } | |
| 6546 | |
| 6547 void swap( CommandPool & rhs ) VULKAN_HPP_NOEXCEPT | |
| 6548 { | |
| 6549 std::swap( m_device, rhs.m_device ); | |
| 6550 std::swap( m_commandPool, rhs.m_commandPool ); | |
| 6551 std::swap( m_allocator, rhs.m_allocator ); | |
| 6552 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 6553 } | |
| 6554 | |
| 6555 //=== VK_VERSION_1_0 === | |
| 6556 | |
| 6557 // wrapper function for command vkResetCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetCommandPool.html | |
| 6558 typename ResultValueType<void>::type reset( CommandPoolResetFlags flags VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const; | |
| 6559 | |
| 6560 //=== VK_VERSION_1_1 === | |
| 6561 | |
| 6562 // wrapper function for command vkTrimCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTrimCommandPool.html | |
| 6563 void trim( CommandPoolTrimFlags flags VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const VULKAN_HPP_NOEXCEPT; | |
| 6564 | |
| 6565 //=== VK_KHR_maintenance1 === | |
| 6566 | |
| 6567 // wrapper function for command vkTrimCommandPoolKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTrimCommandPoolKHR.html | |
| 6568 void trimKHR( CommandPoolTrimFlags flags VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const VULKAN_HPP_NOEXCEPT; | |
| 6569 | |
| 6570 private: | |
| 6571 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 6572 VULKAN_HPP_NAMESPACE::CommandPool m_commandPool = {}; | |
| 6573 const AllocationCallbacks * m_allocator = {}; | |
| 6574 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 6575 }; | |
| 6576 | |
| 6577 template <> | |
| 6578 struct isVulkanRAIIHandleType<CommandPool> | |
| 6579 { | |
| 6580 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 6581 }; | |
| 6582 | |
| 6583 // wrapper class for handle VkCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCommandBuffer.html | |
| 6584 class CommandBuffer | |
| 6585 { | |
| 6586 public: | |
| 6587 using CType = VkCommandBuffer; | |
| 6588 using CppType = VULKAN_HPP_NAMESPACE::CommandBuffer; | |
| 6589 | |
| 6590 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eCommandBuffer; | |
| 6591 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eCommandBuffer; | |
| 6592 | |
| 6593 public: | |
| 6594 CommandBuffer( Device const & device, VkCommandBuffer commandBuffer, VkCommandPool commandPool ) | |
| 6595 : m_device( device ), m_commandPool( commandPool ), m_commandBuffer( commandBuffer ), m_dispatcher( device.getDispatcher() ) | |
| 6596 { | |
| 6597 } | |
| 6598 | |
| 6599 CommandBuffer( std::nullptr_t ) {} | |
| 6600 | |
| 6601 ~CommandBuffer() | |
| 6602 { | |
| 6603 clear(); | |
| 6604 } | |
| 6605 | |
| 6606 CommandBuffer() = delete; | |
| 6607 CommandBuffer( CommandBuffer const & ) = delete; | |
| 6608 | |
| 6609 CommandBuffer( CommandBuffer && rhs ) VULKAN_HPP_NOEXCEPT | |
| 6610 : m_device( exchange( rhs.m_device, {} ) ) | |
| 6611 , m_commandPool( exchange( rhs.m_commandPool, {} ) ) | |
| 6612 , m_commandBuffer( exchange( rhs.m_commandBuffer, {} ) ) | |
| 6613 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 6614 { | |
| 6615 } | |
| 6616 | |
| 6617 CommandBuffer & operator=( CommandBuffer const & ) = delete; | |
| 6618 | |
| 6619 CommandBuffer & operator=( CommandBuffer && rhs ) VULKAN_HPP_NOEXCEPT | |
| 6620 { | |
| 6621 if ( this != &rhs ) | |
| 6622 { | |
| 6623 std::swap( m_device, rhs.m_device ); | |
| 6624 std::swap( m_commandPool, rhs.m_commandPool ); | |
| 6625 std::swap( m_commandBuffer, rhs.m_commandBuffer ); | |
| 6626 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 6627 } | |
| 6628 return *this; | |
| 6629 } | |
| 6630 | |
| 6631 VULKAN_HPP_NAMESPACE::CommandBuffer const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 6632 { | |
| 6633 return m_commandBuffer; | |
| 6634 } | |
| 6635 | |
| 6636 VULKAN_HPP_NAMESPACE::CommandBuffer const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 6637 { | |
| 6638 return std::move( m_commandBuffer ); | |
| 6639 } | |
| 6640 | |
| 6641 operator VULKAN_HPP_NAMESPACE::CommandBuffer() const VULKAN_HPP_NOEXCEPT | |
| 6642 { | |
| 6643 return m_commandBuffer; | |
| 6644 } | |
| 6645 | |
| 6646 void clear() VULKAN_HPP_NOEXCEPT | |
| 6647 { | |
| 6648 if ( m_commandBuffer ) | |
| 6649 { | |
| 6650 getDispatcher()->vkFreeCommandBuffers( | |
| 6651 static_cast<VkDevice>( m_device ), static_cast<VkCommandPool>( m_commandPool ), 1, reinterpret_cast<VkCommandBuffer const *>( &m_commandBuffer ) ); | |
| 6652 } | |
| 6653 m_device = nullptr; | |
| 6654 m_commandPool = nullptr; | |
| 6655 m_commandBuffer = nullptr; | |
| 6656 m_dispatcher = nullptr; | |
| 6657 } | |
| 6658 | |
| 6659 VULKAN_HPP_NAMESPACE::CommandBuffer release() | |
| 6660 { | |
| 6661 m_device = nullptr; | |
| 6662 m_commandPool = nullptr; | |
| 6663 m_dispatcher = nullptr; | |
| 6664 return exchange( m_commandBuffer, nullptr ); | |
| 6665 } | |
| 6666 | |
| 6667 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 6668 { | |
| 6669 return m_device; | |
| 6670 } | |
| 6671 | |
| 6672 detail::DeviceDispatcher const * getDispatcher() const | |
| 6673 { | |
| 6674 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 6675 return m_dispatcher; | |
| 6676 } | |
| 6677 | |
| 6678 void swap( CommandBuffer & rhs ) VULKAN_HPP_NOEXCEPT | |
| 6679 { | |
| 6680 std::swap( m_device, rhs.m_device ); | |
| 6681 std::swap( m_commandPool, rhs.m_commandPool ); | |
| 6682 std::swap( m_commandBuffer, rhs.m_commandBuffer ); | |
| 6683 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 6684 } | |
| 6685 | |
| 6686 //=== VK_VERSION_1_0 === | |
| 6687 | |
| 6688 // wrapper function for command vkBeginCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBeginCommandBuffer.html | |
| 6689 typename ResultValueType<void>::type begin( const CommandBufferBeginInfo & beginInfo ) const; | |
| 6690 | |
| 6691 // wrapper function for command vkEndCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEndCommandBuffer.html | |
| 6692 typename ResultValueType<void>::type end() const; | |
| 6693 | |
| 6694 // wrapper function for command vkResetCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetCommandBuffer.html | |
| 6695 typename ResultValueType<void>::type reset( CommandBufferResetFlags flags VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const; | |
| 6696 | |
| 6697 // wrapper function for command vkCmdCopyBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBuffer.html | |
| 6698 void copyBuffer( VULKAN_HPP_NAMESPACE::Buffer srcBuffer, | |
| 6699 VULKAN_HPP_NAMESPACE::Buffer dstBuffer, | |
| 6700 ArrayProxy<const BufferCopy> const & regions ) const VULKAN_HPP_NOEXCEPT; | |
| 6701 | |
| 6702 // wrapper function for command vkCmdCopyImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImage.html | |
| 6703 void copyImage( VULKAN_HPP_NAMESPACE::Image srcImage, | |
| 6704 ImageLayout srcImageLayout, | |
| 6705 VULKAN_HPP_NAMESPACE::Image dstImage, | |
| 6706 ImageLayout dstImageLayout, | |
| 6707 ArrayProxy<const ImageCopy> const & regions ) const VULKAN_HPP_NOEXCEPT; | |
| 6708 | |
| 6709 // wrapper function for command vkCmdCopyBufferToImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBufferToImage.html | |
| 6710 void copyBufferToImage( VULKAN_HPP_NAMESPACE::Buffer srcBuffer, | |
| 6711 VULKAN_HPP_NAMESPACE::Image dstImage, | |
| 6712 ImageLayout dstImageLayout, | |
| 6713 ArrayProxy<const BufferImageCopy> const & regions ) const VULKAN_HPP_NOEXCEPT; | |
| 6714 | |
| 6715 // wrapper function for command vkCmdCopyImageToBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImageToBuffer.html | |
| 6716 void copyImageToBuffer( VULKAN_HPP_NAMESPACE::Image srcImage, | |
| 6717 ImageLayout srcImageLayout, | |
| 6718 VULKAN_HPP_NAMESPACE::Buffer dstBuffer, | |
| 6719 ArrayProxy<const BufferImageCopy> const & regions ) const VULKAN_HPP_NOEXCEPT; | |
| 6720 | |
| 6721 // wrapper function for command vkCmdUpdateBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdUpdateBuffer.html | |
| 6722 template <typename DataType> | |
| 6723 void updateBuffer( VULKAN_HPP_NAMESPACE::Buffer dstBuffer, DeviceSize dstOffset, ArrayProxy<const DataType> const & data ) const VULKAN_HPP_NOEXCEPT; | |
| 6724 | |
| 6725 // wrapper function for command vkCmdFillBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdFillBuffer.html | |
| 6726 void fillBuffer( VULKAN_HPP_NAMESPACE::Buffer dstBuffer, DeviceSize dstOffset, DeviceSize size, uint32_t data ) const VULKAN_HPP_NOEXCEPT; | |
| 6727 | |
| 6728 // wrapper function for command vkCmdPipelineBarrier, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPipelineBarrier.html | |
| 6729 void pipelineBarrier( PipelineStageFlags srcStageMask, | |
| 6730 PipelineStageFlags dstStageMask, | |
| 6731 DependencyFlags dependencyFlags, | |
| 6732 ArrayProxy<const MemoryBarrier> const & memoryBarriers, | |
| 6733 ArrayProxy<const BufferMemoryBarrier> const & bufferMemoryBarriers, | |
| 6734 ArrayProxy<const ImageMemoryBarrier> const & imageMemoryBarriers ) const VULKAN_HPP_NOEXCEPT; | |
| 6735 | |
| 6736 // wrapper function for command vkCmdBeginQuery, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginQuery.html | |
| 6737 void beginQuery( VULKAN_HPP_NAMESPACE::QueryPool queryPool, | |
| 6738 uint32_t query, | |
| 6739 QueryControlFlags flags VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const VULKAN_HPP_NOEXCEPT; | |
| 6740 | |
| 6741 // wrapper function for command vkCmdEndQuery, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndQuery.html | |
| 6742 void endQuery( VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT; | |
| 6743 | |
| 6744 // wrapper function for command vkCmdResetQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResetQueryPool.html | |
| 6745 void resetQueryPool( VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT; | |
| 6746 | |
| 6747 // wrapper function for command vkCmdWriteTimestamp, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteTimestamp.html | |
| 6748 void writeTimestamp( PipelineStageFlagBits pipelineStage, VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT; | |
| 6749 | |
| 6750 // wrapper function for command vkCmdCopyQueryPoolResults, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyQueryPoolResults.html | |
| 6751 void copyQueryPoolResults( VULKAN_HPP_NAMESPACE::QueryPool queryPool, | |
| 6752 uint32_t firstQuery, | |
| 6753 uint32_t queryCount, | |
| 6754 VULKAN_HPP_NAMESPACE::Buffer dstBuffer, | |
| 6755 DeviceSize dstOffset, | |
| 6756 DeviceSize stride, | |
| 6757 QueryResultFlags flags VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const VULKAN_HPP_NOEXCEPT; | |
| 6758 | |
| 6759 // wrapper function for command vkCmdExecuteCommands, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdExecuteCommands.html | |
| 6760 void executeCommands( ArrayProxy<const VULKAN_HPP_NAMESPACE::CommandBuffer> const & commandBuffers ) const VULKAN_HPP_NOEXCEPT; | |
| 6761 | |
| 6762 // wrapper function for command vkCmdBindPipeline, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindPipeline.html | |
| 6763 void bindPipeline( PipelineBindPoint pipelineBindPoint, VULKAN_HPP_NAMESPACE::Pipeline pipeline ) const VULKAN_HPP_NOEXCEPT; | |
| 6764 | |
| 6765 // wrapper function for command vkCmdBindDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorSets.html | |
| 6766 void bindDescriptorSets( PipelineBindPoint pipelineBindPoint, | |
| 6767 VULKAN_HPP_NAMESPACE::PipelineLayout layout, | |
| 6768 uint32_t firstSet, | |
| 6769 ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorSet> const & descriptorSets, | |
| 6770 ArrayProxy<const uint32_t> const & dynamicOffsets ) const VULKAN_HPP_NOEXCEPT; | |
| 6771 | |
| 6772 // wrapper function for command vkCmdClearColorImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdClearColorImage.html | |
| 6773 void clearColorImage( VULKAN_HPP_NAMESPACE::Image image, | |
| 6774 ImageLayout imageLayout, | |
| 6775 const ClearColorValue & color, | |
| 6776 ArrayProxy<const ImageSubresourceRange> const & ranges ) const VULKAN_HPP_NOEXCEPT; | |
| 6777 | |
| 6778 // wrapper function for command vkCmdDispatch, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatch.html | |
| 6779 void dispatch( uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT; | |
| 6780 | |
| 6781 // wrapper function for command vkCmdDispatchIndirect, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchIndirect.html | |
| 6782 void dispatchIndirect( VULKAN_HPP_NAMESPACE::Buffer buffer, DeviceSize offset ) const VULKAN_HPP_NOEXCEPT; | |
| 6783 | |
| 6784 // wrapper function for command vkCmdSetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetEvent.html | |
| 6785 void setEvent( VULKAN_HPP_NAMESPACE::Event event, PipelineStageFlags stageMask VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const VULKAN_HPP_NOEXCEPT; | |
| 6786 | |
| 6787 // wrapper function for command vkCmdResetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResetEvent.html | |
| 6788 void resetEvent( VULKAN_HPP_NAMESPACE::Event event, PipelineStageFlags stageMask VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const VULKAN_HPP_NOEXCEPT; | |
| 6789 | |
| 6790 // wrapper function for command vkCmdWaitEvents, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWaitEvents.html | |
| 6791 void waitEvents( ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const & events, | |
| 6792 PipelineStageFlags srcStageMask, | |
| 6793 PipelineStageFlags dstStageMask, | |
| 6794 ArrayProxy<const MemoryBarrier> const & memoryBarriers, | |
| 6795 ArrayProxy<const BufferMemoryBarrier> const & bufferMemoryBarriers, | |
| 6796 ArrayProxy<const ImageMemoryBarrier> const & imageMemoryBarriers ) const VULKAN_HPP_NOEXCEPT; | |
| 6797 | |
| 6798 // wrapper function for command vkCmdPushConstants, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushConstants.html | |
| 6799 template <typename ValuesType> | |
| 6800 void pushConstants( VULKAN_HPP_NAMESPACE::PipelineLayout layout, | |
| 6801 ShaderStageFlags stageFlags, | |
| 6802 uint32_t offset, | |
| 6803 ArrayProxy<const ValuesType> const & values ) const VULKAN_HPP_NOEXCEPT; | |
| 6804 | |
| 6805 // wrapper function for command vkCmdSetViewport, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewport.html | |
| 6806 void setViewport( uint32_t firstViewport, ArrayProxy<const Viewport> const & viewports ) const VULKAN_HPP_NOEXCEPT; | |
| 6807 | |
| 6808 // wrapper function for command vkCmdSetScissor, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetScissor.html | |
| 6809 void setScissor( uint32_t firstScissor, ArrayProxy<const Rect2D> const & scissors ) const VULKAN_HPP_NOEXCEPT; | |
| 6810 | |
| 6811 // wrapper function for command vkCmdSetLineWidth, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineWidth.html | |
| 6812 void setLineWidth( float lineWidth ) const VULKAN_HPP_NOEXCEPT; | |
| 6813 | |
| 6814 // wrapper function for command vkCmdSetDepthBias, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBias.html | |
| 6815 void setDepthBias( float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor ) const VULKAN_HPP_NOEXCEPT; | |
| 6816 | |
| 6817 // wrapper function for command vkCmdSetBlendConstants, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetBlendConstants.html | |
| 6818 void setBlendConstants( const float blendConstants[4] ) const VULKAN_HPP_NOEXCEPT; | |
| 6819 | |
| 6820 // wrapper function for command vkCmdSetDepthBounds, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBounds.html | |
| 6821 void setDepthBounds( float minDepthBounds, float maxDepthBounds ) const VULKAN_HPP_NOEXCEPT; | |
| 6822 | |
| 6823 // wrapper function for command vkCmdSetStencilCompareMask, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilCompareMask.html | |
| 6824 void setStencilCompareMask( StencilFaceFlags faceMask, uint32_t compareMask ) const VULKAN_HPP_NOEXCEPT; | |
| 6825 | |
| 6826 // wrapper function for command vkCmdSetStencilWriteMask, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilWriteMask.html | |
| 6827 void setStencilWriteMask( StencilFaceFlags faceMask, uint32_t writeMask ) const VULKAN_HPP_NOEXCEPT; | |
| 6828 | |
| 6829 // wrapper function for command vkCmdSetStencilReference, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilReference.html | |
| 6830 void setStencilReference( StencilFaceFlags faceMask, uint32_t reference ) const VULKAN_HPP_NOEXCEPT; | |
| 6831 | |
| 6832 // wrapper function for command vkCmdBindIndexBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindIndexBuffer.html | |
| 6833 void bindIndexBuffer( VULKAN_HPP_NAMESPACE::Buffer buffer, DeviceSize offset, IndexType indexType ) const VULKAN_HPP_NOEXCEPT; | |
| 6834 | |
| 6835 // wrapper function for command vkCmdBindVertexBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindVertexBuffers.html | |
| 6836 void bindVertexBuffers( uint32_t firstBinding, | |
| 6837 ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers, | |
| 6838 ArrayProxy<const DeviceSize> const & offsets ) const; | |
| 6839 | |
| 6840 // wrapper function for command vkCmdDraw, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDraw.html | |
| 6841 void draw( uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance ) const VULKAN_HPP_NOEXCEPT; | |
| 6842 | |
| 6843 // wrapper function for command vkCmdDrawIndexed, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexed.html | |
| 6844 void | |
| 6845 drawIndexed( uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance ) const VULKAN_HPP_NOEXCEPT; | |
| 6846 | |
| 6847 // wrapper function for command vkCmdDrawIndirect, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirect.html | |
| 6848 void drawIndirect( VULKAN_HPP_NAMESPACE::Buffer buffer, DeviceSize offset, uint32_t drawCount, uint32_t stride ) const VULKAN_HPP_NOEXCEPT; | |
| 6849 | |
| 6850 // wrapper function for command vkCmdDrawIndexedIndirect, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexedIndirect.html | |
| 6851 void drawIndexedIndirect( VULKAN_HPP_NAMESPACE::Buffer buffer, DeviceSize offset, uint32_t drawCount, uint32_t stride ) const VULKAN_HPP_NOEXCEPT; | |
| 6852 | |
| 6853 // wrapper function for command vkCmdBlitImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBlitImage.html | |
| 6854 void blitImage( VULKAN_HPP_NAMESPACE::Image srcImage, | |
| 6855 ImageLayout srcImageLayout, | |
| 6856 VULKAN_HPP_NAMESPACE::Image dstImage, | |
| 6857 ImageLayout dstImageLayout, | |
| 6858 ArrayProxy<const ImageBlit> const & regions, | |
| 6859 Filter filter ) const VULKAN_HPP_NOEXCEPT; | |
| 6860 | |
| 6861 // wrapper function for command vkCmdClearDepthStencilImage, see | |
| 6862 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdClearDepthStencilImage.html | |
| 6863 void clearDepthStencilImage( VULKAN_HPP_NAMESPACE::Image image, | |
| 6864 ImageLayout imageLayout, | |
| 6865 const ClearDepthStencilValue & depthStencil, | |
| 6866 ArrayProxy<const ImageSubresourceRange> const & ranges ) const VULKAN_HPP_NOEXCEPT; | |
| 6867 | |
| 6868 // wrapper function for command vkCmdClearAttachments, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdClearAttachments.html | |
| 6869 void clearAttachments( ArrayProxy<const ClearAttachment> const & attachments, ArrayProxy<const ClearRect> const & rects ) const VULKAN_HPP_NOEXCEPT; | |
| 6870 | |
| 6871 // wrapper function for command vkCmdResolveImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResolveImage.html | |
| 6872 void resolveImage( VULKAN_HPP_NAMESPACE::Image srcImage, | |
| 6873 ImageLayout srcImageLayout, | |
| 6874 VULKAN_HPP_NAMESPACE::Image dstImage, | |
| 6875 ImageLayout dstImageLayout, | |
| 6876 ArrayProxy<const ImageResolve> const & regions ) const VULKAN_HPP_NOEXCEPT; | |
| 6877 | |
| 6878 // wrapper function for command vkCmdBeginRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderPass.html | |
| 6879 void beginRenderPass( const RenderPassBeginInfo & renderPassBegin, SubpassContents contents ) const VULKAN_HPP_NOEXCEPT; | |
| 6880 | |
| 6881 // wrapper function for command vkCmdNextSubpass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdNextSubpass.html | |
| 6882 void nextSubpass( SubpassContents contents ) const VULKAN_HPP_NOEXCEPT; | |
| 6883 | |
| 6884 // wrapper function for command vkCmdEndRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRenderPass.html | |
| 6885 void endRenderPass() const VULKAN_HPP_NOEXCEPT; | |
| 6886 | |
| 6887 //=== VK_VERSION_1_1 === | |
| 6888 | |
| 6889 // wrapper function for command vkCmdSetDeviceMask, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDeviceMask.html | |
| 6890 void setDeviceMask( uint32_t deviceMask ) const VULKAN_HPP_NOEXCEPT; | |
| 6891 | |
| 6892 // wrapper function for command vkCmdDispatchBase, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchBase.html | |
| 6893 void dispatchBase( uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const | |
| 6894 VULKAN_HPP_NOEXCEPT; | |
| 6895 | |
| 6896 //=== VK_VERSION_1_2 === | |
| 6897 | |
| 6898 // wrapper function for command vkCmdDrawIndirectCount, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectCount.html | |
| 6899 void drawIndirectCount( VULKAN_HPP_NAMESPACE::Buffer buffer, | |
| 6900 DeviceSize offset, | |
| 6901 VULKAN_HPP_NAMESPACE::Buffer countBuffer, | |
| 6902 DeviceSize countBufferOffset, | |
| 6903 uint32_t maxDrawCount, | |
| 6904 uint32_t stride ) const VULKAN_HPP_NOEXCEPT; | |
| 6905 | |
| 6906 // wrapper function for command vkCmdDrawIndexedIndirectCount, see | |
| 6907 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexedIndirectCount.html | |
| 6908 void drawIndexedIndirectCount( VULKAN_HPP_NAMESPACE::Buffer buffer, | |
| 6909 DeviceSize offset, | |
| 6910 VULKAN_HPP_NAMESPACE::Buffer countBuffer, | |
| 6911 DeviceSize countBufferOffset, | |
| 6912 uint32_t maxDrawCount, | |
| 6913 uint32_t stride ) const VULKAN_HPP_NOEXCEPT; | |
| 6914 | |
| 6915 // wrapper function for command vkCmdBeginRenderPass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderPass2.html | |
| 6916 void beginRenderPass2( const RenderPassBeginInfo & renderPassBegin, const SubpassBeginInfo & subpassBeginInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 6917 | |
| 6918 // wrapper function for command vkCmdNextSubpass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdNextSubpass2.html | |
| 6919 void nextSubpass2( const SubpassBeginInfo & subpassBeginInfo, const SubpassEndInfo & subpassEndInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 6920 | |
| 6921 // wrapper function for command vkCmdEndRenderPass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRenderPass2.html | |
| 6922 void endRenderPass2( const SubpassEndInfo & subpassEndInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 6923 | |
| 6924 //=== VK_VERSION_1_3 === | |
| 6925 | |
| 6926 // wrapper function for command vkCmdPipelineBarrier2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPipelineBarrier2.html | |
| 6927 void pipelineBarrier2( const DependencyInfo & dependencyInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 6928 | |
| 6929 // wrapper function for command vkCmdWriteTimestamp2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteTimestamp2.html | |
| 6930 void writeTimestamp2( PipelineStageFlags2 stage, VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT; | |
| 6931 | |
| 6932 // wrapper function for command vkCmdCopyBuffer2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBuffer2.html | |
| 6933 void copyBuffer2( const CopyBufferInfo2 & copyBufferInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 6934 | |
| 6935 // wrapper function for command vkCmdCopyImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImage2.html | |
| 6936 void copyImage2( const CopyImageInfo2 & copyImageInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 6937 | |
| 6938 // wrapper function for command vkCmdCopyBufferToImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBufferToImage2.html | |
| 6939 void copyBufferToImage2( const CopyBufferToImageInfo2 & copyBufferToImageInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 6940 | |
| 6941 // wrapper function for command vkCmdCopyImageToBuffer2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImageToBuffer2.html | |
| 6942 void copyImageToBuffer2( const CopyImageToBufferInfo2 & copyImageToBufferInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 6943 | |
| 6944 // wrapper function for command vkCmdSetEvent2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetEvent2.html | |
| 6945 void setEvent2( VULKAN_HPP_NAMESPACE::Event event, const DependencyInfo & dependencyInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 6946 | |
| 6947 // wrapper function for command vkCmdResetEvent2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResetEvent2.html | |
| 6948 void resetEvent2( VULKAN_HPP_NAMESPACE::Event event, PipelineStageFlags2 stageMask VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const VULKAN_HPP_NOEXCEPT; | |
| 6949 | |
| 6950 // wrapper function for command vkCmdWaitEvents2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWaitEvents2.html | |
| 6951 void waitEvents2( ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const & events, ArrayProxy<const DependencyInfo> const & dependencyInfos ) const; | |
| 6952 | |
| 6953 // wrapper function for command vkCmdBlitImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBlitImage2.html | |
| 6954 void blitImage2( const BlitImageInfo2 & blitImageInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 6955 | |
| 6956 // wrapper function for command vkCmdResolveImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResolveImage2.html | |
| 6957 void resolveImage2( const ResolveImageInfo2 & resolveImageInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 6958 | |
| 6959 // wrapper function for command vkCmdBeginRendering, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRendering.html | |
| 6960 void beginRendering( const RenderingInfo & renderingInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 6961 | |
| 6962 // wrapper function for command vkCmdEndRendering, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRendering.html | |
| 6963 void endRendering() const VULKAN_HPP_NOEXCEPT; | |
| 6964 | |
| 6965 // wrapper function for command vkCmdSetCullMode, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCullMode.html | |
| 6966 void setCullMode( CullModeFlags cullMode VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const VULKAN_HPP_NOEXCEPT; | |
| 6967 | |
| 6968 // wrapper function for command vkCmdSetFrontFace, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFrontFace.html | |
| 6969 void setFrontFace( FrontFace frontFace ) const VULKAN_HPP_NOEXCEPT; | |
| 6970 | |
| 6971 // wrapper function for command vkCmdSetPrimitiveTopology, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPrimitiveTopology.html | |
| 6972 void setPrimitiveTopology( PrimitiveTopology primitiveTopology ) const VULKAN_HPP_NOEXCEPT; | |
| 6973 | |
| 6974 // wrapper function for command vkCmdSetViewportWithCount, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWithCount.html | |
| 6975 void setViewportWithCount( ArrayProxy<const Viewport> const & viewports ) const VULKAN_HPP_NOEXCEPT; | |
| 6976 | |
| 6977 // wrapper function for command vkCmdSetScissorWithCount, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetScissorWithCount.html | |
| 6978 void setScissorWithCount( ArrayProxy<const Rect2D> const & scissors ) const VULKAN_HPP_NOEXCEPT; | |
| 6979 | |
| 6980 // wrapper function for command vkCmdBindVertexBuffers2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindVertexBuffers2.html | |
| 6981 void bindVertexBuffers2( uint32_t firstBinding, | |
| 6982 ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers, | |
| 6983 ArrayProxy<const DeviceSize> const & offsets, | |
| 6984 ArrayProxy<const DeviceSize> const & sizes VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), | |
| 6985 ArrayProxy<const DeviceSize> const & strides VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const; | |
| 6986 | |
| 6987 // wrapper function for command vkCmdSetDepthTestEnable, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthTestEnable.html | |
| 6988 void setDepthTestEnable( Bool32 depthTestEnable ) const VULKAN_HPP_NOEXCEPT; | |
| 6989 | |
| 6990 // wrapper function for command vkCmdSetDepthWriteEnable, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthWriteEnable.html | |
| 6991 void setDepthWriteEnable( Bool32 depthWriteEnable ) const VULKAN_HPP_NOEXCEPT; | |
| 6992 | |
| 6993 // wrapper function for command vkCmdSetDepthCompareOp, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthCompareOp.html | |
| 6994 void setDepthCompareOp( CompareOp depthCompareOp ) const VULKAN_HPP_NOEXCEPT; | |
| 6995 | |
| 6996 // wrapper function for command vkCmdSetDepthBoundsTestEnable, see | |
| 6997 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBoundsTestEnable.html | |
| 6998 void setDepthBoundsTestEnable( Bool32 depthBoundsTestEnable ) const VULKAN_HPP_NOEXCEPT; | |
| 6999 | |
| 7000 // wrapper function for command vkCmdSetStencilTestEnable, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilTestEnable.html | |
| 7001 void setStencilTestEnable( Bool32 stencilTestEnable ) const VULKAN_HPP_NOEXCEPT; | |
| 7002 | |
| 7003 // wrapper function for command vkCmdSetStencilOp, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilOp.html | |
| 7004 void setStencilOp( StencilFaceFlags faceMask, StencilOp failOp, StencilOp passOp, StencilOp depthFailOp, CompareOp compareOp ) const VULKAN_HPP_NOEXCEPT; | |
| 7005 | |
| 7006 // wrapper function for command vkCmdSetRasterizerDiscardEnable, see | |
| 7007 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRasterizerDiscardEnable.html | |
| 7008 void setRasterizerDiscardEnable( Bool32 rasterizerDiscardEnable ) const VULKAN_HPP_NOEXCEPT; | |
| 7009 | |
| 7010 // wrapper function for command vkCmdSetDepthBiasEnable, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBiasEnable.html | |
| 7011 void setDepthBiasEnable( Bool32 depthBiasEnable ) const VULKAN_HPP_NOEXCEPT; | |
| 7012 | |
| 7013 // wrapper function for command vkCmdSetPrimitiveRestartEnable, see | |
| 7014 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPrimitiveRestartEnable.html | |
| 7015 void setPrimitiveRestartEnable( Bool32 primitiveRestartEnable ) const VULKAN_HPP_NOEXCEPT; | |
| 7016 | |
| 7017 //=== VK_VERSION_1_4 === | |
| 7018 | |
| 7019 // wrapper function for command vkCmdPushDescriptorSet, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSet.html | |
| 7020 void pushDescriptorSet( PipelineBindPoint pipelineBindPoint, | |
| 7021 VULKAN_HPP_NAMESPACE::PipelineLayout layout, | |
| 7022 uint32_t set, | |
| 7023 ArrayProxy<const WriteDescriptorSet> const & descriptorWrites ) const VULKAN_HPP_NOEXCEPT; | |
| 7024 | |
| 7025 // wrapper function for command vkCmdPushDescriptorSetWithTemplate, see | |
| 7026 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplate.html | |
| 7027 template <typename DataType> | |
| 7028 void pushDescriptorSetWithTemplate( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, | |
| 7029 VULKAN_HPP_NAMESPACE::PipelineLayout layout, | |
| 7030 uint32_t set, | |
| 7031 DataType const & data ) const VULKAN_HPP_NOEXCEPT; | |
| 7032 | |
| 7033 // wrapper function for command vkCmdBindDescriptorSets2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorSets2.html | |
| 7034 void bindDescriptorSets2( const BindDescriptorSetsInfo & bindDescriptorSetsInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7035 | |
| 7036 // wrapper function for command vkCmdPushConstants2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushConstants2.html | |
| 7037 void pushConstants2( const PushConstantsInfo & pushConstantsInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7038 | |
| 7039 // wrapper function for command vkCmdPushDescriptorSet2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSet2.html | |
| 7040 void pushDescriptorSet2( const PushDescriptorSetInfo & pushDescriptorSetInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7041 | |
| 7042 // wrapper function for command vkCmdPushDescriptorSetWithTemplate2, see | |
| 7043 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplate2.html | |
| 7044 void pushDescriptorSetWithTemplate2( const PushDescriptorSetWithTemplateInfo & pushDescriptorSetWithTemplateInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7045 | |
| 7046 // wrapper function for command vkCmdSetLineStipple, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineStipple.html | |
| 7047 void setLineStipple( uint32_t lineStippleFactor, uint16_t lineStipplePattern ) const VULKAN_HPP_NOEXCEPT; | |
| 7048 | |
| 7049 // wrapper function for command vkCmdBindIndexBuffer2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindIndexBuffer2.html | |
| 7050 void bindIndexBuffer2( VULKAN_HPP_NAMESPACE::Buffer buffer, DeviceSize offset, DeviceSize size, IndexType indexType ) const VULKAN_HPP_NOEXCEPT; | |
| 7051 | |
| 7052 // wrapper function for command vkCmdSetRenderingAttachmentLocations, see | |
| 7053 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingAttachmentLocations.html | |
| 7054 void setRenderingAttachmentLocations( const RenderingAttachmentLocationInfo & locationInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7055 | |
| 7056 // wrapper function for command vkCmdSetRenderingInputAttachmentIndices, see | |
| 7057 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingInputAttachmentIndices.html | |
| 7058 void setRenderingInputAttachmentIndices( const RenderingInputAttachmentIndexInfo & inputAttachmentIndexInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7059 | |
| 7060 //=== VK_EXT_debug_marker === | |
| 7061 | |
| 7062 // wrapper function for command vkCmdDebugMarkerBeginEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDebugMarkerBeginEXT.html | |
| 7063 void debugMarkerBeginEXT( const DebugMarkerMarkerInfoEXT & markerInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7064 | |
| 7065 // wrapper function for command vkCmdDebugMarkerEndEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDebugMarkerEndEXT.html | |
| 7066 void debugMarkerEndEXT() const VULKAN_HPP_NOEXCEPT; | |
| 7067 | |
| 7068 // wrapper function for command vkCmdDebugMarkerInsertEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDebugMarkerInsertEXT.html | |
| 7069 void debugMarkerInsertEXT( const DebugMarkerMarkerInfoEXT & markerInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7070 | |
| 7071 //=== VK_KHR_video_queue === | |
| 7072 | |
| 7073 // wrapper function for command vkCmdBeginVideoCodingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginVideoCodingKHR.html | |
| 7074 void beginVideoCodingKHR( const VideoBeginCodingInfoKHR & beginInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7075 | |
| 7076 // wrapper function for command vkCmdEndVideoCodingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndVideoCodingKHR.html | |
| 7077 void endVideoCodingKHR( const VideoEndCodingInfoKHR & endCodingInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7078 | |
| 7079 // wrapper function for command vkCmdControlVideoCodingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdControlVideoCodingKHR.html | |
| 7080 void controlVideoCodingKHR( const VideoCodingControlInfoKHR & codingControlInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7081 | |
| 7082 //=== VK_KHR_video_decode_queue === | |
| 7083 | |
| 7084 // wrapper function for command vkCmdDecodeVideoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecodeVideoKHR.html | |
| 7085 void decodeVideoKHR( const VideoDecodeInfoKHR & decodeInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7086 | |
| 7087 //=== VK_EXT_transform_feedback === | |
| 7088 | |
| 7089 // wrapper function for command vkCmdBindTransformFeedbackBuffersEXT, see | |
| 7090 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindTransformFeedbackBuffersEXT.html | |
| 7091 void bindTransformFeedbackBuffersEXT( uint32_t firstBinding, | |
| 7092 ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers, | |
| 7093 ArrayProxy<const DeviceSize> const & offsets, | |
| 7094 ArrayProxy<const DeviceSize> const & sizes VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const; | |
| 7095 | |
| 7096 // wrapper function for command vkCmdBeginTransformFeedbackEXT, see | |
| 7097 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginTransformFeedbackEXT.html | |
| 7098 void beginTransformFeedbackEXT( uint32_t firstCounterBuffer, | |
| 7099 ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & counterBuffers, | |
| 7100 ArrayProxy<const DeviceSize> const & counterBufferOffsets VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const; | |
| 7101 | |
| 7102 // wrapper function for command vkCmdEndTransformFeedbackEXT, see | |
| 7103 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndTransformFeedbackEXT.html | |
| 7104 void endTransformFeedbackEXT( uint32_t firstCounterBuffer, | |
| 7105 ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & counterBuffers, | |
| 7106 ArrayProxy<const DeviceSize> const & counterBufferOffsets VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const; | |
| 7107 | |
| 7108 // wrapper function for command vkCmdBeginQueryIndexedEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginQueryIndexedEXT.html | |
| 7109 void beginQueryIndexedEXT( VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query, QueryControlFlags flags, uint32_t index ) const VULKAN_HPP_NOEXCEPT; | |
| 7110 | |
| 7111 // wrapper function for command vkCmdEndQueryIndexedEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndQueryIndexedEXT.html | |
| 7112 void endQueryIndexedEXT( VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query, uint32_t index ) const VULKAN_HPP_NOEXCEPT; | |
| 7113 | |
| 7114 // wrapper function for command vkCmdDrawIndirectByteCountEXT, see | |
| 7115 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectByteCountEXT.html | |
| 7116 void drawIndirectByteCountEXT( uint32_t instanceCount, | |
| 7117 uint32_t firstInstance, | |
| 7118 VULKAN_HPP_NAMESPACE::Buffer counterBuffer, | |
| 7119 DeviceSize counterBufferOffset, | |
| 7120 uint32_t counterOffset, | |
| 7121 uint32_t vertexStride ) const VULKAN_HPP_NOEXCEPT; | |
| 7122 | |
| 7123 //=== VK_NVX_binary_import === | |
| 7124 | |
| 7125 // wrapper function for command vkCmdCuLaunchKernelNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCuLaunchKernelNVX.html | |
| 7126 void cuLaunchKernelNVX( const CuLaunchInfoNVX & launchInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7127 | |
| 7128 //=== VK_AMD_draw_indirect_count === | |
| 7129 | |
| 7130 // wrapper function for command vkCmdDrawIndirectCountAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectCountAMD.html | |
| 7131 void drawIndirectCountAMD( VULKAN_HPP_NAMESPACE::Buffer buffer, | |
| 7132 DeviceSize offset, | |
| 7133 VULKAN_HPP_NAMESPACE::Buffer countBuffer, | |
| 7134 DeviceSize countBufferOffset, | |
| 7135 uint32_t maxDrawCount, | |
| 7136 uint32_t stride ) const VULKAN_HPP_NOEXCEPT; | |
| 7137 | |
| 7138 // wrapper function for command vkCmdDrawIndexedIndirectCountAMD, see | |
| 7139 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexedIndirectCountAMD.html | |
| 7140 void drawIndexedIndirectCountAMD( VULKAN_HPP_NAMESPACE::Buffer buffer, | |
| 7141 DeviceSize offset, | |
| 7142 VULKAN_HPP_NAMESPACE::Buffer countBuffer, | |
| 7143 DeviceSize countBufferOffset, | |
| 7144 uint32_t maxDrawCount, | |
| 7145 uint32_t stride ) const VULKAN_HPP_NOEXCEPT; | |
| 7146 | |
| 7147 //=== VK_KHR_dynamic_rendering === | |
| 7148 | |
| 7149 // wrapper function for command vkCmdBeginRenderingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderingKHR.html | |
| 7150 void beginRenderingKHR( const RenderingInfo & renderingInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7151 | |
| 7152 // wrapper function for command vkCmdEndRenderingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRenderingKHR.html | |
| 7153 void endRenderingKHR() const VULKAN_HPP_NOEXCEPT; | |
| 7154 | |
| 7155 //=== VK_KHR_device_group === | |
| 7156 | |
| 7157 // wrapper function for command vkCmdSetDeviceMaskKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDeviceMaskKHR.html | |
| 7158 void setDeviceMaskKHR( uint32_t deviceMask ) const VULKAN_HPP_NOEXCEPT; | |
| 7159 | |
| 7160 // wrapper function for command vkCmdDispatchBaseKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchBaseKHR.html | |
| 7161 void dispatchBaseKHR( uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) | |
| 7162 const VULKAN_HPP_NOEXCEPT; | |
| 7163 | |
| 7164 //=== VK_KHR_push_descriptor === | |
| 7165 | |
| 7166 // wrapper function for command vkCmdPushDescriptorSetKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetKHR.html | |
| 7167 void pushDescriptorSetKHR( PipelineBindPoint pipelineBindPoint, | |
| 7168 VULKAN_HPP_NAMESPACE::PipelineLayout layout, | |
| 7169 uint32_t set, | |
| 7170 ArrayProxy<const WriteDescriptorSet> const & descriptorWrites ) const VULKAN_HPP_NOEXCEPT; | |
| 7171 | |
| 7172 // wrapper function for command vkCmdPushDescriptorSetWithTemplateKHR, see | |
| 7173 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplateKHR.html | |
| 7174 template <typename DataType> | |
| 7175 void pushDescriptorSetWithTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, | |
| 7176 VULKAN_HPP_NAMESPACE::PipelineLayout layout, | |
| 7177 uint32_t set, | |
| 7178 DataType const & data ) const VULKAN_HPP_NOEXCEPT; | |
| 7179 | |
| 7180 //=== VK_EXT_conditional_rendering === | |
| 7181 | |
| 7182 // wrapper function for command vkCmdBeginConditionalRenderingEXT, see | |
| 7183 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginConditionalRenderingEXT.html | |
| 7184 void beginConditionalRenderingEXT( const ConditionalRenderingBeginInfoEXT & conditionalRenderingBegin ) const VULKAN_HPP_NOEXCEPT; | |
| 7185 | |
| 7186 // wrapper function for command vkCmdEndConditionalRenderingEXT, see | |
| 7187 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndConditionalRenderingEXT.html | |
| 7188 void endConditionalRenderingEXT() const VULKAN_HPP_NOEXCEPT; | |
| 7189 | |
| 7190 //=== VK_NV_clip_space_w_scaling === | |
| 7191 | |
| 7192 // wrapper function for command vkCmdSetViewportWScalingNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWScalingNV.html | |
| 7193 void setViewportWScalingNV( uint32_t firstViewport, ArrayProxy<const ViewportWScalingNV> const & viewportWScalings ) const VULKAN_HPP_NOEXCEPT; | |
| 7194 | |
| 7195 //=== VK_EXT_discard_rectangles === | |
| 7196 | |
| 7197 // wrapper function for command vkCmdSetDiscardRectangleEXT, see | |
| 7198 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDiscardRectangleEXT.html | |
| 7199 void setDiscardRectangleEXT( uint32_t firstDiscardRectangle, ArrayProxy<const Rect2D> const & discardRectangles ) const VULKAN_HPP_NOEXCEPT; | |
| 7200 | |
| 7201 // wrapper function for command vkCmdSetDiscardRectangleEnableEXT, see | |
| 7202 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDiscardRectangleEnableEXT.html | |
| 7203 void setDiscardRectangleEnableEXT( Bool32 discardRectangleEnable ) const VULKAN_HPP_NOEXCEPT; | |
| 7204 | |
| 7205 // wrapper function for command vkCmdSetDiscardRectangleModeEXT, see | |
| 7206 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDiscardRectangleModeEXT.html | |
| 7207 void setDiscardRectangleModeEXT( DiscardRectangleModeEXT discardRectangleMode ) const VULKAN_HPP_NOEXCEPT; | |
| 7208 | |
| 7209 //=== VK_KHR_create_renderpass2 === | |
| 7210 | |
| 7211 // wrapper function for command vkCmdBeginRenderPass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderPass2KHR.html | |
| 7212 void beginRenderPass2KHR( const RenderPassBeginInfo & renderPassBegin, const SubpassBeginInfo & subpassBeginInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7213 | |
| 7214 // wrapper function for command vkCmdNextSubpass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdNextSubpass2KHR.html | |
| 7215 void nextSubpass2KHR( const SubpassBeginInfo & subpassBeginInfo, const SubpassEndInfo & subpassEndInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7216 | |
| 7217 // wrapper function for command vkCmdEndRenderPass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRenderPass2KHR.html | |
| 7218 void endRenderPass2KHR( const SubpassEndInfo & subpassEndInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7219 | |
| 7220 //=== VK_EXT_debug_utils === | |
| 7221 | |
| 7222 // wrapper function for command vkCmdBeginDebugUtilsLabelEXT, see | |
| 7223 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginDebugUtilsLabelEXT.html | |
| 7224 void beginDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7225 | |
| 7226 // wrapper function for command vkCmdEndDebugUtilsLabelEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndDebugUtilsLabelEXT.html | |
| 7227 void endDebugUtilsLabelEXT() const VULKAN_HPP_NOEXCEPT; | |
| 7228 | |
| 7229 // wrapper function for command vkCmdInsertDebugUtilsLabelEXT, see | |
| 7230 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdInsertDebugUtilsLabelEXT.html | |
| 7231 void insertDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7232 | |
| 7233 # if defined( VK_ENABLE_BETA_EXTENSIONS ) | |
| 7234 //=== VK_AMDX_shader_enqueue === | |
| 7235 | |
| 7236 // wrapper function for command vkCmdInitializeGraphScratchMemoryAMDX, see | |
| 7237 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdInitializeGraphScratchMemoryAMDX.html | |
| 7238 void initializeGraphScratchMemoryAMDX( VULKAN_HPP_NAMESPACE::Pipeline executionGraph, | |
| 7239 DeviceAddress scratch, | |
| 7240 DeviceSize scratchSize ) const VULKAN_HPP_NOEXCEPT; | |
| 7241 | |
| 7242 // wrapper function for command vkCmdDispatchGraphAMDX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchGraphAMDX.html | |
| 7243 void dispatchGraphAMDX( DeviceAddress scratch, DeviceSize scratchSize, const DispatchGraphCountInfoAMDX & countInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7244 | |
| 7245 // wrapper function for command vkCmdDispatchGraphIndirectAMDX, see | |
| 7246 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchGraphIndirectAMDX.html | |
| 7247 void dispatchGraphIndirectAMDX( DeviceAddress scratch, DeviceSize scratchSize, const DispatchGraphCountInfoAMDX & countInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7248 | |
| 7249 // wrapper function for command vkCmdDispatchGraphIndirectCountAMDX, see | |
| 7250 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchGraphIndirectCountAMDX.html | |
| 7251 void dispatchGraphIndirectCountAMDX( DeviceAddress scratch, DeviceSize scratchSize, DeviceAddress countInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7252 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ | |
| 7253 | |
| 7254 //=== VK_EXT_sample_locations === | |
| 7255 | |
| 7256 // wrapper function for command vkCmdSetSampleLocationsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetSampleLocationsEXT.html | |
| 7257 void setSampleLocationsEXT( const SampleLocationsInfoEXT & sampleLocationsInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7258 | |
| 7259 //=== VK_KHR_acceleration_structure === | |
| 7260 | |
| 7261 // wrapper function for command vkCmdBuildAccelerationStructuresKHR, see | |
| 7262 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildAccelerationStructuresKHR.html | |
| 7263 void buildAccelerationStructuresKHR( ArrayProxy<const AccelerationStructureBuildGeometryInfoKHR> const & infos, | |
| 7264 ArrayProxy<const AccelerationStructureBuildRangeInfoKHR * const> const & pBuildRangeInfos ) const; | |
| 7265 | |
| 7266 // wrapper function for command vkCmdBuildAccelerationStructuresIndirectKHR, see | |
| 7267 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildAccelerationStructuresIndirectKHR.html | |
| 7268 void buildAccelerationStructuresIndirectKHR( ArrayProxy<const AccelerationStructureBuildGeometryInfoKHR> const & infos, | |
| 7269 ArrayProxy<const DeviceAddress> const & indirectDeviceAddresses, | |
| 7270 ArrayProxy<const uint32_t> const & indirectStrides, | |
| 7271 ArrayProxy<const uint32_t * const> const & pMaxPrimitiveCounts ) const; | |
| 7272 | |
| 7273 // wrapper function for command vkCmdCopyAccelerationStructureKHR, see | |
| 7274 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyAccelerationStructureKHR.html | |
| 7275 void copyAccelerationStructureKHR( const CopyAccelerationStructureInfoKHR & info ) const VULKAN_HPP_NOEXCEPT; | |
| 7276 | |
| 7277 // wrapper function for command vkCmdCopyAccelerationStructureToMemoryKHR, see | |
| 7278 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyAccelerationStructureToMemoryKHR.html | |
| 7279 void copyAccelerationStructureToMemoryKHR( const CopyAccelerationStructureToMemoryInfoKHR & info ) const VULKAN_HPP_NOEXCEPT; | |
| 7280 | |
| 7281 // wrapper function for command vkCmdCopyMemoryToAccelerationStructureKHR, see | |
| 7282 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToAccelerationStructureKHR.html | |
| 7283 void copyMemoryToAccelerationStructureKHR( const CopyMemoryToAccelerationStructureInfoKHR & info ) const VULKAN_HPP_NOEXCEPT; | |
| 7284 | |
| 7285 // wrapper function for command vkCmdWriteAccelerationStructuresPropertiesKHR, see | |
| 7286 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteAccelerationStructuresPropertiesKHR.html | |
| 7287 void writeAccelerationStructuresPropertiesKHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures, | |
| 7288 QueryType queryType, | |
| 7289 VULKAN_HPP_NAMESPACE::QueryPool queryPool, | |
| 7290 uint32_t firstQuery ) const VULKAN_HPP_NOEXCEPT; | |
| 7291 | |
| 7292 //=== VK_KHR_ray_tracing_pipeline === | |
| 7293 | |
| 7294 // wrapper function for command vkCmdTraceRaysKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdTraceRaysKHR.html | |
| 7295 void traceRaysKHR( const StridedDeviceAddressRegionKHR & raygenShaderBindingTable, | |
| 7296 const StridedDeviceAddressRegionKHR & missShaderBindingTable, | |
| 7297 const StridedDeviceAddressRegionKHR & hitShaderBindingTable, | |
| 7298 const StridedDeviceAddressRegionKHR & callableShaderBindingTable, | |
| 7299 uint32_t width, | |
| 7300 uint32_t height, | |
| 7301 uint32_t depth ) const VULKAN_HPP_NOEXCEPT; | |
| 7302 | |
| 7303 // wrapper function for command vkCmdTraceRaysIndirectKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdTraceRaysIndirectKHR.html | |
| 7304 void traceRaysIndirectKHR( const StridedDeviceAddressRegionKHR & raygenShaderBindingTable, | |
| 7305 const StridedDeviceAddressRegionKHR & missShaderBindingTable, | |
| 7306 const StridedDeviceAddressRegionKHR & hitShaderBindingTable, | |
| 7307 const StridedDeviceAddressRegionKHR & callableShaderBindingTable, | |
| 7308 DeviceAddress indirectDeviceAddress ) const VULKAN_HPP_NOEXCEPT; | |
| 7309 | |
| 7310 // wrapper function for command vkCmdSetRayTracingPipelineStackSizeKHR, see | |
| 7311 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRayTracingPipelineStackSizeKHR.html | |
| 7312 void setRayTracingPipelineStackSizeKHR( uint32_t pipelineStackSize ) const VULKAN_HPP_NOEXCEPT; | |
| 7313 | |
| 7314 //=== VK_NV_shading_rate_image === | |
| 7315 | |
| 7316 // wrapper function for command vkCmdBindShadingRateImageNV, see | |
| 7317 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindShadingRateImageNV.html | |
| 7318 void bindShadingRateImageNV( VULKAN_HPP_NAMESPACE::ImageView imageView, ImageLayout imageLayout ) const VULKAN_HPP_NOEXCEPT; | |
| 7319 | |
| 7320 // wrapper function for command vkCmdSetViewportShadingRatePaletteNV, see | |
| 7321 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportShadingRatePaletteNV.html | |
| 7322 void setViewportShadingRatePaletteNV( uint32_t firstViewport, | |
| 7323 ArrayProxy<const ShadingRatePaletteNV> const & shadingRatePalettes ) const VULKAN_HPP_NOEXCEPT; | |
| 7324 | |
| 7325 // wrapper function for command vkCmdSetCoarseSampleOrderNV, see | |
| 7326 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoarseSampleOrderNV.html | |
| 7327 void setCoarseSampleOrderNV( CoarseSampleOrderTypeNV sampleOrderType, | |
| 7328 ArrayProxy<const CoarseSampleOrderCustomNV> const & customSampleOrders ) const VULKAN_HPP_NOEXCEPT; | |
| 7329 | |
| 7330 //=== VK_NV_ray_tracing === | |
| 7331 | |
| 7332 // wrapper function for command vkCmdBuildAccelerationStructureNV, see | |
| 7333 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildAccelerationStructureNV.html | |
| 7334 void buildAccelerationStructureNV( const AccelerationStructureInfoNV & info, | |
| 7335 VULKAN_HPP_NAMESPACE::Buffer instanceData, | |
| 7336 DeviceSize instanceOffset, | |
| 7337 Bool32 update, | |
| 7338 VULKAN_HPP_NAMESPACE::AccelerationStructureNV dst, | |
| 7339 VULKAN_HPP_NAMESPACE::AccelerationStructureNV src, | |
| 7340 VULKAN_HPP_NAMESPACE::Buffer scratch, | |
| 7341 DeviceSize scratchOffset ) const VULKAN_HPP_NOEXCEPT; | |
| 7342 | |
| 7343 // wrapper function for command vkCmdCopyAccelerationStructureNV, see | |
| 7344 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyAccelerationStructureNV.html | |
| 7345 void copyAccelerationStructureNV( VULKAN_HPP_NAMESPACE::AccelerationStructureNV dst, | |
| 7346 VULKAN_HPP_NAMESPACE::AccelerationStructureNV src, | |
| 7347 CopyAccelerationStructureModeKHR mode ) const VULKAN_HPP_NOEXCEPT; | |
| 7348 | |
| 7349 // wrapper function for command vkCmdTraceRaysNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdTraceRaysNV.html | |
| 7350 void traceRaysNV( VULKAN_HPP_NAMESPACE::Buffer raygenShaderBindingTableBuffer, | |
| 7351 DeviceSize raygenShaderBindingOffset, | |
| 7352 VULKAN_HPP_NAMESPACE::Buffer missShaderBindingTableBuffer, | |
| 7353 DeviceSize missShaderBindingOffset, | |
| 7354 DeviceSize missShaderBindingStride, | |
| 7355 VULKAN_HPP_NAMESPACE::Buffer hitShaderBindingTableBuffer, | |
| 7356 DeviceSize hitShaderBindingOffset, | |
| 7357 DeviceSize hitShaderBindingStride, | |
| 7358 VULKAN_HPP_NAMESPACE::Buffer callableShaderBindingTableBuffer, | |
| 7359 DeviceSize callableShaderBindingOffset, | |
| 7360 DeviceSize callableShaderBindingStride, | |
| 7361 uint32_t width, | |
| 7362 uint32_t height, | |
| 7363 uint32_t depth ) const VULKAN_HPP_NOEXCEPT; | |
| 7364 | |
| 7365 // wrapper function for command vkCmdWriteAccelerationStructuresPropertiesNV, see | |
| 7366 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteAccelerationStructuresPropertiesNV.html | |
| 7367 void writeAccelerationStructuresPropertiesNV( ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureNV> const & accelerationStructures, | |
| 7368 QueryType queryType, | |
| 7369 VULKAN_HPP_NAMESPACE::QueryPool queryPool, | |
| 7370 uint32_t firstQuery ) const VULKAN_HPP_NOEXCEPT; | |
| 7371 | |
| 7372 //=== VK_KHR_draw_indirect_count === | |
| 7373 | |
| 7374 // wrapper function for command vkCmdDrawIndirectCountKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectCountKHR.html | |
| 7375 void drawIndirectCountKHR( VULKAN_HPP_NAMESPACE::Buffer buffer, | |
| 7376 DeviceSize offset, | |
| 7377 VULKAN_HPP_NAMESPACE::Buffer countBuffer, | |
| 7378 DeviceSize countBufferOffset, | |
| 7379 uint32_t maxDrawCount, | |
| 7380 uint32_t stride ) const VULKAN_HPP_NOEXCEPT; | |
| 7381 | |
| 7382 // wrapper function for command vkCmdDrawIndexedIndirectCountKHR, see | |
| 7383 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexedIndirectCountKHR.html | |
| 7384 void drawIndexedIndirectCountKHR( VULKAN_HPP_NAMESPACE::Buffer buffer, | |
| 7385 DeviceSize offset, | |
| 7386 VULKAN_HPP_NAMESPACE::Buffer countBuffer, | |
| 7387 DeviceSize countBufferOffset, | |
| 7388 uint32_t maxDrawCount, | |
| 7389 uint32_t stride ) const VULKAN_HPP_NOEXCEPT; | |
| 7390 | |
| 7391 //=== VK_AMD_buffer_marker === | |
| 7392 | |
| 7393 // wrapper function for command vkCmdWriteBufferMarkerAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteBufferMarkerAMD.html | |
| 7394 void writeBufferMarkerAMD( PipelineStageFlagBits pipelineStage, | |
| 7395 VULKAN_HPP_NAMESPACE::Buffer dstBuffer, | |
| 7396 DeviceSize dstOffset, | |
| 7397 uint32_t marker ) const VULKAN_HPP_NOEXCEPT; | |
| 7398 | |
| 7399 // wrapper function for command vkCmdWriteBufferMarker2AMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteBufferMarker2AMD.html | |
| 7400 void writeBufferMarker2AMD( PipelineStageFlags2 stage, | |
| 7401 VULKAN_HPP_NAMESPACE::Buffer dstBuffer, | |
| 7402 DeviceSize dstOffset, | |
| 7403 uint32_t marker ) const VULKAN_HPP_NOEXCEPT; | |
| 7404 | |
| 7405 //=== VK_NV_mesh_shader === | |
| 7406 | |
| 7407 // wrapper function for command vkCmdDrawMeshTasksNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksNV.html | |
| 7408 void drawMeshTasksNV( uint32_t taskCount, uint32_t firstTask ) const VULKAN_HPP_NOEXCEPT; | |
| 7409 | |
| 7410 // wrapper function for command vkCmdDrawMeshTasksIndirectNV, see | |
| 7411 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksIndirectNV.html | |
| 7412 void drawMeshTasksIndirectNV( VULKAN_HPP_NAMESPACE::Buffer buffer, DeviceSize offset, uint32_t drawCount, uint32_t stride ) const VULKAN_HPP_NOEXCEPT; | |
| 7413 | |
| 7414 // wrapper function for command vkCmdDrawMeshTasksIndirectCountNV, see | |
| 7415 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksIndirectCountNV.html | |
| 7416 void drawMeshTasksIndirectCountNV( VULKAN_HPP_NAMESPACE::Buffer buffer, | |
| 7417 DeviceSize offset, | |
| 7418 VULKAN_HPP_NAMESPACE::Buffer countBuffer, | |
| 7419 DeviceSize countBufferOffset, | |
| 7420 uint32_t maxDrawCount, | |
| 7421 uint32_t stride ) const VULKAN_HPP_NOEXCEPT; | |
| 7422 | |
| 7423 //=== VK_NV_scissor_exclusive === | |
| 7424 | |
| 7425 // wrapper function for command vkCmdSetExclusiveScissorEnableNV, see | |
| 7426 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetExclusiveScissorEnableNV.html | |
| 7427 void setExclusiveScissorEnableNV( uint32_t firstExclusiveScissor, ArrayProxy<const Bool32> const & exclusiveScissorEnables ) const VULKAN_HPP_NOEXCEPT; | |
| 7428 | |
| 7429 // wrapper function for command vkCmdSetExclusiveScissorNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetExclusiveScissorNV.html | |
| 7430 void setExclusiveScissorNV( uint32_t firstExclusiveScissor, ArrayProxy<const Rect2D> const & exclusiveScissors ) const VULKAN_HPP_NOEXCEPT; | |
| 7431 | |
| 7432 //=== VK_NV_device_diagnostic_checkpoints === | |
| 7433 | |
| 7434 // wrapper function for command vkCmdSetCheckpointNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCheckpointNV.html | |
| 7435 template <typename CheckpointMarkerType> | |
| 7436 void setCheckpointNV( CheckpointMarkerType const & checkpointMarker ) const VULKAN_HPP_NOEXCEPT; | |
| 7437 | |
| 7438 //=== VK_INTEL_performance_query === | |
| 7439 | |
| 7440 // wrapper function for command vkCmdSetPerformanceMarkerINTEL, see | |
| 7441 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPerformanceMarkerINTEL.html | |
| 7442 typename ResultValueType<void>::type setPerformanceMarkerINTEL( const PerformanceMarkerInfoINTEL & markerInfo ) const; | |
| 7443 | |
| 7444 // wrapper function for command vkCmdSetPerformanceStreamMarkerINTEL, see | |
| 7445 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPerformanceStreamMarkerINTEL.html | |
| 7446 typename ResultValueType<void>::type setPerformanceStreamMarkerINTEL( const PerformanceStreamMarkerInfoINTEL & markerInfo ) const; | |
| 7447 | |
| 7448 // wrapper function for command vkCmdSetPerformanceOverrideINTEL, see | |
| 7449 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPerformanceOverrideINTEL.html | |
| 7450 typename ResultValueType<void>::type setPerformanceOverrideINTEL( const PerformanceOverrideInfoINTEL & overrideInfo ) const; | |
| 7451 | |
| 7452 //=== VK_KHR_fragment_shading_rate === | |
| 7453 | |
| 7454 // wrapper function for command vkCmdSetFragmentShadingRateKHR, see | |
| 7455 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFragmentShadingRateKHR.html | |
| 7456 void setFragmentShadingRateKHR( const Extent2D & fragmentSize, const FragmentShadingRateCombinerOpKHR combinerOps[2] ) const VULKAN_HPP_NOEXCEPT; | |
| 7457 | |
| 7458 //=== VK_KHR_dynamic_rendering_local_read === | |
| 7459 | |
| 7460 // wrapper function for command vkCmdSetRenderingAttachmentLocationsKHR, see | |
| 7461 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingAttachmentLocationsKHR.html | |
| 7462 void setRenderingAttachmentLocationsKHR( const RenderingAttachmentLocationInfo & locationInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7463 | |
| 7464 // wrapper function for command vkCmdSetRenderingInputAttachmentIndicesKHR, see | |
| 7465 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingInputAttachmentIndicesKHR.html | |
| 7466 void setRenderingInputAttachmentIndicesKHR( const RenderingInputAttachmentIndexInfo & inputAttachmentIndexInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7467 | |
| 7468 //=== VK_EXT_line_rasterization === | |
| 7469 | |
| 7470 // wrapper function for command vkCmdSetLineStippleEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineStippleEXT.html | |
| 7471 void setLineStippleEXT( uint32_t lineStippleFactor, uint16_t lineStipplePattern ) const VULKAN_HPP_NOEXCEPT; | |
| 7472 | |
| 7473 //=== VK_EXT_extended_dynamic_state === | |
| 7474 | |
| 7475 // wrapper function for command vkCmdSetCullModeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCullModeEXT.html | |
| 7476 void setCullModeEXT( CullModeFlags cullMode VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const VULKAN_HPP_NOEXCEPT; | |
| 7477 | |
| 7478 // wrapper function for command vkCmdSetFrontFaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFrontFaceEXT.html | |
| 7479 void setFrontFaceEXT( FrontFace frontFace ) const VULKAN_HPP_NOEXCEPT; | |
| 7480 | |
| 7481 // wrapper function for command vkCmdSetPrimitiveTopologyEXT, see | |
| 7482 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPrimitiveTopologyEXT.html | |
| 7483 void setPrimitiveTopologyEXT( PrimitiveTopology primitiveTopology ) const VULKAN_HPP_NOEXCEPT; | |
| 7484 | |
| 7485 // wrapper function for command vkCmdSetViewportWithCountEXT, see | |
| 7486 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWithCountEXT.html | |
| 7487 void setViewportWithCountEXT( ArrayProxy<const Viewport> const & viewports ) const VULKAN_HPP_NOEXCEPT; | |
| 7488 | |
| 7489 // wrapper function for command vkCmdSetScissorWithCountEXT, see | |
| 7490 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetScissorWithCountEXT.html | |
| 7491 void setScissorWithCountEXT( ArrayProxy<const Rect2D> const & scissors ) const VULKAN_HPP_NOEXCEPT; | |
| 7492 | |
| 7493 // wrapper function for command vkCmdBindVertexBuffers2EXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindVertexBuffers2EXT.html | |
| 7494 void bindVertexBuffers2EXT( uint32_t firstBinding, | |
| 7495 ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers, | |
| 7496 ArrayProxy<const DeviceSize> const & offsets, | |
| 7497 ArrayProxy<const DeviceSize> const & sizes VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), | |
| 7498 ArrayProxy<const DeviceSize> const & strides VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const; | |
| 7499 | |
| 7500 // wrapper function for command vkCmdSetDepthTestEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthTestEnableEXT.html | |
| 7501 void setDepthTestEnableEXT( Bool32 depthTestEnable ) const VULKAN_HPP_NOEXCEPT; | |
| 7502 | |
| 7503 // wrapper function for command vkCmdSetDepthWriteEnableEXT, see | |
| 7504 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthWriteEnableEXT.html | |
| 7505 void setDepthWriteEnableEXT( Bool32 depthWriteEnable ) const VULKAN_HPP_NOEXCEPT; | |
| 7506 | |
| 7507 // wrapper function for command vkCmdSetDepthCompareOpEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthCompareOpEXT.html | |
| 7508 void setDepthCompareOpEXT( CompareOp depthCompareOp ) const VULKAN_HPP_NOEXCEPT; | |
| 7509 | |
| 7510 // wrapper function for command vkCmdSetDepthBoundsTestEnableEXT, see | |
| 7511 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBoundsTestEnableEXT.html | |
| 7512 void setDepthBoundsTestEnableEXT( Bool32 depthBoundsTestEnable ) const VULKAN_HPP_NOEXCEPT; | |
| 7513 | |
| 7514 // wrapper function for command vkCmdSetStencilTestEnableEXT, see | |
| 7515 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilTestEnableEXT.html | |
| 7516 void setStencilTestEnableEXT( Bool32 stencilTestEnable ) const VULKAN_HPP_NOEXCEPT; | |
| 7517 | |
| 7518 // wrapper function for command vkCmdSetStencilOpEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilOpEXT.html | |
| 7519 void | |
| 7520 setStencilOpEXT( StencilFaceFlags faceMask, StencilOp failOp, StencilOp passOp, StencilOp depthFailOp, CompareOp compareOp ) const VULKAN_HPP_NOEXCEPT; | |
| 7521 | |
| 7522 //=== VK_NV_device_generated_commands === | |
| 7523 | |
| 7524 // wrapper function for command vkCmdPreprocessGeneratedCommandsNV, see | |
| 7525 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPreprocessGeneratedCommandsNV.html | |
| 7526 void preprocessGeneratedCommandsNV( const GeneratedCommandsInfoNV & generatedCommandsInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7527 | |
| 7528 // wrapper function for command vkCmdExecuteGeneratedCommandsNV, see | |
| 7529 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdExecuteGeneratedCommandsNV.html | |
| 7530 void executeGeneratedCommandsNV( Bool32 isPreprocessed, const GeneratedCommandsInfoNV & generatedCommandsInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7531 | |
| 7532 // wrapper function for command vkCmdBindPipelineShaderGroupNV, see | |
| 7533 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindPipelineShaderGroupNV.html | |
| 7534 void bindPipelineShaderGroupNV( PipelineBindPoint pipelineBindPoint, | |
| 7535 VULKAN_HPP_NAMESPACE::Pipeline pipeline, | |
| 7536 uint32_t groupIndex ) const VULKAN_HPP_NOEXCEPT; | |
| 7537 | |
| 7538 //=== VK_EXT_depth_bias_control === | |
| 7539 | |
| 7540 // wrapper function for command vkCmdSetDepthBias2EXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBias2EXT.html | |
| 7541 void setDepthBias2EXT( const DepthBiasInfoEXT & depthBiasInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7542 | |
| 7543 //=== VK_KHR_video_encode_queue === | |
| 7544 | |
| 7545 // wrapper function for command vkCmdEncodeVideoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEncodeVideoKHR.html | |
| 7546 void encodeVideoKHR( const VideoEncodeInfoKHR & encodeInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7547 | |
| 7548 # if defined( VK_ENABLE_BETA_EXTENSIONS ) | |
| 7549 //=== VK_NV_cuda_kernel_launch === | |
| 7550 | |
| 7551 // wrapper function for command vkCmdCudaLaunchKernelNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCudaLaunchKernelNV.html | |
| 7552 void cudaLaunchKernelNV( const CudaLaunchInfoNV & launchInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7553 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ | |
| 7554 | |
| 7555 //=== VK_QCOM_tile_shading === | |
| 7556 | |
| 7557 // wrapper function for command vkCmdDispatchTileQCOM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchTileQCOM.html | |
| 7558 void dispatchTileQCOM( const DispatchTileInfoQCOM & dispatchTileInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7559 | |
| 7560 // wrapper function for command vkCmdBeginPerTileExecutionQCOM, see | |
| 7561 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginPerTileExecutionQCOM.html | |
| 7562 void beginPerTileExecutionQCOM( const PerTileBeginInfoQCOM & perTileBeginInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7563 | |
| 7564 // wrapper function for command vkCmdEndPerTileExecutionQCOM, see | |
| 7565 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndPerTileExecutionQCOM.html | |
| 7566 void endPerTileExecutionQCOM( const PerTileEndInfoQCOM & perTileEndInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7567 | |
| 7568 //=== VK_KHR_synchronization2 === | |
| 7569 | |
| 7570 // wrapper function for command vkCmdSetEvent2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetEvent2KHR.html | |
| 7571 void setEvent2KHR( VULKAN_HPP_NAMESPACE::Event event, const DependencyInfo & dependencyInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7572 | |
| 7573 // wrapper function for command vkCmdResetEvent2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResetEvent2KHR.html | |
| 7574 void resetEvent2KHR( VULKAN_HPP_NAMESPACE::Event event, PipelineStageFlags2 stageMask VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const VULKAN_HPP_NOEXCEPT; | |
| 7575 | |
| 7576 // wrapper function for command vkCmdWaitEvents2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWaitEvents2KHR.html | |
| 7577 void waitEvents2KHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const & events, ArrayProxy<const DependencyInfo> const & dependencyInfos ) const; | |
| 7578 | |
| 7579 // wrapper function for command vkCmdPipelineBarrier2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPipelineBarrier2KHR.html | |
| 7580 void pipelineBarrier2KHR( const DependencyInfo & dependencyInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7581 | |
| 7582 // wrapper function for command vkCmdWriteTimestamp2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteTimestamp2KHR.html | |
| 7583 void writeTimestamp2KHR( PipelineStageFlags2 stage, VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT; | |
| 7584 | |
| 7585 //=== VK_EXT_descriptor_buffer === | |
| 7586 | |
| 7587 // wrapper function for command vkCmdBindDescriptorBuffersEXT, see | |
| 7588 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorBuffersEXT.html | |
| 7589 void bindDescriptorBuffersEXT( ArrayProxy<const DescriptorBufferBindingInfoEXT> const & bindingInfos ) const VULKAN_HPP_NOEXCEPT; | |
| 7590 | |
| 7591 // wrapper function for command vkCmdSetDescriptorBufferOffsetsEXT, see | |
| 7592 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDescriptorBufferOffsetsEXT.html | |
| 7593 void setDescriptorBufferOffsetsEXT( PipelineBindPoint pipelineBindPoint, | |
| 7594 VULKAN_HPP_NAMESPACE::PipelineLayout layout, | |
| 7595 uint32_t firstSet, | |
| 7596 ArrayProxy<const uint32_t> const & bufferIndices, | |
| 7597 ArrayProxy<const DeviceSize> const & offsets ) const; | |
| 7598 | |
| 7599 // wrapper function for command vkCmdBindDescriptorBufferEmbeddedSamplersEXT, see | |
| 7600 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorBufferEmbeddedSamplersEXT.html | |
| 7601 void bindDescriptorBufferEmbeddedSamplersEXT( PipelineBindPoint pipelineBindPoint, | |
| 7602 VULKAN_HPP_NAMESPACE::PipelineLayout layout, | |
| 7603 uint32_t set ) const VULKAN_HPP_NOEXCEPT; | |
| 7604 | |
| 7605 //=== VK_NV_fragment_shading_rate_enums === | |
| 7606 | |
| 7607 // wrapper function for command vkCmdSetFragmentShadingRateEnumNV, see | |
| 7608 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFragmentShadingRateEnumNV.html | |
| 7609 void setFragmentShadingRateEnumNV( FragmentShadingRateNV shadingRate, const FragmentShadingRateCombinerOpKHR combinerOps[2] ) const VULKAN_HPP_NOEXCEPT; | |
| 7610 | |
| 7611 //=== VK_EXT_mesh_shader === | |
| 7612 | |
| 7613 // wrapper function for command vkCmdDrawMeshTasksEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksEXT.html | |
| 7614 void drawMeshTasksEXT( uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT; | |
| 7615 | |
| 7616 // wrapper function for command vkCmdDrawMeshTasksIndirectEXT, see | |
| 7617 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksIndirectEXT.html | |
| 7618 void drawMeshTasksIndirectEXT( VULKAN_HPP_NAMESPACE::Buffer buffer, DeviceSize offset, uint32_t drawCount, uint32_t stride ) const VULKAN_HPP_NOEXCEPT; | |
| 7619 | |
| 7620 // wrapper function for command vkCmdDrawMeshTasksIndirectCountEXT, see | |
| 7621 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksIndirectCountEXT.html | |
| 7622 void drawMeshTasksIndirectCountEXT( VULKAN_HPP_NAMESPACE::Buffer buffer, | |
| 7623 DeviceSize offset, | |
| 7624 VULKAN_HPP_NAMESPACE::Buffer countBuffer, | |
| 7625 DeviceSize countBufferOffset, | |
| 7626 uint32_t maxDrawCount, | |
| 7627 uint32_t stride ) const VULKAN_HPP_NOEXCEPT; | |
| 7628 | |
| 7629 //=== VK_KHR_copy_commands2 === | |
| 7630 | |
| 7631 // wrapper function for command vkCmdCopyBuffer2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBuffer2KHR.html | |
| 7632 void copyBuffer2KHR( const CopyBufferInfo2 & copyBufferInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7633 | |
| 7634 // wrapper function for command vkCmdCopyImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImage2KHR.html | |
| 7635 void copyImage2KHR( const CopyImageInfo2 & copyImageInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7636 | |
| 7637 // wrapper function for command vkCmdCopyBufferToImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBufferToImage2KHR.html | |
| 7638 void copyBufferToImage2KHR( const CopyBufferToImageInfo2 & copyBufferToImageInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7639 | |
| 7640 // wrapper function for command vkCmdCopyImageToBuffer2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImageToBuffer2KHR.html | |
| 7641 void copyImageToBuffer2KHR( const CopyImageToBufferInfo2 & copyImageToBufferInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7642 | |
| 7643 // wrapper function for command vkCmdBlitImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBlitImage2KHR.html | |
| 7644 void blitImage2KHR( const BlitImageInfo2 & blitImageInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7645 | |
| 7646 // wrapper function for command vkCmdResolveImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResolveImage2KHR.html | |
| 7647 void resolveImage2KHR( const ResolveImageInfo2 & resolveImageInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7648 | |
| 7649 //=== VK_EXT_vertex_input_dynamic_state === | |
| 7650 | |
| 7651 // wrapper function for command vkCmdSetVertexInputEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetVertexInputEXT.html | |
| 7652 void setVertexInputEXT( ArrayProxy<const VertexInputBindingDescription2EXT> const & vertexBindingDescriptions, | |
| 7653 ArrayProxy<const VertexInputAttributeDescription2EXT> const & vertexAttributeDescriptions ) const VULKAN_HPP_NOEXCEPT; | |
| 7654 | |
| 7655 //=== VK_HUAWEI_subpass_shading === | |
| 7656 | |
| 7657 // wrapper function for command vkCmdSubpassShadingHUAWEI, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSubpassShadingHUAWEI.html | |
| 7658 void subpassShadingHUAWEI() const VULKAN_HPP_NOEXCEPT; | |
| 7659 | |
| 7660 //=== VK_HUAWEI_invocation_mask === | |
| 7661 | |
| 7662 // wrapper function for command vkCmdBindInvocationMaskHUAWEI, see | |
| 7663 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindInvocationMaskHUAWEI.html | |
| 7664 void bindInvocationMaskHUAWEI( VULKAN_HPP_NAMESPACE::ImageView imageView, ImageLayout imageLayout ) const VULKAN_HPP_NOEXCEPT; | |
| 7665 | |
| 7666 //=== VK_EXT_extended_dynamic_state2 === | |
| 7667 | |
| 7668 // wrapper function for command vkCmdSetPatchControlPointsEXT, see | |
| 7669 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPatchControlPointsEXT.html | |
| 7670 void setPatchControlPointsEXT( uint32_t patchControlPoints ) const VULKAN_HPP_NOEXCEPT; | |
| 7671 | |
| 7672 // wrapper function for command vkCmdSetRasterizerDiscardEnableEXT, see | |
| 7673 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRasterizerDiscardEnableEXT.html | |
| 7674 void setRasterizerDiscardEnableEXT( Bool32 rasterizerDiscardEnable ) const VULKAN_HPP_NOEXCEPT; | |
| 7675 | |
| 7676 // wrapper function for command vkCmdSetDepthBiasEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBiasEnableEXT.html | |
| 7677 void setDepthBiasEnableEXT( Bool32 depthBiasEnable ) const VULKAN_HPP_NOEXCEPT; | |
| 7678 | |
| 7679 // wrapper function for command vkCmdSetLogicOpEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLogicOpEXT.html | |
| 7680 void setLogicOpEXT( LogicOp logicOp ) const VULKAN_HPP_NOEXCEPT; | |
| 7681 | |
| 7682 // wrapper function for command vkCmdSetPrimitiveRestartEnableEXT, see | |
| 7683 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPrimitiveRestartEnableEXT.html | |
| 7684 void setPrimitiveRestartEnableEXT( Bool32 primitiveRestartEnable ) const VULKAN_HPP_NOEXCEPT; | |
| 7685 | |
| 7686 //=== VK_EXT_color_write_enable === | |
| 7687 | |
| 7688 // wrapper function for command vkCmdSetColorWriteEnableEXT, see | |
| 7689 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorWriteEnableEXT.html | |
| 7690 void setColorWriteEnableEXT( ArrayProxy<const Bool32> const & colorWriteEnables ) const VULKAN_HPP_NOEXCEPT; | |
| 7691 | |
| 7692 //=== VK_KHR_ray_tracing_maintenance1 === | |
| 7693 | |
| 7694 // wrapper function for command vkCmdTraceRaysIndirect2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdTraceRaysIndirect2KHR.html | |
| 7695 void traceRaysIndirect2KHR( DeviceAddress indirectDeviceAddress ) const VULKAN_HPP_NOEXCEPT; | |
| 7696 | |
| 7697 //=== VK_EXT_multi_draw === | |
| 7698 | |
| 7699 // wrapper function for command vkCmdDrawMultiEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMultiEXT.html | |
| 7700 void | |
| 7701 drawMultiEXT( StridedArrayProxy<const MultiDrawInfoEXT> const & vertexInfo, uint32_t instanceCount, uint32_t firstInstance ) const VULKAN_HPP_NOEXCEPT; | |
| 7702 | |
| 7703 // wrapper function for command vkCmdDrawMultiIndexedEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMultiIndexedEXT.html | |
| 7704 void drawMultiIndexedEXT( StridedArrayProxy<const MultiDrawIndexedInfoEXT> const & indexInfo, | |
| 7705 uint32_t instanceCount, | |
| 7706 uint32_t firstInstance, | |
| 7707 Optional<const int32_t> vertexOffset VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const VULKAN_HPP_NOEXCEPT; | |
| 7708 | |
| 7709 //=== VK_EXT_opacity_micromap === | |
| 7710 | |
| 7711 // wrapper function for command vkCmdBuildMicromapsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildMicromapsEXT.html | |
| 7712 void buildMicromapsEXT( ArrayProxy<const MicromapBuildInfoEXT> const & infos ) const VULKAN_HPP_NOEXCEPT; | |
| 7713 | |
| 7714 // wrapper function for command vkCmdCopyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMicromapEXT.html | |
| 7715 void copyMicromapEXT( const CopyMicromapInfoEXT & info ) const VULKAN_HPP_NOEXCEPT; | |
| 7716 | |
| 7717 // wrapper function for command vkCmdCopyMicromapToMemoryEXT, see | |
| 7718 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMicromapToMemoryEXT.html | |
| 7719 void copyMicromapToMemoryEXT( const CopyMicromapToMemoryInfoEXT & info ) const VULKAN_HPP_NOEXCEPT; | |
| 7720 | |
| 7721 // wrapper function for command vkCmdCopyMemoryToMicromapEXT, see | |
| 7722 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToMicromapEXT.html | |
| 7723 void copyMemoryToMicromapEXT( const CopyMemoryToMicromapInfoEXT & info ) const VULKAN_HPP_NOEXCEPT; | |
| 7724 | |
| 7725 // wrapper function for command vkCmdWriteMicromapsPropertiesEXT, see | |
| 7726 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteMicromapsPropertiesEXT.html | |
| 7727 void writeMicromapsPropertiesEXT( ArrayProxy<const VULKAN_HPP_NAMESPACE::MicromapEXT> const & micromaps, | |
| 7728 QueryType queryType, | |
| 7729 VULKAN_HPP_NAMESPACE::QueryPool queryPool, | |
| 7730 uint32_t firstQuery ) const VULKAN_HPP_NOEXCEPT; | |
| 7731 | |
| 7732 //=== VK_HUAWEI_cluster_culling_shader === | |
| 7733 | |
| 7734 // wrapper function for command vkCmdDrawClusterHUAWEI, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawClusterHUAWEI.html | |
| 7735 void drawClusterHUAWEI( uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT; | |
| 7736 | |
| 7737 // wrapper function for command vkCmdDrawClusterIndirectHUAWEI, see | |
| 7738 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawClusterIndirectHUAWEI.html | |
| 7739 void drawClusterIndirectHUAWEI( VULKAN_HPP_NAMESPACE::Buffer buffer, DeviceSize offset ) const VULKAN_HPP_NOEXCEPT; | |
| 7740 | |
| 7741 //=== VK_NV_copy_memory_indirect === | |
| 7742 | |
| 7743 // wrapper function for command vkCmdCopyMemoryIndirectNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryIndirectNV.html | |
| 7744 void copyMemoryIndirectNV( DeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride ) const VULKAN_HPP_NOEXCEPT; | |
| 7745 | |
| 7746 // wrapper function for command vkCmdCopyMemoryToImageIndirectNV, see | |
| 7747 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToImageIndirectNV.html | |
| 7748 void copyMemoryToImageIndirectNV( DeviceAddress copyBufferAddress, | |
| 7749 uint32_t stride, | |
| 7750 VULKAN_HPP_NAMESPACE::Image dstImage, | |
| 7751 ImageLayout dstImageLayout, | |
| 7752 ArrayProxy<const ImageSubresourceLayers> const & imageSubresources ) const VULKAN_HPP_NOEXCEPT; | |
| 7753 | |
| 7754 //=== VK_NV_memory_decompression === | |
| 7755 | |
| 7756 // wrapper function for command vkCmdDecompressMemoryNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecompressMemoryNV.html | |
| 7757 void decompressMemoryNV( ArrayProxy<const DecompressMemoryRegionNV> const & decompressMemoryRegions ) const VULKAN_HPP_NOEXCEPT; | |
| 7758 | |
| 7759 // wrapper function for command vkCmdDecompressMemoryIndirectCountNV, see | |
| 7760 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecompressMemoryIndirectCountNV.html | |
| 7761 void decompressMemoryIndirectCountNV( DeviceAddress indirectCommandsAddress, | |
| 7762 DeviceAddress indirectCommandsCountAddress, | |
| 7763 uint32_t stride ) const VULKAN_HPP_NOEXCEPT; | |
| 7764 | |
| 7765 //=== VK_NV_device_generated_commands_compute === | |
| 7766 | |
| 7767 // wrapper function for command vkCmdUpdatePipelineIndirectBufferNV, see | |
| 7768 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdUpdatePipelineIndirectBufferNV.html | |
| 7769 void updatePipelineIndirectBufferNV( PipelineBindPoint pipelineBindPoint, VULKAN_HPP_NAMESPACE::Pipeline pipeline ) const VULKAN_HPP_NOEXCEPT; | |
| 7770 | |
| 7771 //=== VK_EXT_extended_dynamic_state3 === | |
| 7772 | |
| 7773 // wrapper function for command vkCmdSetDepthClampEnableEXT, see | |
| 7774 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthClampEnableEXT.html | |
| 7775 void setDepthClampEnableEXT( Bool32 depthClampEnable ) const VULKAN_HPP_NOEXCEPT; | |
| 7776 | |
| 7777 // wrapper function for command vkCmdSetPolygonModeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPolygonModeEXT.html | |
| 7778 void setPolygonModeEXT( PolygonMode polygonMode ) const VULKAN_HPP_NOEXCEPT; | |
| 7779 | |
| 7780 // wrapper function for command vkCmdSetRasterizationSamplesEXT, see | |
| 7781 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRasterizationSamplesEXT.html | |
| 7782 void setRasterizationSamplesEXT( SampleCountFlagBits rasterizationSamples ) const VULKAN_HPP_NOEXCEPT; | |
| 7783 | |
| 7784 // wrapper function for command vkCmdSetSampleMaskEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetSampleMaskEXT.html | |
| 7785 void setSampleMaskEXT( SampleCountFlagBits samples, ArrayProxy<const SampleMask> const & sampleMask VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const; | |
| 7786 | |
| 7787 // wrapper function for command vkCmdSetAlphaToCoverageEnableEXT, see | |
| 7788 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetAlphaToCoverageEnableEXT.html | |
| 7789 void setAlphaToCoverageEnableEXT( Bool32 alphaToCoverageEnable ) const VULKAN_HPP_NOEXCEPT; | |
| 7790 | |
| 7791 // wrapper function for command vkCmdSetAlphaToOneEnableEXT, see | |
| 7792 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetAlphaToOneEnableEXT.html | |
| 7793 void setAlphaToOneEnableEXT( Bool32 alphaToOneEnable ) const VULKAN_HPP_NOEXCEPT; | |
| 7794 | |
| 7795 // wrapper function for command vkCmdSetLogicOpEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLogicOpEnableEXT.html | |
| 7796 void setLogicOpEnableEXT( Bool32 logicOpEnable ) const VULKAN_HPP_NOEXCEPT; | |
| 7797 | |
| 7798 // wrapper function for command vkCmdSetColorBlendEnableEXT, see | |
| 7799 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorBlendEnableEXT.html | |
| 7800 void setColorBlendEnableEXT( uint32_t firstAttachment, ArrayProxy<const Bool32> const & colorBlendEnables ) const VULKAN_HPP_NOEXCEPT; | |
| 7801 | |
| 7802 // wrapper function for command vkCmdSetColorBlendEquationEXT, see | |
| 7803 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorBlendEquationEXT.html | |
| 7804 void setColorBlendEquationEXT( uint32_t firstAttachment, ArrayProxy<const ColorBlendEquationEXT> const & colorBlendEquations ) const VULKAN_HPP_NOEXCEPT; | |
| 7805 | |
| 7806 // wrapper function for command vkCmdSetColorWriteMaskEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorWriteMaskEXT.html | |
| 7807 void setColorWriteMaskEXT( uint32_t firstAttachment, ArrayProxy<const ColorComponentFlags> const & colorWriteMasks ) const VULKAN_HPP_NOEXCEPT; | |
| 7808 | |
| 7809 // wrapper function for command vkCmdSetTessellationDomainOriginEXT, see | |
| 7810 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetTessellationDomainOriginEXT.html | |
| 7811 void setTessellationDomainOriginEXT( TessellationDomainOrigin domainOrigin ) const VULKAN_HPP_NOEXCEPT; | |
| 7812 | |
| 7813 // wrapper function for command vkCmdSetRasterizationStreamEXT, see | |
| 7814 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRasterizationStreamEXT.html | |
| 7815 void setRasterizationStreamEXT( uint32_t rasterizationStream ) const VULKAN_HPP_NOEXCEPT; | |
| 7816 | |
| 7817 // wrapper function for command vkCmdSetConservativeRasterizationModeEXT, see | |
| 7818 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetConservativeRasterizationModeEXT.html | |
| 7819 void setConservativeRasterizationModeEXT( ConservativeRasterizationModeEXT conservativeRasterizationMode ) const VULKAN_HPP_NOEXCEPT; | |
| 7820 | |
| 7821 // wrapper function for command vkCmdSetExtraPrimitiveOverestimationSizeEXT, see | |
| 7822 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetExtraPrimitiveOverestimationSizeEXT.html | |
| 7823 void setExtraPrimitiveOverestimationSizeEXT( float extraPrimitiveOverestimationSize ) const VULKAN_HPP_NOEXCEPT; | |
| 7824 | |
| 7825 // wrapper function for command vkCmdSetDepthClipEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthClipEnableEXT.html | |
| 7826 void setDepthClipEnableEXT( Bool32 depthClipEnable ) const VULKAN_HPP_NOEXCEPT; | |
| 7827 | |
| 7828 // wrapper function for command vkCmdSetSampleLocationsEnableEXT, see | |
| 7829 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetSampleLocationsEnableEXT.html | |
| 7830 void setSampleLocationsEnableEXT( Bool32 sampleLocationsEnable ) const VULKAN_HPP_NOEXCEPT; | |
| 7831 | |
| 7832 // wrapper function for command vkCmdSetColorBlendAdvancedEXT, see | |
| 7833 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorBlendAdvancedEXT.html | |
| 7834 void setColorBlendAdvancedEXT( uint32_t firstAttachment, ArrayProxy<const ColorBlendAdvancedEXT> const & colorBlendAdvanced ) const VULKAN_HPP_NOEXCEPT; | |
| 7835 | |
| 7836 // wrapper function for command vkCmdSetProvokingVertexModeEXT, see | |
| 7837 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetProvokingVertexModeEXT.html | |
| 7838 void setProvokingVertexModeEXT( ProvokingVertexModeEXT provokingVertexMode ) const VULKAN_HPP_NOEXCEPT; | |
| 7839 | |
| 7840 // wrapper function for command vkCmdSetLineRasterizationModeEXT, see | |
| 7841 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineRasterizationModeEXT.html | |
| 7842 void setLineRasterizationModeEXT( LineRasterizationModeEXT lineRasterizationMode ) const VULKAN_HPP_NOEXCEPT; | |
| 7843 | |
| 7844 // wrapper function for command vkCmdSetLineStippleEnableEXT, see | |
| 7845 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineStippleEnableEXT.html | |
| 7846 void setLineStippleEnableEXT( Bool32 stippledLineEnable ) const VULKAN_HPP_NOEXCEPT; | |
| 7847 | |
| 7848 // wrapper function for command vkCmdSetDepthClipNegativeOneToOneEXT, see | |
| 7849 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthClipNegativeOneToOneEXT.html | |
| 7850 void setDepthClipNegativeOneToOneEXT( Bool32 negativeOneToOne ) const VULKAN_HPP_NOEXCEPT; | |
| 7851 | |
| 7852 // wrapper function for command vkCmdSetViewportWScalingEnableNV, see | |
| 7853 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWScalingEnableNV.html | |
| 7854 void setViewportWScalingEnableNV( Bool32 viewportWScalingEnable ) const VULKAN_HPP_NOEXCEPT; | |
| 7855 | |
| 7856 // wrapper function for command vkCmdSetViewportSwizzleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportSwizzleNV.html | |
| 7857 void setViewportSwizzleNV( uint32_t firstViewport, ArrayProxy<const ViewportSwizzleNV> const & viewportSwizzles ) const VULKAN_HPP_NOEXCEPT; | |
| 7858 | |
| 7859 // wrapper function for command vkCmdSetCoverageToColorEnableNV, see | |
| 7860 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageToColorEnableNV.html | |
| 7861 void setCoverageToColorEnableNV( Bool32 coverageToColorEnable ) const VULKAN_HPP_NOEXCEPT; | |
| 7862 | |
| 7863 // wrapper function for command vkCmdSetCoverageToColorLocationNV, see | |
| 7864 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageToColorLocationNV.html | |
| 7865 void setCoverageToColorLocationNV( uint32_t coverageToColorLocation ) const VULKAN_HPP_NOEXCEPT; | |
| 7866 | |
| 7867 // wrapper function for command vkCmdSetCoverageModulationModeNV, see | |
| 7868 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageModulationModeNV.html | |
| 7869 void setCoverageModulationModeNV( CoverageModulationModeNV coverageModulationMode ) const VULKAN_HPP_NOEXCEPT; | |
| 7870 | |
| 7871 // wrapper function for command vkCmdSetCoverageModulationTableEnableNV, see | |
| 7872 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageModulationTableEnableNV.html | |
| 7873 void setCoverageModulationTableEnableNV( Bool32 coverageModulationTableEnable ) const VULKAN_HPP_NOEXCEPT; | |
| 7874 | |
| 7875 // wrapper function for command vkCmdSetCoverageModulationTableNV, see | |
| 7876 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageModulationTableNV.html | |
| 7877 void setCoverageModulationTableNV( ArrayProxy<const float> const & coverageModulationTable ) const VULKAN_HPP_NOEXCEPT; | |
| 7878 | |
| 7879 // wrapper function for command vkCmdSetShadingRateImageEnableNV, see | |
| 7880 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetShadingRateImageEnableNV.html | |
| 7881 void setShadingRateImageEnableNV( Bool32 shadingRateImageEnable ) const VULKAN_HPP_NOEXCEPT; | |
| 7882 | |
| 7883 // wrapper function for command vkCmdSetRepresentativeFragmentTestEnableNV, see | |
| 7884 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRepresentativeFragmentTestEnableNV.html | |
| 7885 void setRepresentativeFragmentTestEnableNV( Bool32 representativeFragmentTestEnable ) const VULKAN_HPP_NOEXCEPT; | |
| 7886 | |
| 7887 // wrapper function for command vkCmdSetCoverageReductionModeNV, see | |
| 7888 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageReductionModeNV.html | |
| 7889 void setCoverageReductionModeNV( CoverageReductionModeNV coverageReductionMode ) const VULKAN_HPP_NOEXCEPT; | |
| 7890 | |
| 7891 //=== VK_ARM_tensors === | |
| 7892 | |
| 7893 // wrapper function for command vkCmdCopyTensorARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyTensorARM.html | |
| 7894 void copyTensorARM( const CopyTensorInfoARM & copyTensorInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7895 | |
| 7896 //=== VK_NV_optical_flow === | |
| 7897 | |
| 7898 // wrapper function for command vkCmdOpticalFlowExecuteNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdOpticalFlowExecuteNV.html | |
| 7899 void opticalFlowExecuteNV( VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session, const OpticalFlowExecuteInfoNV & executeInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7900 | |
| 7901 //=== VK_KHR_maintenance5 === | |
| 7902 | |
| 7903 // wrapper function for command vkCmdBindIndexBuffer2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindIndexBuffer2KHR.html | |
| 7904 void bindIndexBuffer2KHR( VULKAN_HPP_NAMESPACE::Buffer buffer, DeviceSize offset, DeviceSize size, IndexType indexType ) const VULKAN_HPP_NOEXCEPT; | |
| 7905 | |
| 7906 //=== VK_EXT_shader_object === | |
| 7907 | |
| 7908 // wrapper function for command vkCmdBindShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindShadersEXT.html | |
| 7909 void bindShadersEXT( ArrayProxy<const ShaderStageFlagBits> const & stages, ArrayProxy<const VULKAN_HPP_NAMESPACE::ShaderEXT> const & shaders ) const; | |
| 7910 | |
| 7911 // wrapper function for command vkCmdSetDepthClampRangeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthClampRangeEXT.html | |
| 7912 void setDepthClampRangeEXT( DepthClampModeEXT depthClampMode, | |
| 7913 Optional<const DepthClampRangeEXT> depthClampRange VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const VULKAN_HPP_NOEXCEPT; | |
| 7914 | |
| 7915 //=== VK_NV_cooperative_vector === | |
| 7916 | |
| 7917 // wrapper function for command vkCmdConvertCooperativeVectorMatrixNV, see | |
| 7918 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdConvertCooperativeVectorMatrixNV.html | |
| 7919 void convertCooperativeVectorMatrixNV( ArrayProxy<const ConvertCooperativeVectorMatrixInfoNV> const & infos ) const VULKAN_HPP_NOEXCEPT; | |
| 7920 | |
| 7921 //=== VK_ARM_data_graph === | |
| 7922 | |
| 7923 // wrapper function for command vkCmdDispatchDataGraphARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchDataGraphARM.html | |
| 7924 void dispatchDataGraphARM( VULKAN_HPP_NAMESPACE::DataGraphPipelineSessionARM session, | |
| 7925 Optional<const DataGraphPipelineDispatchInfoARM> info VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const VULKAN_HPP_NOEXCEPT; | |
| 7926 | |
| 7927 //=== VK_EXT_attachment_feedback_loop_dynamic_state === | |
| 7928 | |
| 7929 // wrapper function for command vkCmdSetAttachmentFeedbackLoopEnableEXT, see | |
| 7930 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetAttachmentFeedbackLoopEnableEXT.html | |
| 7931 void setAttachmentFeedbackLoopEnableEXT( ImageAspectFlags aspectMask VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const VULKAN_HPP_NOEXCEPT; | |
| 7932 | |
| 7933 //=== VK_KHR_line_rasterization === | |
| 7934 | |
| 7935 // wrapper function for command vkCmdSetLineStippleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineStippleKHR.html | |
| 7936 void setLineStippleKHR( uint32_t lineStippleFactor, uint16_t lineStipplePattern ) const VULKAN_HPP_NOEXCEPT; | |
| 7937 | |
| 7938 //=== VK_KHR_maintenance6 === | |
| 7939 | |
| 7940 // wrapper function for command vkCmdBindDescriptorSets2KHR, see | |
| 7941 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorSets2KHR.html | |
| 7942 void bindDescriptorSets2KHR( const BindDescriptorSetsInfo & bindDescriptorSetsInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7943 | |
| 7944 // wrapper function for command vkCmdPushConstants2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushConstants2KHR.html | |
| 7945 void pushConstants2KHR( const PushConstantsInfo & pushConstantsInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7946 | |
| 7947 // wrapper function for command vkCmdPushDescriptorSet2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSet2KHR.html | |
| 7948 void pushDescriptorSet2KHR( const PushDescriptorSetInfo & pushDescriptorSetInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7949 | |
| 7950 // wrapper function for command vkCmdPushDescriptorSetWithTemplate2KHR, see | |
| 7951 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplate2KHR.html | |
| 7952 void pushDescriptorSetWithTemplate2KHR( const PushDescriptorSetWithTemplateInfo & pushDescriptorSetWithTemplateInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7953 | |
| 7954 // wrapper function for command vkCmdSetDescriptorBufferOffsets2EXT, see | |
| 7955 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDescriptorBufferOffsets2EXT.html | |
| 7956 void setDescriptorBufferOffsets2EXT( const SetDescriptorBufferOffsetsInfoEXT & setDescriptorBufferOffsetsInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7957 | |
| 7958 // wrapper function for command vkCmdBindDescriptorBufferEmbeddedSamplers2EXT, see | |
| 7959 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorBufferEmbeddedSamplers2EXT.html | |
| 7960 void bindDescriptorBufferEmbeddedSamplers2EXT( const BindDescriptorBufferEmbeddedSamplersInfoEXT & bindDescriptorBufferEmbeddedSamplersInfo ) const | |
| 7961 VULKAN_HPP_NOEXCEPT; | |
| 7962 | |
| 7963 //=== VK_QCOM_tile_memory_heap === | |
| 7964 | |
| 7965 // wrapper function for command vkCmdBindTileMemoryQCOM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindTileMemoryQCOM.html | |
| 7966 void bindTileMemoryQCOM( Optional<const TileMemoryBindInfoQCOM> tileMemoryBindInfo VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const VULKAN_HPP_NOEXCEPT; | |
| 7967 | |
| 7968 //=== VK_KHR_copy_memory_indirect === | |
| 7969 | |
| 7970 // wrapper function for command vkCmdCopyMemoryIndirectKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryIndirectKHR.html | |
| 7971 void copyMemoryIndirectKHR( const CopyMemoryIndirectInfoKHR & copyMemoryIndirectInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7972 | |
| 7973 // wrapper function for command vkCmdCopyMemoryToImageIndirectKHR, see | |
| 7974 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToImageIndirectKHR.html | |
| 7975 void copyMemoryToImageIndirectKHR( const CopyMemoryToImageIndirectInfoKHR & copyMemoryToImageIndirectInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 7976 | |
| 7977 //=== VK_EXT_memory_decompression === | |
| 7978 | |
| 7979 // wrapper function for command vkCmdDecompressMemoryEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecompressMemoryEXT.html | |
| 7980 void decompressMemoryEXT( const DecompressMemoryInfoEXT & decompressMemoryInfoEXT ) const VULKAN_HPP_NOEXCEPT; | |
| 7981 | |
| 7982 // wrapper function for command vkCmdDecompressMemoryIndirectCountEXT, see | |
| 7983 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecompressMemoryIndirectCountEXT.html | |
| 7984 void decompressMemoryIndirectCountEXT( MemoryDecompressionMethodFlagsEXT decompressionMethod, | |
| 7985 DeviceAddress indirectCommandsAddress, | |
| 7986 DeviceAddress indirectCommandsCountAddress, | |
| 7987 uint32_t maxDecompressionCount, | |
| 7988 uint32_t stride ) const VULKAN_HPP_NOEXCEPT; | |
| 7989 | |
| 7990 //=== VK_NV_cluster_acceleration_structure === | |
| 7991 | |
| 7992 // wrapper function for command vkCmdBuildClusterAccelerationStructureIndirectNV, see | |
| 7993 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildClusterAccelerationStructureIndirectNV.html | |
| 7994 void buildClusterAccelerationStructureIndirectNV( const ClusterAccelerationStructureCommandsInfoNV & commandInfos ) const VULKAN_HPP_NOEXCEPT; | |
| 7995 | |
| 7996 //=== VK_NV_partitioned_acceleration_structure === | |
| 7997 | |
| 7998 // wrapper function for command vkCmdBuildPartitionedAccelerationStructuresNV, see | |
| 7999 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildPartitionedAccelerationStructuresNV.html | |
| 8000 void buildPartitionedAccelerationStructuresNV( const BuildPartitionedAccelerationStructureInfoNV & buildInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 8001 | |
| 8002 //=== VK_EXT_device_generated_commands === | |
| 8003 | |
| 8004 // wrapper function for command vkCmdPreprocessGeneratedCommandsEXT, see | |
| 8005 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPreprocessGeneratedCommandsEXT.html | |
| 8006 void preprocessGeneratedCommandsEXT( const GeneratedCommandsInfoEXT & generatedCommandsInfo, | |
| 8007 VULKAN_HPP_NAMESPACE::CommandBuffer stateCommandBuffer ) const VULKAN_HPP_NOEXCEPT; | |
| 8008 | |
| 8009 // wrapper function for command vkCmdExecuteGeneratedCommandsEXT, see | |
| 8010 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdExecuteGeneratedCommandsEXT.html | |
| 8011 void executeGeneratedCommandsEXT( Bool32 isPreprocessed, const GeneratedCommandsInfoEXT & generatedCommandsInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 8012 | |
| 8013 //=== VK_EXT_fragment_density_map_offset === | |
| 8014 | |
| 8015 // wrapper function for command vkCmdEndRendering2EXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRendering2EXT.html | |
| 8016 void endRendering2EXT( Optional<const RenderingEndInfoKHR> renderingEndInfo VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const VULKAN_HPP_NOEXCEPT; | |
| 8017 | |
| 8018 //=== VK_EXT_custom_resolve === | |
| 8019 | |
| 8020 // wrapper function for command vkCmdBeginCustomResolveEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginCustomResolveEXT.html | |
| 8021 void beginCustomResolveEXT( Optional<const BeginCustomResolveInfoEXT> beginCustomResolveInfo VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const | |
| 8022 VULKAN_HPP_NOEXCEPT; | |
| 8023 | |
| 8024 //=== VK_KHR_maintenance10 === | |
| 8025 | |
| 8026 // wrapper function for command vkCmdEndRendering2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRendering2KHR.html | |
| 8027 void endRendering2KHR( Optional<const RenderingEndInfoKHR> renderingEndInfo VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const VULKAN_HPP_NOEXCEPT; | |
| 8028 | |
| 8029 private: | |
| 8030 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 8031 VULKAN_HPP_NAMESPACE::CommandPool m_commandPool = {}; | |
| 8032 VULKAN_HPP_NAMESPACE::CommandBuffer m_commandBuffer = {}; | |
| 8033 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 8034 }; | |
| 8035 | |
| 8036 template <> | |
| 8037 struct isVulkanRAIIHandleType<CommandBuffer> | |
| 8038 { | |
| 8039 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 8040 }; | |
| 8041 | |
| 8042 class CommandBuffers : public std::vector<CommandBuffer> | |
| 8043 { | |
| 8044 public: | |
| 8045 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 8046 CommandBuffers( Device const & device, CommandBufferAllocateInfo const & allocateInfo ) | |
| 8047 { | |
| 8048 *this = device.allocateCommandBuffers( allocateInfo ); | |
| 8049 } | |
| 8050 # endif | |
| 8051 | |
| 8052 CommandBuffers( std::nullptr_t ) {} | |
| 8053 | |
| 8054 CommandBuffers() = delete; | |
| 8055 CommandBuffers( CommandBuffers const & ) = delete; | |
| 8056 CommandBuffers( CommandBuffers && rhs ) = default; | |
| 8057 CommandBuffers & operator=( CommandBuffers const & ) = delete; | |
| 8058 CommandBuffers & operator=( CommandBuffers && rhs ) = default; | |
| 8059 | |
| 8060 private: | |
| 8061 CommandBuffers( std::vector<CommandBuffer> && rhs ) | |
| 8062 { | |
| 8063 std::swap( *this, rhs ); | |
| 8064 } | |
| 8065 }; | |
| 8066 | |
| 8067 // wrapper class for handle VkCuFunctionNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCuFunctionNVX.html | |
| 8068 class CuFunctionNVX | |
| 8069 { | |
| 8070 public: | |
| 8071 using CType = VkCuFunctionNVX; | |
| 8072 using CppType = VULKAN_HPP_NAMESPACE::CuFunctionNVX; | |
| 8073 | |
| 8074 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eCuFunctionNVX; | |
| 8075 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eCuFunctionNVX; | |
| 8076 | |
| 8077 public: | |
| 8078 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 8079 CuFunctionNVX( Device const & device, CuFunctionCreateInfoNVX const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 8080 { | |
| 8081 *this = device.createCuFunctionNVX( createInfo, allocator ); | |
| 8082 } | |
| 8083 # endif | |
| 8084 | |
| 8085 CuFunctionNVX( Device const & device, VkCuFunctionNVX function, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 8086 : m_device( device ) | |
| 8087 , m_cuFunctionNVX( function ) | |
| 8088 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 8089 , m_dispatcher( device.getDispatcher() ) | |
| 8090 { | |
| 8091 } | |
| 8092 | |
| 8093 CuFunctionNVX( std::nullptr_t ) {} | |
| 8094 | |
| 8095 ~CuFunctionNVX() | |
| 8096 { | |
| 8097 clear(); | |
| 8098 } | |
| 8099 | |
| 8100 CuFunctionNVX() = delete; | |
| 8101 CuFunctionNVX( CuFunctionNVX const & ) = delete; | |
| 8102 | |
| 8103 CuFunctionNVX( CuFunctionNVX && rhs ) VULKAN_HPP_NOEXCEPT | |
| 8104 : m_device( exchange( rhs.m_device, {} ) ) | |
| 8105 , m_cuFunctionNVX( exchange( rhs.m_cuFunctionNVX, {} ) ) | |
| 8106 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 8107 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 8108 { | |
| 8109 } | |
| 8110 | |
| 8111 CuFunctionNVX & operator=( CuFunctionNVX const & ) = delete; | |
| 8112 | |
| 8113 CuFunctionNVX & operator=( CuFunctionNVX && rhs ) VULKAN_HPP_NOEXCEPT | |
| 8114 { | |
| 8115 if ( this != &rhs ) | |
| 8116 { | |
| 8117 std::swap( m_device, rhs.m_device ); | |
| 8118 std::swap( m_cuFunctionNVX, rhs.m_cuFunctionNVX ); | |
| 8119 std::swap( m_allocator, rhs.m_allocator ); | |
| 8120 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 8121 } | |
| 8122 return *this; | |
| 8123 } | |
| 8124 | |
| 8125 VULKAN_HPP_NAMESPACE::CuFunctionNVX const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 8126 { | |
| 8127 return m_cuFunctionNVX; | |
| 8128 } | |
| 8129 | |
| 8130 VULKAN_HPP_NAMESPACE::CuFunctionNVX const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 8131 { | |
| 8132 return std::move( m_cuFunctionNVX ); | |
| 8133 } | |
| 8134 | |
| 8135 operator VULKAN_HPP_NAMESPACE::CuFunctionNVX() const VULKAN_HPP_NOEXCEPT | |
| 8136 { | |
| 8137 return m_cuFunctionNVX; | |
| 8138 } | |
| 8139 | |
| 8140 void clear() VULKAN_HPP_NOEXCEPT | |
| 8141 { | |
| 8142 if ( m_cuFunctionNVX ) | |
| 8143 { | |
| 8144 getDispatcher()->vkDestroyCuFunctionNVX( static_cast<VkDevice>( m_device ), | |
| 8145 static_cast<VkCuFunctionNVX>( m_cuFunctionNVX ), | |
| 8146 reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 8147 } | |
| 8148 m_device = nullptr; | |
| 8149 m_cuFunctionNVX = nullptr; | |
| 8150 m_allocator = nullptr; | |
| 8151 m_dispatcher = nullptr; | |
| 8152 } | |
| 8153 | |
| 8154 VULKAN_HPP_NAMESPACE::CuFunctionNVX release() | |
| 8155 { | |
| 8156 m_device = nullptr; | |
| 8157 m_allocator = nullptr; | |
| 8158 m_dispatcher = nullptr; | |
| 8159 return exchange( m_cuFunctionNVX, nullptr ); | |
| 8160 } | |
| 8161 | |
| 8162 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 8163 { | |
| 8164 return m_device; | |
| 8165 } | |
| 8166 | |
| 8167 detail::DeviceDispatcher const * getDispatcher() const | |
| 8168 { | |
| 8169 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 8170 return m_dispatcher; | |
| 8171 } | |
| 8172 | |
| 8173 void swap( CuFunctionNVX & rhs ) VULKAN_HPP_NOEXCEPT | |
| 8174 { | |
| 8175 std::swap( m_device, rhs.m_device ); | |
| 8176 std::swap( m_cuFunctionNVX, rhs.m_cuFunctionNVX ); | |
| 8177 std::swap( m_allocator, rhs.m_allocator ); | |
| 8178 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 8179 } | |
| 8180 | |
| 8181 private: | |
| 8182 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 8183 VULKAN_HPP_NAMESPACE::CuFunctionNVX m_cuFunctionNVX = {}; | |
| 8184 const AllocationCallbacks * m_allocator = {}; | |
| 8185 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 8186 }; | |
| 8187 | |
| 8188 template <> | |
| 8189 struct isVulkanRAIIHandleType<CuFunctionNVX> | |
| 8190 { | |
| 8191 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 8192 }; | |
| 8193 | |
| 8194 // wrapper class for handle VkCuModuleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCuModuleNVX.html | |
| 8195 class CuModuleNVX | |
| 8196 { | |
| 8197 public: | |
| 8198 using CType = VkCuModuleNVX; | |
| 8199 using CppType = VULKAN_HPP_NAMESPACE::CuModuleNVX; | |
| 8200 | |
| 8201 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eCuModuleNVX; | |
| 8202 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eCuModuleNVX; | |
| 8203 | |
| 8204 public: | |
| 8205 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 8206 CuModuleNVX( Device const & device, CuModuleCreateInfoNVX const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 8207 { | |
| 8208 *this = device.createCuModuleNVX( createInfo, allocator ); | |
| 8209 } | |
| 8210 # endif | |
| 8211 | |
| 8212 CuModuleNVX( Device const & device, VkCuModuleNVX module, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 8213 : m_device( device ) | |
| 8214 , m_cuModuleNVX( module ) | |
| 8215 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 8216 , m_dispatcher( device.getDispatcher() ) | |
| 8217 { | |
| 8218 } | |
| 8219 | |
| 8220 CuModuleNVX( std::nullptr_t ) {} | |
| 8221 | |
| 8222 ~CuModuleNVX() | |
| 8223 { | |
| 8224 clear(); | |
| 8225 } | |
| 8226 | |
| 8227 CuModuleNVX() = delete; | |
| 8228 CuModuleNVX( CuModuleNVX const & ) = delete; | |
| 8229 | |
| 8230 CuModuleNVX( CuModuleNVX && rhs ) VULKAN_HPP_NOEXCEPT | |
| 8231 : m_device( exchange( rhs.m_device, {} ) ) | |
| 8232 , m_cuModuleNVX( exchange( rhs.m_cuModuleNVX, {} ) ) | |
| 8233 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 8234 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 8235 { | |
| 8236 } | |
| 8237 | |
| 8238 CuModuleNVX & operator=( CuModuleNVX const & ) = delete; | |
| 8239 | |
| 8240 CuModuleNVX & operator=( CuModuleNVX && rhs ) VULKAN_HPP_NOEXCEPT | |
| 8241 { | |
| 8242 if ( this != &rhs ) | |
| 8243 { | |
| 8244 std::swap( m_device, rhs.m_device ); | |
| 8245 std::swap( m_cuModuleNVX, rhs.m_cuModuleNVX ); | |
| 8246 std::swap( m_allocator, rhs.m_allocator ); | |
| 8247 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 8248 } | |
| 8249 return *this; | |
| 8250 } | |
| 8251 | |
| 8252 VULKAN_HPP_NAMESPACE::CuModuleNVX const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 8253 { | |
| 8254 return m_cuModuleNVX; | |
| 8255 } | |
| 8256 | |
| 8257 VULKAN_HPP_NAMESPACE::CuModuleNVX const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 8258 { | |
| 8259 return std::move( m_cuModuleNVX ); | |
| 8260 } | |
| 8261 | |
| 8262 operator VULKAN_HPP_NAMESPACE::CuModuleNVX() const VULKAN_HPP_NOEXCEPT | |
| 8263 { | |
| 8264 return m_cuModuleNVX; | |
| 8265 } | |
| 8266 | |
| 8267 void clear() VULKAN_HPP_NOEXCEPT | |
| 8268 { | |
| 8269 if ( m_cuModuleNVX ) | |
| 8270 { | |
| 8271 getDispatcher()->vkDestroyCuModuleNVX( | |
| 8272 static_cast<VkDevice>( m_device ), static_cast<VkCuModuleNVX>( m_cuModuleNVX ), reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 8273 } | |
| 8274 m_device = nullptr; | |
| 8275 m_cuModuleNVX = nullptr; | |
| 8276 m_allocator = nullptr; | |
| 8277 m_dispatcher = nullptr; | |
| 8278 } | |
| 8279 | |
| 8280 VULKAN_HPP_NAMESPACE::CuModuleNVX release() | |
| 8281 { | |
| 8282 m_device = nullptr; | |
| 8283 m_allocator = nullptr; | |
| 8284 m_dispatcher = nullptr; | |
| 8285 return exchange( m_cuModuleNVX, nullptr ); | |
| 8286 } | |
| 8287 | |
| 8288 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 8289 { | |
| 8290 return m_device; | |
| 8291 } | |
| 8292 | |
| 8293 detail::DeviceDispatcher const * getDispatcher() const | |
| 8294 { | |
| 8295 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 8296 return m_dispatcher; | |
| 8297 } | |
| 8298 | |
| 8299 void swap( CuModuleNVX & rhs ) VULKAN_HPP_NOEXCEPT | |
| 8300 { | |
| 8301 std::swap( m_device, rhs.m_device ); | |
| 8302 std::swap( m_cuModuleNVX, rhs.m_cuModuleNVX ); | |
| 8303 std::swap( m_allocator, rhs.m_allocator ); | |
| 8304 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 8305 } | |
| 8306 | |
| 8307 private: | |
| 8308 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 8309 VULKAN_HPP_NAMESPACE::CuModuleNVX m_cuModuleNVX = {}; | |
| 8310 const AllocationCallbacks * m_allocator = {}; | |
| 8311 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 8312 }; | |
| 8313 | |
| 8314 template <> | |
| 8315 struct isVulkanRAIIHandleType<CuModuleNVX> | |
| 8316 { | |
| 8317 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 8318 }; | |
| 8319 | |
| 8320 // wrapper class for handle VkCudaFunctionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCudaFunctionNV.html | |
| 8321 # if defined( VK_ENABLE_BETA_EXTENSIONS ) | |
| 8322 class CudaFunctionNV | |
| 8323 { | |
| 8324 public: | |
| 8325 using CType = VkCudaFunctionNV; | |
| 8326 using CppType = VULKAN_HPP_NAMESPACE::CudaFunctionNV; | |
| 8327 | |
| 8328 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eCudaFunctionNV; | |
| 8329 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eCudaFunctionNV; | |
| 8330 | |
| 8331 public: | |
| 8332 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 8333 CudaFunctionNV( Device const & device, CudaFunctionCreateInfoNV const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 8334 { | |
| 8335 *this = device.createCudaFunctionNV( createInfo, allocator ); | |
| 8336 } | |
| 8337 # endif | |
| 8338 | |
| 8339 CudaFunctionNV( Device const & device, VkCudaFunctionNV function, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 8340 : m_device( device ) | |
| 8341 , m_cudaFunctionNV( function ) | |
| 8342 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 8343 , m_dispatcher( device.getDispatcher() ) | |
| 8344 { | |
| 8345 } | |
| 8346 | |
| 8347 CudaFunctionNV( std::nullptr_t ) {} | |
| 8348 | |
| 8349 ~CudaFunctionNV() | |
| 8350 { | |
| 8351 clear(); | |
| 8352 } | |
| 8353 | |
| 8354 CudaFunctionNV() = delete; | |
| 8355 CudaFunctionNV( CudaFunctionNV const & ) = delete; | |
| 8356 | |
| 8357 CudaFunctionNV( CudaFunctionNV && rhs ) VULKAN_HPP_NOEXCEPT | |
| 8358 : m_device( exchange( rhs.m_device, {} ) ) | |
| 8359 , m_cudaFunctionNV( exchange( rhs.m_cudaFunctionNV, {} ) ) | |
| 8360 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 8361 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 8362 { | |
| 8363 } | |
| 8364 | |
| 8365 CudaFunctionNV & operator=( CudaFunctionNV const & ) = delete; | |
| 8366 | |
| 8367 CudaFunctionNV & operator=( CudaFunctionNV && rhs ) VULKAN_HPP_NOEXCEPT | |
| 8368 { | |
| 8369 if ( this != &rhs ) | |
| 8370 { | |
| 8371 std::swap( m_device, rhs.m_device ); | |
| 8372 std::swap( m_cudaFunctionNV, rhs.m_cudaFunctionNV ); | |
| 8373 std::swap( m_allocator, rhs.m_allocator ); | |
| 8374 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 8375 } | |
| 8376 return *this; | |
| 8377 } | |
| 8378 | |
| 8379 VULKAN_HPP_NAMESPACE::CudaFunctionNV const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 8380 { | |
| 8381 return m_cudaFunctionNV; | |
| 8382 } | |
| 8383 | |
| 8384 VULKAN_HPP_NAMESPACE::CudaFunctionNV const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 8385 { | |
| 8386 return std::move( m_cudaFunctionNV ); | |
| 8387 } | |
| 8388 | |
| 8389 operator VULKAN_HPP_NAMESPACE::CudaFunctionNV() const VULKAN_HPP_NOEXCEPT | |
| 8390 { | |
| 8391 return m_cudaFunctionNV; | |
| 8392 } | |
| 8393 | |
| 8394 void clear() VULKAN_HPP_NOEXCEPT | |
| 8395 { | |
| 8396 if ( m_cudaFunctionNV ) | |
| 8397 { | |
| 8398 getDispatcher()->vkDestroyCudaFunctionNV( static_cast<VkDevice>( m_device ), | |
| 8399 static_cast<VkCudaFunctionNV>( m_cudaFunctionNV ), | |
| 8400 reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 8401 } | |
| 8402 m_device = nullptr; | |
| 8403 m_cudaFunctionNV = nullptr; | |
| 8404 m_allocator = nullptr; | |
| 8405 m_dispatcher = nullptr; | |
| 8406 } | |
| 8407 | |
| 8408 VULKAN_HPP_NAMESPACE::CudaFunctionNV release() | |
| 8409 { | |
| 8410 m_device = nullptr; | |
| 8411 m_allocator = nullptr; | |
| 8412 m_dispatcher = nullptr; | |
| 8413 return exchange( m_cudaFunctionNV, nullptr ); | |
| 8414 } | |
| 8415 | |
| 8416 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 8417 { | |
| 8418 return m_device; | |
| 8419 } | |
| 8420 | |
| 8421 detail::DeviceDispatcher const * getDispatcher() const | |
| 8422 { | |
| 8423 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 8424 return m_dispatcher; | |
| 8425 } | |
| 8426 | |
| 8427 void swap( CudaFunctionNV & rhs ) VULKAN_HPP_NOEXCEPT | |
| 8428 { | |
| 8429 std::swap( m_device, rhs.m_device ); | |
| 8430 std::swap( m_cudaFunctionNV, rhs.m_cudaFunctionNV ); | |
| 8431 std::swap( m_allocator, rhs.m_allocator ); | |
| 8432 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 8433 } | |
| 8434 | |
| 8435 private: | |
| 8436 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 8437 VULKAN_HPP_NAMESPACE::CudaFunctionNV m_cudaFunctionNV = {}; | |
| 8438 const AllocationCallbacks * m_allocator = {}; | |
| 8439 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 8440 }; | |
| 8441 | |
| 8442 template <> | |
| 8443 struct isVulkanRAIIHandleType<CudaFunctionNV> | |
| 8444 { | |
| 8445 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 8446 }; | |
| 8447 | |
| 8448 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ | |
| 8449 | |
| 8450 // wrapper class for handle VkCudaModuleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCudaModuleNV.html | |
| 8451 # if defined( VK_ENABLE_BETA_EXTENSIONS ) | |
| 8452 class CudaModuleNV | |
| 8453 { | |
| 8454 public: | |
| 8455 using CType = VkCudaModuleNV; | |
| 8456 using CppType = VULKAN_HPP_NAMESPACE::CudaModuleNV; | |
| 8457 | |
| 8458 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eCudaModuleNV; | |
| 8459 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eCudaModuleNV; | |
| 8460 | |
| 8461 public: | |
| 8462 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 8463 CudaModuleNV( Device const & device, CudaModuleCreateInfoNV const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 8464 { | |
| 8465 *this = device.createCudaModuleNV( createInfo, allocator ); | |
| 8466 } | |
| 8467 # endif | |
| 8468 | |
| 8469 CudaModuleNV( Device const & device, VkCudaModuleNV module, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 8470 : m_device( device ) | |
| 8471 , m_cudaModuleNV( module ) | |
| 8472 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 8473 , m_dispatcher( device.getDispatcher() ) | |
| 8474 { | |
| 8475 } | |
| 8476 | |
| 8477 CudaModuleNV( std::nullptr_t ) {} | |
| 8478 | |
| 8479 ~CudaModuleNV() | |
| 8480 { | |
| 8481 clear(); | |
| 8482 } | |
| 8483 | |
| 8484 CudaModuleNV() = delete; | |
| 8485 CudaModuleNV( CudaModuleNV const & ) = delete; | |
| 8486 | |
| 8487 CudaModuleNV( CudaModuleNV && rhs ) VULKAN_HPP_NOEXCEPT | |
| 8488 : m_device( exchange( rhs.m_device, {} ) ) | |
| 8489 , m_cudaModuleNV( exchange( rhs.m_cudaModuleNV, {} ) ) | |
| 8490 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 8491 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 8492 { | |
| 8493 } | |
| 8494 | |
| 8495 CudaModuleNV & operator=( CudaModuleNV const & ) = delete; | |
| 8496 | |
| 8497 CudaModuleNV & operator=( CudaModuleNV && rhs ) VULKAN_HPP_NOEXCEPT | |
| 8498 { | |
| 8499 if ( this != &rhs ) | |
| 8500 { | |
| 8501 std::swap( m_device, rhs.m_device ); | |
| 8502 std::swap( m_cudaModuleNV, rhs.m_cudaModuleNV ); | |
| 8503 std::swap( m_allocator, rhs.m_allocator ); | |
| 8504 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 8505 } | |
| 8506 return *this; | |
| 8507 } | |
| 8508 | |
| 8509 VULKAN_HPP_NAMESPACE::CudaModuleNV const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 8510 { | |
| 8511 return m_cudaModuleNV; | |
| 8512 } | |
| 8513 | |
| 8514 VULKAN_HPP_NAMESPACE::CudaModuleNV const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 8515 { | |
| 8516 return std::move( m_cudaModuleNV ); | |
| 8517 } | |
| 8518 | |
| 8519 operator VULKAN_HPP_NAMESPACE::CudaModuleNV() const VULKAN_HPP_NOEXCEPT | |
| 8520 { | |
| 8521 return m_cudaModuleNV; | |
| 8522 } | |
| 8523 | |
| 8524 void clear() VULKAN_HPP_NOEXCEPT | |
| 8525 { | |
| 8526 if ( m_cudaModuleNV ) | |
| 8527 { | |
| 8528 getDispatcher()->vkDestroyCudaModuleNV( | |
| 8529 static_cast<VkDevice>( m_device ), static_cast<VkCudaModuleNV>( m_cudaModuleNV ), reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 8530 } | |
| 8531 m_device = nullptr; | |
| 8532 m_cudaModuleNV = nullptr; | |
| 8533 m_allocator = nullptr; | |
| 8534 m_dispatcher = nullptr; | |
| 8535 } | |
| 8536 | |
| 8537 VULKAN_HPP_NAMESPACE::CudaModuleNV release() | |
| 8538 { | |
| 8539 m_device = nullptr; | |
| 8540 m_allocator = nullptr; | |
| 8541 m_dispatcher = nullptr; | |
| 8542 return exchange( m_cudaModuleNV, nullptr ); | |
| 8543 } | |
| 8544 | |
| 8545 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 8546 { | |
| 8547 return m_device; | |
| 8548 } | |
| 8549 | |
| 8550 detail::DeviceDispatcher const * getDispatcher() const | |
| 8551 { | |
| 8552 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 8553 return m_dispatcher; | |
| 8554 } | |
| 8555 | |
| 8556 void swap( CudaModuleNV & rhs ) VULKAN_HPP_NOEXCEPT | |
| 8557 { | |
| 8558 std::swap( m_device, rhs.m_device ); | |
| 8559 std::swap( m_cudaModuleNV, rhs.m_cudaModuleNV ); | |
| 8560 std::swap( m_allocator, rhs.m_allocator ); | |
| 8561 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 8562 } | |
| 8563 | |
| 8564 //=== VK_NV_cuda_kernel_launch === | |
| 8565 | |
| 8566 // wrapper function for command vkGetCudaModuleCacheNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCudaModuleCacheNV.html | |
| 8567 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<uint8_t>>::type getCache() const; | |
| 8568 | |
| 8569 private: | |
| 8570 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 8571 VULKAN_HPP_NAMESPACE::CudaModuleNV m_cudaModuleNV = {}; | |
| 8572 const AllocationCallbacks * m_allocator = {}; | |
| 8573 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 8574 }; | |
| 8575 | |
| 8576 template <> | |
| 8577 struct isVulkanRAIIHandleType<CudaModuleNV> | |
| 8578 { | |
| 8579 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 8580 }; | |
| 8581 | |
| 8582 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ | |
| 8583 | |
| 8584 // wrapper class for handle VkDataGraphPipelineSessionARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelineSessionARM.html | |
| 8585 class DataGraphPipelineSessionARM | |
| 8586 { | |
| 8587 public: | |
| 8588 using CType = VkDataGraphPipelineSessionARM; | |
| 8589 using CppType = VULKAN_HPP_NAMESPACE::DataGraphPipelineSessionARM; | |
| 8590 | |
| 8591 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eDataGraphPipelineSessionARM; | |
| 8592 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eUnknown; | |
| 8593 | |
| 8594 public: | |
| 8595 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 8596 DataGraphPipelineSessionARM( Device const & device, | |
| 8597 DataGraphPipelineSessionCreateInfoARM const & createInfo, | |
| 8598 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 8599 { | |
| 8600 *this = device.createDataGraphPipelineSessionARM( createInfo, allocator ); | |
| 8601 } | |
| 8602 # endif | |
| 8603 | |
| 8604 DataGraphPipelineSessionARM( Device const & device, VkDataGraphPipelineSessionARM session, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 8605 : m_device( device ) | |
| 8606 , m_dataGraphPipelineSessionARM( session ) | |
| 8607 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 8608 , m_dispatcher( device.getDispatcher() ) | |
| 8609 { | |
| 8610 } | |
| 8611 | |
| 8612 DataGraphPipelineSessionARM( std::nullptr_t ) {} | |
| 8613 | |
| 8614 ~DataGraphPipelineSessionARM() | |
| 8615 { | |
| 8616 clear(); | |
| 8617 } | |
| 8618 | |
| 8619 DataGraphPipelineSessionARM() = delete; | |
| 8620 DataGraphPipelineSessionARM( DataGraphPipelineSessionARM const & ) = delete; | |
| 8621 | |
| 8622 DataGraphPipelineSessionARM( DataGraphPipelineSessionARM && rhs ) VULKAN_HPP_NOEXCEPT | |
| 8623 : m_device( exchange( rhs.m_device, {} ) ) | |
| 8624 , m_dataGraphPipelineSessionARM( exchange( rhs.m_dataGraphPipelineSessionARM, {} ) ) | |
| 8625 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 8626 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 8627 { | |
| 8628 } | |
| 8629 | |
| 8630 DataGraphPipelineSessionARM & operator=( DataGraphPipelineSessionARM const & ) = delete; | |
| 8631 | |
| 8632 DataGraphPipelineSessionARM & operator=( DataGraphPipelineSessionARM && rhs ) VULKAN_HPP_NOEXCEPT | |
| 8633 { | |
| 8634 if ( this != &rhs ) | |
| 8635 { | |
| 8636 std::swap( m_device, rhs.m_device ); | |
| 8637 std::swap( m_dataGraphPipelineSessionARM, rhs.m_dataGraphPipelineSessionARM ); | |
| 8638 std::swap( m_allocator, rhs.m_allocator ); | |
| 8639 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 8640 } | |
| 8641 return *this; | |
| 8642 } | |
| 8643 | |
| 8644 VULKAN_HPP_NAMESPACE::DataGraphPipelineSessionARM const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 8645 { | |
| 8646 return m_dataGraphPipelineSessionARM; | |
| 8647 } | |
| 8648 | |
| 8649 VULKAN_HPP_NAMESPACE::DataGraphPipelineSessionARM const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 8650 { | |
| 8651 return std::move( m_dataGraphPipelineSessionARM ); | |
| 8652 } | |
| 8653 | |
| 8654 operator VULKAN_HPP_NAMESPACE::DataGraphPipelineSessionARM() const VULKAN_HPP_NOEXCEPT | |
| 8655 { | |
| 8656 return m_dataGraphPipelineSessionARM; | |
| 8657 } | |
| 8658 | |
| 8659 void clear() VULKAN_HPP_NOEXCEPT | |
| 8660 { | |
| 8661 if ( m_dataGraphPipelineSessionARM ) | |
| 8662 { | |
| 8663 getDispatcher()->vkDestroyDataGraphPipelineSessionARM( static_cast<VkDevice>( m_device ), | |
| 8664 static_cast<VkDataGraphPipelineSessionARM>( m_dataGraphPipelineSessionARM ), | |
| 8665 reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 8666 } | |
| 8667 m_device = nullptr; | |
| 8668 m_dataGraphPipelineSessionARM = nullptr; | |
| 8669 m_allocator = nullptr; | |
| 8670 m_dispatcher = nullptr; | |
| 8671 } | |
| 8672 | |
| 8673 VULKAN_HPP_NAMESPACE::DataGraphPipelineSessionARM release() | |
| 8674 { | |
| 8675 m_device = nullptr; | |
| 8676 m_allocator = nullptr; | |
| 8677 m_dispatcher = nullptr; | |
| 8678 return exchange( m_dataGraphPipelineSessionARM, nullptr ); | |
| 8679 } | |
| 8680 | |
| 8681 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 8682 { | |
| 8683 return m_device; | |
| 8684 } | |
| 8685 | |
| 8686 detail::DeviceDispatcher const * getDispatcher() const | |
| 8687 { | |
| 8688 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 8689 return m_dispatcher; | |
| 8690 } | |
| 8691 | |
| 8692 void swap( DataGraphPipelineSessionARM & rhs ) VULKAN_HPP_NOEXCEPT | |
| 8693 { | |
| 8694 std::swap( m_device, rhs.m_device ); | |
| 8695 std::swap( m_dataGraphPipelineSessionARM, rhs.m_dataGraphPipelineSessionARM ); | |
| 8696 std::swap( m_allocator, rhs.m_allocator ); | |
| 8697 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 8698 } | |
| 8699 | |
| 8700 private: | |
| 8701 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 8702 VULKAN_HPP_NAMESPACE::DataGraphPipelineSessionARM m_dataGraphPipelineSessionARM = {}; | |
| 8703 const AllocationCallbacks * m_allocator = {}; | |
| 8704 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 8705 }; | |
| 8706 | |
| 8707 template <> | |
| 8708 struct isVulkanRAIIHandleType<DataGraphPipelineSessionARM> | |
| 8709 { | |
| 8710 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 8711 }; | |
| 8712 | |
| 8713 // wrapper class for handle VkDebugReportCallbackEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDebugReportCallbackEXT.html | |
| 8714 class DebugReportCallbackEXT | |
| 8715 { | |
| 8716 public: | |
| 8717 using CType = VkDebugReportCallbackEXT; | |
| 8718 using CppType = VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT; | |
| 8719 | |
| 8720 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eDebugReportCallbackEXT; | |
| 8721 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eDebugReportCallbackEXT; | |
| 8722 | |
| 8723 public: | |
| 8724 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 8725 DebugReportCallbackEXT( Instance const & instance, | |
| 8726 DebugReportCallbackCreateInfoEXT const & createInfo, | |
| 8727 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 8728 { | |
| 8729 *this = instance.createDebugReportCallbackEXT( createInfo, allocator ); | |
| 8730 } | |
| 8731 # endif | |
| 8732 | |
| 8733 DebugReportCallbackEXT( Instance const & instance, VkDebugReportCallbackEXT callback, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 8734 : m_instance( instance ) | |
| 8735 , m_debugReportCallbackEXT( callback ) | |
| 8736 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 8737 , m_dispatcher( instance.getDispatcher() ) | |
| 8738 { | |
| 8739 } | |
| 8740 | |
| 8741 DebugReportCallbackEXT( std::nullptr_t ) {} | |
| 8742 | |
| 8743 ~DebugReportCallbackEXT() | |
| 8744 { | |
| 8745 clear(); | |
| 8746 } | |
| 8747 | |
| 8748 DebugReportCallbackEXT() = delete; | |
| 8749 DebugReportCallbackEXT( DebugReportCallbackEXT const & ) = delete; | |
| 8750 | |
| 8751 DebugReportCallbackEXT( DebugReportCallbackEXT && rhs ) VULKAN_HPP_NOEXCEPT | |
| 8752 : m_instance( exchange( rhs.m_instance, {} ) ) | |
| 8753 , m_debugReportCallbackEXT( exchange( rhs.m_debugReportCallbackEXT, {} ) ) | |
| 8754 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 8755 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 8756 { | |
| 8757 } | |
| 8758 | |
| 8759 DebugReportCallbackEXT & operator=( DebugReportCallbackEXT const & ) = delete; | |
| 8760 | |
| 8761 DebugReportCallbackEXT & operator=( DebugReportCallbackEXT && rhs ) VULKAN_HPP_NOEXCEPT | |
| 8762 { | |
| 8763 if ( this != &rhs ) | |
| 8764 { | |
| 8765 std::swap( m_instance, rhs.m_instance ); | |
| 8766 std::swap( m_debugReportCallbackEXT, rhs.m_debugReportCallbackEXT ); | |
| 8767 std::swap( m_allocator, rhs.m_allocator ); | |
| 8768 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 8769 } | |
| 8770 return *this; | |
| 8771 } | |
| 8772 | |
| 8773 VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 8774 { | |
| 8775 return m_debugReportCallbackEXT; | |
| 8776 } | |
| 8777 | |
| 8778 VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 8779 { | |
| 8780 return std::move( m_debugReportCallbackEXT ); | |
| 8781 } | |
| 8782 | |
| 8783 operator VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT() const VULKAN_HPP_NOEXCEPT | |
| 8784 { | |
| 8785 return m_debugReportCallbackEXT; | |
| 8786 } | |
| 8787 | |
| 8788 void clear() VULKAN_HPP_NOEXCEPT | |
| 8789 { | |
| 8790 if ( m_debugReportCallbackEXT ) | |
| 8791 { | |
| 8792 getDispatcher()->vkDestroyDebugReportCallbackEXT( static_cast<VkInstance>( m_instance ), | |
| 8793 static_cast<VkDebugReportCallbackEXT>( m_debugReportCallbackEXT ), | |
| 8794 reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 8795 } | |
| 8796 m_instance = nullptr; | |
| 8797 m_debugReportCallbackEXT = nullptr; | |
| 8798 m_allocator = nullptr; | |
| 8799 m_dispatcher = nullptr; | |
| 8800 } | |
| 8801 | |
| 8802 VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT release() | |
| 8803 { | |
| 8804 m_instance = nullptr; | |
| 8805 m_allocator = nullptr; | |
| 8806 m_dispatcher = nullptr; | |
| 8807 return exchange( m_debugReportCallbackEXT, nullptr ); | |
| 8808 } | |
| 8809 | |
| 8810 VULKAN_HPP_NAMESPACE::Instance getInstance() const | |
| 8811 { | |
| 8812 return m_instance; | |
| 8813 } | |
| 8814 | |
| 8815 detail::InstanceDispatcher const * getDispatcher() const | |
| 8816 { | |
| 8817 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 8818 return m_dispatcher; | |
| 8819 } | |
| 8820 | |
| 8821 void swap( DebugReportCallbackEXT & rhs ) VULKAN_HPP_NOEXCEPT | |
| 8822 { | |
| 8823 std::swap( m_instance, rhs.m_instance ); | |
| 8824 std::swap( m_debugReportCallbackEXT, rhs.m_debugReportCallbackEXT ); | |
| 8825 std::swap( m_allocator, rhs.m_allocator ); | |
| 8826 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 8827 } | |
| 8828 | |
| 8829 private: | |
| 8830 VULKAN_HPP_NAMESPACE::Instance m_instance = {}; | |
| 8831 VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT m_debugReportCallbackEXT = {}; | |
| 8832 const AllocationCallbacks * m_allocator = {}; | |
| 8833 detail::InstanceDispatcher const * m_dispatcher = nullptr; | |
| 8834 }; | |
| 8835 | |
| 8836 template <> | |
| 8837 struct isVulkanRAIIHandleType<DebugReportCallbackEXT> | |
| 8838 { | |
| 8839 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 8840 }; | |
| 8841 | |
| 8842 // wrapper class for handle VkDebugUtilsMessengerEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDebugUtilsMessengerEXT.html | |
| 8843 class DebugUtilsMessengerEXT | |
| 8844 { | |
| 8845 public: | |
| 8846 using CType = VkDebugUtilsMessengerEXT; | |
| 8847 using CppType = VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT; | |
| 8848 | |
| 8849 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eDebugUtilsMessengerEXT; | |
| 8850 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eUnknown; | |
| 8851 | |
| 8852 public: | |
| 8853 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 8854 DebugUtilsMessengerEXT( Instance const & instance, | |
| 8855 DebugUtilsMessengerCreateInfoEXT const & createInfo, | |
| 8856 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 8857 { | |
| 8858 *this = instance.createDebugUtilsMessengerEXT( createInfo, allocator ); | |
| 8859 } | |
| 8860 # endif | |
| 8861 | |
| 8862 DebugUtilsMessengerEXT( Instance const & instance, VkDebugUtilsMessengerEXT messenger, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 8863 : m_instance( instance ) | |
| 8864 , m_debugUtilsMessengerEXT( messenger ) | |
| 8865 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 8866 , m_dispatcher( instance.getDispatcher() ) | |
| 8867 { | |
| 8868 } | |
| 8869 | |
| 8870 DebugUtilsMessengerEXT( std::nullptr_t ) {} | |
| 8871 | |
| 8872 ~DebugUtilsMessengerEXT() | |
| 8873 { | |
| 8874 clear(); | |
| 8875 } | |
| 8876 | |
| 8877 DebugUtilsMessengerEXT() = delete; | |
| 8878 DebugUtilsMessengerEXT( DebugUtilsMessengerEXT const & ) = delete; | |
| 8879 | |
| 8880 DebugUtilsMessengerEXT( DebugUtilsMessengerEXT && rhs ) VULKAN_HPP_NOEXCEPT | |
| 8881 : m_instance( exchange( rhs.m_instance, {} ) ) | |
| 8882 , m_debugUtilsMessengerEXT( exchange( rhs.m_debugUtilsMessengerEXT, {} ) ) | |
| 8883 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 8884 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 8885 { | |
| 8886 } | |
| 8887 | |
| 8888 DebugUtilsMessengerEXT & operator=( DebugUtilsMessengerEXT const & ) = delete; | |
| 8889 | |
| 8890 DebugUtilsMessengerEXT & operator=( DebugUtilsMessengerEXT && rhs ) VULKAN_HPP_NOEXCEPT | |
| 8891 { | |
| 8892 if ( this != &rhs ) | |
| 8893 { | |
| 8894 std::swap( m_instance, rhs.m_instance ); | |
| 8895 std::swap( m_debugUtilsMessengerEXT, rhs.m_debugUtilsMessengerEXT ); | |
| 8896 std::swap( m_allocator, rhs.m_allocator ); | |
| 8897 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 8898 } | |
| 8899 return *this; | |
| 8900 } | |
| 8901 | |
| 8902 VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 8903 { | |
| 8904 return m_debugUtilsMessengerEXT; | |
| 8905 } | |
| 8906 | |
| 8907 VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 8908 { | |
| 8909 return std::move( m_debugUtilsMessengerEXT ); | |
| 8910 } | |
| 8911 | |
| 8912 operator VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT() const VULKAN_HPP_NOEXCEPT | |
| 8913 { | |
| 8914 return m_debugUtilsMessengerEXT; | |
| 8915 } | |
| 8916 | |
| 8917 void clear() VULKAN_HPP_NOEXCEPT | |
| 8918 { | |
| 8919 if ( m_debugUtilsMessengerEXT ) | |
| 8920 { | |
| 8921 getDispatcher()->vkDestroyDebugUtilsMessengerEXT( static_cast<VkInstance>( m_instance ), | |
| 8922 static_cast<VkDebugUtilsMessengerEXT>( m_debugUtilsMessengerEXT ), | |
| 8923 reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 8924 } | |
| 8925 m_instance = nullptr; | |
| 8926 m_debugUtilsMessengerEXT = nullptr; | |
| 8927 m_allocator = nullptr; | |
| 8928 m_dispatcher = nullptr; | |
| 8929 } | |
| 8930 | |
| 8931 VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT release() | |
| 8932 { | |
| 8933 m_instance = nullptr; | |
| 8934 m_allocator = nullptr; | |
| 8935 m_dispatcher = nullptr; | |
| 8936 return exchange( m_debugUtilsMessengerEXT, nullptr ); | |
| 8937 } | |
| 8938 | |
| 8939 VULKAN_HPP_NAMESPACE::Instance getInstance() const | |
| 8940 { | |
| 8941 return m_instance; | |
| 8942 } | |
| 8943 | |
| 8944 detail::InstanceDispatcher const * getDispatcher() const | |
| 8945 { | |
| 8946 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 8947 return m_dispatcher; | |
| 8948 } | |
| 8949 | |
| 8950 void swap( DebugUtilsMessengerEXT & rhs ) VULKAN_HPP_NOEXCEPT | |
| 8951 { | |
| 8952 std::swap( m_instance, rhs.m_instance ); | |
| 8953 std::swap( m_debugUtilsMessengerEXT, rhs.m_debugUtilsMessengerEXT ); | |
| 8954 std::swap( m_allocator, rhs.m_allocator ); | |
| 8955 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 8956 } | |
| 8957 | |
| 8958 private: | |
| 8959 VULKAN_HPP_NAMESPACE::Instance m_instance = {}; | |
| 8960 VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT m_debugUtilsMessengerEXT = {}; | |
| 8961 const AllocationCallbacks * m_allocator = {}; | |
| 8962 detail::InstanceDispatcher const * m_dispatcher = nullptr; | |
| 8963 }; | |
| 8964 | |
| 8965 template <> | |
| 8966 struct isVulkanRAIIHandleType<DebugUtilsMessengerEXT> | |
| 8967 { | |
| 8968 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 8969 }; | |
| 8970 | |
| 8971 // wrapper class for handle VkDeferredOperationKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeferredOperationKHR.html | |
| 8972 class DeferredOperationKHR | |
| 8973 { | |
| 8974 public: | |
| 8975 using CType = VkDeferredOperationKHR; | |
| 8976 using CppType = VULKAN_HPP_NAMESPACE::DeferredOperationKHR; | |
| 8977 | |
| 8978 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eDeferredOperationKHR; | |
| 8979 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eUnknown; | |
| 8980 | |
| 8981 public: | |
| 8982 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 8983 DeferredOperationKHR( Device const & device, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 8984 { | |
| 8985 *this = device.createDeferredOperationKHR( allocator ); | |
| 8986 } | |
| 8987 # endif | |
| 8988 | |
| 8989 DeferredOperationKHR( Device const & device, VkDeferredOperationKHR operation, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 8990 : m_device( device ) | |
| 8991 , m_deferredOperationKHR( operation ) | |
| 8992 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 8993 , m_dispatcher( device.getDispatcher() ) | |
| 8994 { | |
| 8995 } | |
| 8996 | |
| 8997 DeferredOperationKHR( std::nullptr_t ) {} | |
| 8998 | |
| 8999 ~DeferredOperationKHR() | |
| 9000 { | |
| 9001 clear(); | |
| 9002 } | |
| 9003 | |
| 9004 DeferredOperationKHR() = delete; | |
| 9005 DeferredOperationKHR( DeferredOperationKHR const & ) = delete; | |
| 9006 | |
| 9007 DeferredOperationKHR( DeferredOperationKHR && rhs ) VULKAN_HPP_NOEXCEPT | |
| 9008 : m_device( exchange( rhs.m_device, {} ) ) | |
| 9009 , m_deferredOperationKHR( exchange( rhs.m_deferredOperationKHR, {} ) ) | |
| 9010 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 9011 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 9012 { | |
| 9013 } | |
| 9014 | |
| 9015 DeferredOperationKHR & operator=( DeferredOperationKHR const & ) = delete; | |
| 9016 | |
| 9017 DeferredOperationKHR & operator=( DeferredOperationKHR && rhs ) VULKAN_HPP_NOEXCEPT | |
| 9018 { | |
| 9019 if ( this != &rhs ) | |
| 9020 { | |
| 9021 std::swap( m_device, rhs.m_device ); | |
| 9022 std::swap( m_deferredOperationKHR, rhs.m_deferredOperationKHR ); | |
| 9023 std::swap( m_allocator, rhs.m_allocator ); | |
| 9024 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 9025 } | |
| 9026 return *this; | |
| 9027 } | |
| 9028 | |
| 9029 VULKAN_HPP_NAMESPACE::DeferredOperationKHR const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 9030 { | |
| 9031 return m_deferredOperationKHR; | |
| 9032 } | |
| 9033 | |
| 9034 VULKAN_HPP_NAMESPACE::DeferredOperationKHR const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 9035 { | |
| 9036 return std::move( m_deferredOperationKHR ); | |
| 9037 } | |
| 9038 | |
| 9039 operator VULKAN_HPP_NAMESPACE::DeferredOperationKHR() const VULKAN_HPP_NOEXCEPT | |
| 9040 { | |
| 9041 return m_deferredOperationKHR; | |
| 9042 } | |
| 9043 | |
| 9044 void clear() VULKAN_HPP_NOEXCEPT | |
| 9045 { | |
| 9046 if ( m_deferredOperationKHR ) | |
| 9047 { | |
| 9048 getDispatcher()->vkDestroyDeferredOperationKHR( static_cast<VkDevice>( m_device ), | |
| 9049 static_cast<VkDeferredOperationKHR>( m_deferredOperationKHR ), | |
| 9050 reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 9051 } | |
| 9052 m_device = nullptr; | |
| 9053 m_deferredOperationKHR = nullptr; | |
| 9054 m_allocator = nullptr; | |
| 9055 m_dispatcher = nullptr; | |
| 9056 } | |
| 9057 | |
| 9058 VULKAN_HPP_NAMESPACE::DeferredOperationKHR release() | |
| 9059 { | |
| 9060 m_device = nullptr; | |
| 9061 m_allocator = nullptr; | |
| 9062 m_dispatcher = nullptr; | |
| 9063 return exchange( m_deferredOperationKHR, nullptr ); | |
| 9064 } | |
| 9065 | |
| 9066 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 9067 { | |
| 9068 return m_device; | |
| 9069 } | |
| 9070 | |
| 9071 detail::DeviceDispatcher const * getDispatcher() const | |
| 9072 { | |
| 9073 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 9074 return m_dispatcher; | |
| 9075 } | |
| 9076 | |
| 9077 void swap( DeferredOperationKHR & rhs ) VULKAN_HPP_NOEXCEPT | |
| 9078 { | |
| 9079 std::swap( m_device, rhs.m_device ); | |
| 9080 std::swap( m_deferredOperationKHR, rhs.m_deferredOperationKHR ); | |
| 9081 std::swap( m_allocator, rhs.m_allocator ); | |
| 9082 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 9083 } | |
| 9084 | |
| 9085 //=== VK_KHR_deferred_host_operations === | |
| 9086 | |
| 9087 // wrapper function for command vkGetDeferredOperationMaxConcurrencyKHR, see | |
| 9088 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeferredOperationMaxConcurrencyKHR.html | |
| 9089 VULKAN_HPP_NODISCARD uint32_t getMaxConcurrency() const VULKAN_HPP_NOEXCEPT; | |
| 9090 | |
| 9091 // wrapper function for command vkGetDeferredOperationResultKHR, see | |
| 9092 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeferredOperationResultKHR.html | |
| 9093 VULKAN_HPP_NODISCARD Result getResult() const; | |
| 9094 | |
| 9095 // wrapper function for command vkDeferredOperationJoinKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDeferredOperationJoinKHR.html | |
| 9096 VULKAN_HPP_NODISCARD Result join() const; | |
| 9097 | |
| 9098 private: | |
| 9099 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 9100 VULKAN_HPP_NAMESPACE::DeferredOperationKHR m_deferredOperationKHR = {}; | |
| 9101 const AllocationCallbacks * m_allocator = {}; | |
| 9102 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 9103 }; | |
| 9104 | |
| 9105 template <> | |
| 9106 struct isVulkanRAIIHandleType<DeferredOperationKHR> | |
| 9107 { | |
| 9108 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 9109 }; | |
| 9110 | |
| 9111 // wrapper class for handle VkDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorPool.html | |
| 9112 class DescriptorPool | |
| 9113 { | |
| 9114 public: | |
| 9115 using CType = VkDescriptorPool; | |
| 9116 using CppType = VULKAN_HPP_NAMESPACE::DescriptorPool; | |
| 9117 | |
| 9118 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eDescriptorPool; | |
| 9119 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eDescriptorPool; | |
| 9120 | |
| 9121 public: | |
| 9122 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 9123 DescriptorPool( Device const & device, DescriptorPoolCreateInfo const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 9124 { | |
| 9125 *this = device.createDescriptorPool( createInfo, allocator ); | |
| 9126 } | |
| 9127 # endif | |
| 9128 | |
| 9129 DescriptorPool( Device const & device, VkDescriptorPool descriptorPool, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 9130 : m_device( device ) | |
| 9131 , m_descriptorPool( descriptorPool ) | |
| 9132 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 9133 , m_dispatcher( device.getDispatcher() ) | |
| 9134 { | |
| 9135 } | |
| 9136 | |
| 9137 DescriptorPool( std::nullptr_t ) {} | |
| 9138 | |
| 9139 ~DescriptorPool() | |
| 9140 { | |
| 9141 clear(); | |
| 9142 } | |
| 9143 | |
| 9144 DescriptorPool() = delete; | |
| 9145 DescriptorPool( DescriptorPool const & ) = delete; | |
| 9146 | |
| 9147 DescriptorPool( DescriptorPool && rhs ) VULKAN_HPP_NOEXCEPT | |
| 9148 : m_device( exchange( rhs.m_device, {} ) ) | |
| 9149 , m_descriptorPool( exchange( rhs.m_descriptorPool, {} ) ) | |
| 9150 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 9151 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 9152 { | |
| 9153 } | |
| 9154 | |
| 9155 DescriptorPool & operator=( DescriptorPool const & ) = delete; | |
| 9156 | |
| 9157 DescriptorPool & operator=( DescriptorPool && rhs ) VULKAN_HPP_NOEXCEPT | |
| 9158 { | |
| 9159 if ( this != &rhs ) | |
| 9160 { | |
| 9161 std::swap( m_device, rhs.m_device ); | |
| 9162 std::swap( m_descriptorPool, rhs.m_descriptorPool ); | |
| 9163 std::swap( m_allocator, rhs.m_allocator ); | |
| 9164 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 9165 } | |
| 9166 return *this; | |
| 9167 } | |
| 9168 | |
| 9169 VULKAN_HPP_NAMESPACE::DescriptorPool const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 9170 { | |
| 9171 return m_descriptorPool; | |
| 9172 } | |
| 9173 | |
| 9174 VULKAN_HPP_NAMESPACE::DescriptorPool const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 9175 { | |
| 9176 return std::move( m_descriptorPool ); | |
| 9177 } | |
| 9178 | |
| 9179 operator VULKAN_HPP_NAMESPACE::DescriptorPool() const VULKAN_HPP_NOEXCEPT | |
| 9180 { | |
| 9181 return m_descriptorPool; | |
| 9182 } | |
| 9183 | |
| 9184 void clear() VULKAN_HPP_NOEXCEPT | |
| 9185 { | |
| 9186 if ( m_descriptorPool ) | |
| 9187 { | |
| 9188 getDispatcher()->vkDestroyDescriptorPool( static_cast<VkDevice>( m_device ), | |
| 9189 static_cast<VkDescriptorPool>( m_descriptorPool ), | |
| 9190 reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 9191 } | |
| 9192 m_device = nullptr; | |
| 9193 m_descriptorPool = nullptr; | |
| 9194 m_allocator = nullptr; | |
| 9195 m_dispatcher = nullptr; | |
| 9196 } | |
| 9197 | |
| 9198 VULKAN_HPP_NAMESPACE::DescriptorPool release() | |
| 9199 { | |
| 9200 m_device = nullptr; | |
| 9201 m_allocator = nullptr; | |
| 9202 m_dispatcher = nullptr; | |
| 9203 return exchange( m_descriptorPool, nullptr ); | |
| 9204 } | |
| 9205 | |
| 9206 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 9207 { | |
| 9208 return m_device; | |
| 9209 } | |
| 9210 | |
| 9211 detail::DeviceDispatcher const * getDispatcher() const | |
| 9212 { | |
| 9213 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 9214 return m_dispatcher; | |
| 9215 } | |
| 9216 | |
| 9217 void swap( DescriptorPool & rhs ) VULKAN_HPP_NOEXCEPT | |
| 9218 { | |
| 9219 std::swap( m_device, rhs.m_device ); | |
| 9220 std::swap( m_descriptorPool, rhs.m_descriptorPool ); | |
| 9221 std::swap( m_allocator, rhs.m_allocator ); | |
| 9222 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 9223 } | |
| 9224 | |
| 9225 //=== VK_VERSION_1_0 === | |
| 9226 | |
| 9227 // wrapper function for command vkResetDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetDescriptorPool.html | |
| 9228 typename ResultValueType<void>::type reset( DescriptorPoolResetFlags flags VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const; | |
| 9229 | |
| 9230 private: | |
| 9231 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 9232 VULKAN_HPP_NAMESPACE::DescriptorPool m_descriptorPool = {}; | |
| 9233 const AllocationCallbacks * m_allocator = {}; | |
| 9234 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 9235 }; | |
| 9236 | |
| 9237 template <> | |
| 9238 struct isVulkanRAIIHandleType<DescriptorPool> | |
| 9239 { | |
| 9240 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 9241 }; | |
| 9242 | |
| 9243 // wrapper class for handle VkDescriptorSet, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorSet.html | |
| 9244 class DescriptorSet | |
| 9245 { | |
| 9246 public: | |
| 9247 using CType = VkDescriptorSet; | |
| 9248 using CppType = VULKAN_HPP_NAMESPACE::DescriptorSet; | |
| 9249 | |
| 9250 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eDescriptorSet; | |
| 9251 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eDescriptorSet; | |
| 9252 | |
| 9253 public: | |
| 9254 DescriptorSet( Device const & device, VkDescriptorSet descriptorSet, VkDescriptorPool descriptorPool ) | |
| 9255 : m_device( device ), m_descriptorPool( descriptorPool ), m_descriptorSet( descriptorSet ), m_dispatcher( device.getDispatcher() ) | |
| 9256 { | |
| 9257 } | |
| 9258 | |
| 9259 DescriptorSet( std::nullptr_t ) {} | |
| 9260 | |
| 9261 ~DescriptorSet() | |
| 9262 { | |
| 9263 clear(); | |
| 9264 } | |
| 9265 | |
| 9266 DescriptorSet() = delete; | |
| 9267 DescriptorSet( DescriptorSet const & ) = delete; | |
| 9268 | |
| 9269 DescriptorSet( DescriptorSet && rhs ) VULKAN_HPP_NOEXCEPT | |
| 9270 : m_device( exchange( rhs.m_device, {} ) ) | |
| 9271 , m_descriptorPool( exchange( rhs.m_descriptorPool, {} ) ) | |
| 9272 , m_descriptorSet( exchange( rhs.m_descriptorSet, {} ) ) | |
| 9273 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 9274 { | |
| 9275 } | |
| 9276 | |
| 9277 DescriptorSet & operator=( DescriptorSet const & ) = delete; | |
| 9278 | |
| 9279 DescriptorSet & operator=( DescriptorSet && rhs ) VULKAN_HPP_NOEXCEPT | |
| 9280 { | |
| 9281 if ( this != &rhs ) | |
| 9282 { | |
| 9283 std::swap( m_device, rhs.m_device ); | |
| 9284 std::swap( m_descriptorPool, rhs.m_descriptorPool ); | |
| 9285 std::swap( m_descriptorSet, rhs.m_descriptorSet ); | |
| 9286 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 9287 } | |
| 9288 return *this; | |
| 9289 } | |
| 9290 | |
| 9291 VULKAN_HPP_NAMESPACE::DescriptorSet const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 9292 { | |
| 9293 return m_descriptorSet; | |
| 9294 } | |
| 9295 | |
| 9296 VULKAN_HPP_NAMESPACE::DescriptorSet const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 9297 { | |
| 9298 return std::move( m_descriptorSet ); | |
| 9299 } | |
| 9300 | |
| 9301 operator VULKAN_HPP_NAMESPACE::DescriptorSet() const VULKAN_HPP_NOEXCEPT | |
| 9302 { | |
| 9303 return m_descriptorSet; | |
| 9304 } | |
| 9305 | |
| 9306 void clear() VULKAN_HPP_NOEXCEPT | |
| 9307 { | |
| 9308 if ( m_descriptorSet ) | |
| 9309 { | |
| 9310 getDispatcher()->vkFreeDescriptorSets( static_cast<VkDevice>( m_device ), | |
| 9311 static_cast<VkDescriptorPool>( m_descriptorPool ), | |
| 9312 1, | |
| 9313 reinterpret_cast<VkDescriptorSet const *>( &m_descriptorSet ) ); | |
| 9314 } | |
| 9315 m_device = nullptr; | |
| 9316 m_descriptorPool = nullptr; | |
| 9317 m_descriptorSet = nullptr; | |
| 9318 m_dispatcher = nullptr; | |
| 9319 } | |
| 9320 | |
| 9321 VULKAN_HPP_NAMESPACE::DescriptorSet release() | |
| 9322 { | |
| 9323 m_device = nullptr; | |
| 9324 m_descriptorPool = nullptr; | |
| 9325 m_dispatcher = nullptr; | |
| 9326 return exchange( m_descriptorSet, nullptr ); | |
| 9327 } | |
| 9328 | |
| 9329 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 9330 { | |
| 9331 return m_device; | |
| 9332 } | |
| 9333 | |
| 9334 detail::DeviceDispatcher const * getDispatcher() const | |
| 9335 { | |
| 9336 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 9337 return m_dispatcher; | |
| 9338 } | |
| 9339 | |
| 9340 void swap( DescriptorSet & rhs ) VULKAN_HPP_NOEXCEPT | |
| 9341 { | |
| 9342 std::swap( m_device, rhs.m_device ); | |
| 9343 std::swap( m_descriptorPool, rhs.m_descriptorPool ); | |
| 9344 std::swap( m_descriptorSet, rhs.m_descriptorSet ); | |
| 9345 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 9346 } | |
| 9347 | |
| 9348 //=== VK_VERSION_1_1 === | |
| 9349 | |
| 9350 // wrapper function for command vkUpdateDescriptorSetWithTemplate, see | |
| 9351 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateDescriptorSetWithTemplate.html | |
| 9352 template <typename DataType> | |
| 9353 void updateWithTemplate( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, DataType const & data ) const VULKAN_HPP_NOEXCEPT; | |
| 9354 | |
| 9355 //=== VK_KHR_descriptor_update_template === | |
| 9356 | |
| 9357 // wrapper function for command vkUpdateDescriptorSetWithTemplateKHR, see | |
| 9358 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateDescriptorSetWithTemplateKHR.html | |
| 9359 template <typename DataType> | |
| 9360 void updateWithTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, DataType const & data ) const VULKAN_HPP_NOEXCEPT; | |
| 9361 | |
| 9362 //=== VK_VALVE_descriptor_set_host_mapping === | |
| 9363 | |
| 9364 // wrapper function for command vkGetDescriptorSetHostMappingVALVE, see | |
| 9365 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetHostMappingVALVE.html | |
| 9366 VULKAN_HPP_NODISCARD void * getHostMappingVALVE() const VULKAN_HPP_NOEXCEPT; | |
| 9367 | |
| 9368 private: | |
| 9369 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 9370 VULKAN_HPP_NAMESPACE::DescriptorPool m_descriptorPool = {}; | |
| 9371 VULKAN_HPP_NAMESPACE::DescriptorSet m_descriptorSet = {}; | |
| 9372 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 9373 }; | |
| 9374 | |
| 9375 template <> | |
| 9376 struct isVulkanRAIIHandleType<DescriptorSet> | |
| 9377 { | |
| 9378 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 9379 }; | |
| 9380 | |
| 9381 class DescriptorSets : public std::vector<DescriptorSet> | |
| 9382 { | |
| 9383 public: | |
| 9384 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 9385 DescriptorSets( Device const & device, DescriptorSetAllocateInfo const & allocateInfo ) | |
| 9386 { | |
| 9387 *this = device.allocateDescriptorSets( allocateInfo ); | |
| 9388 } | |
| 9389 # endif | |
| 9390 | |
| 9391 DescriptorSets( std::nullptr_t ) {} | |
| 9392 | |
| 9393 DescriptorSets() = delete; | |
| 9394 DescriptorSets( DescriptorSets const & ) = delete; | |
| 9395 DescriptorSets( DescriptorSets && rhs ) = default; | |
| 9396 DescriptorSets & operator=( DescriptorSets const & ) = delete; | |
| 9397 DescriptorSets & operator=( DescriptorSets && rhs ) = default; | |
| 9398 | |
| 9399 private: | |
| 9400 DescriptorSets( std::vector<DescriptorSet> && rhs ) | |
| 9401 { | |
| 9402 std::swap( *this, rhs ); | |
| 9403 } | |
| 9404 }; | |
| 9405 | |
| 9406 // wrapper class for handle VkDescriptorSetLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorSetLayout.html | |
| 9407 class DescriptorSetLayout | |
| 9408 { | |
| 9409 public: | |
| 9410 using CType = VkDescriptorSetLayout; | |
| 9411 using CppType = VULKAN_HPP_NAMESPACE::DescriptorSetLayout; | |
| 9412 | |
| 9413 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eDescriptorSetLayout; | |
| 9414 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eDescriptorSetLayout; | |
| 9415 | |
| 9416 public: | |
| 9417 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 9418 DescriptorSetLayout( Device const & device, DescriptorSetLayoutCreateInfo const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 9419 { | |
| 9420 *this = device.createDescriptorSetLayout( createInfo, allocator ); | |
| 9421 } | |
| 9422 # endif | |
| 9423 | |
| 9424 DescriptorSetLayout( Device const & device, VkDescriptorSetLayout descriptorSetLayout, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 9425 : m_device( device ) | |
| 9426 , m_descriptorSetLayout( descriptorSetLayout ) | |
| 9427 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 9428 , m_dispatcher( device.getDispatcher() ) | |
| 9429 { | |
| 9430 } | |
| 9431 | |
| 9432 DescriptorSetLayout( std::nullptr_t ) {} | |
| 9433 | |
| 9434 ~DescriptorSetLayout() | |
| 9435 { | |
| 9436 clear(); | |
| 9437 } | |
| 9438 | |
| 9439 DescriptorSetLayout() = delete; | |
| 9440 DescriptorSetLayout( DescriptorSetLayout const & ) = delete; | |
| 9441 | |
| 9442 DescriptorSetLayout( DescriptorSetLayout && rhs ) VULKAN_HPP_NOEXCEPT | |
| 9443 : m_device( exchange( rhs.m_device, {} ) ) | |
| 9444 , m_descriptorSetLayout( exchange( rhs.m_descriptorSetLayout, {} ) ) | |
| 9445 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 9446 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 9447 { | |
| 9448 } | |
| 9449 | |
| 9450 DescriptorSetLayout & operator=( DescriptorSetLayout const & ) = delete; | |
| 9451 | |
| 9452 DescriptorSetLayout & operator=( DescriptorSetLayout && rhs ) VULKAN_HPP_NOEXCEPT | |
| 9453 { | |
| 9454 if ( this != &rhs ) | |
| 9455 { | |
| 9456 std::swap( m_device, rhs.m_device ); | |
| 9457 std::swap( m_descriptorSetLayout, rhs.m_descriptorSetLayout ); | |
| 9458 std::swap( m_allocator, rhs.m_allocator ); | |
| 9459 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 9460 } | |
| 9461 return *this; | |
| 9462 } | |
| 9463 | |
| 9464 VULKAN_HPP_NAMESPACE::DescriptorSetLayout const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 9465 { | |
| 9466 return m_descriptorSetLayout; | |
| 9467 } | |
| 9468 | |
| 9469 VULKAN_HPP_NAMESPACE::DescriptorSetLayout const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 9470 { | |
| 9471 return std::move( m_descriptorSetLayout ); | |
| 9472 } | |
| 9473 | |
| 9474 operator VULKAN_HPP_NAMESPACE::DescriptorSetLayout() const VULKAN_HPP_NOEXCEPT | |
| 9475 { | |
| 9476 return m_descriptorSetLayout; | |
| 9477 } | |
| 9478 | |
| 9479 void clear() VULKAN_HPP_NOEXCEPT | |
| 9480 { | |
| 9481 if ( m_descriptorSetLayout ) | |
| 9482 { | |
| 9483 getDispatcher()->vkDestroyDescriptorSetLayout( static_cast<VkDevice>( m_device ), | |
| 9484 static_cast<VkDescriptorSetLayout>( m_descriptorSetLayout ), | |
| 9485 reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 9486 } | |
| 9487 m_device = nullptr; | |
| 9488 m_descriptorSetLayout = nullptr; | |
| 9489 m_allocator = nullptr; | |
| 9490 m_dispatcher = nullptr; | |
| 9491 } | |
| 9492 | |
| 9493 VULKAN_HPP_NAMESPACE::DescriptorSetLayout release() | |
| 9494 { | |
| 9495 m_device = nullptr; | |
| 9496 m_allocator = nullptr; | |
| 9497 m_dispatcher = nullptr; | |
| 9498 return exchange( m_descriptorSetLayout, nullptr ); | |
| 9499 } | |
| 9500 | |
| 9501 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 9502 { | |
| 9503 return m_device; | |
| 9504 } | |
| 9505 | |
| 9506 detail::DeviceDispatcher const * getDispatcher() const | |
| 9507 { | |
| 9508 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 9509 return m_dispatcher; | |
| 9510 } | |
| 9511 | |
| 9512 void swap( DescriptorSetLayout & rhs ) VULKAN_HPP_NOEXCEPT | |
| 9513 { | |
| 9514 std::swap( m_device, rhs.m_device ); | |
| 9515 std::swap( m_descriptorSetLayout, rhs.m_descriptorSetLayout ); | |
| 9516 std::swap( m_allocator, rhs.m_allocator ); | |
| 9517 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 9518 } | |
| 9519 | |
| 9520 //=== VK_EXT_descriptor_buffer === | |
| 9521 | |
| 9522 // wrapper function for command vkGetDescriptorSetLayoutSizeEXT, see | |
| 9523 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSizeEXT.html | |
| 9524 VULKAN_HPP_NODISCARD DeviceSize getSizeEXT() const VULKAN_HPP_NOEXCEPT; | |
| 9525 | |
| 9526 // wrapper function for command vkGetDescriptorSetLayoutBindingOffsetEXT, see | |
| 9527 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutBindingOffsetEXT.html | |
| 9528 VULKAN_HPP_NODISCARD DeviceSize getBindingOffsetEXT( uint32_t binding ) const VULKAN_HPP_NOEXCEPT; | |
| 9529 | |
| 9530 private: | |
| 9531 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 9532 VULKAN_HPP_NAMESPACE::DescriptorSetLayout m_descriptorSetLayout = {}; | |
| 9533 const AllocationCallbacks * m_allocator = {}; | |
| 9534 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 9535 }; | |
| 9536 | |
| 9537 template <> | |
| 9538 struct isVulkanRAIIHandleType<DescriptorSetLayout> | |
| 9539 { | |
| 9540 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 9541 }; | |
| 9542 | |
| 9543 // wrapper class for handle VkDescriptorUpdateTemplate, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorUpdateTemplate.html | |
| 9544 class DescriptorUpdateTemplate | |
| 9545 { | |
| 9546 public: | |
| 9547 using CType = VkDescriptorUpdateTemplate; | |
| 9548 using CppType = VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate; | |
| 9549 | |
| 9550 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eDescriptorUpdateTemplate; | |
| 9551 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eDescriptorUpdateTemplate; | |
| 9552 | |
| 9553 public: | |
| 9554 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 9555 DescriptorUpdateTemplate( Device const & device, | |
| 9556 DescriptorUpdateTemplateCreateInfo const & createInfo, | |
| 9557 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 9558 { | |
| 9559 *this = device.createDescriptorUpdateTemplate( createInfo, allocator ); | |
| 9560 } | |
| 9561 # endif | |
| 9562 | |
| 9563 DescriptorUpdateTemplate( Device const & device, | |
| 9564 VkDescriptorUpdateTemplate descriptorUpdateTemplate, | |
| 9565 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 9566 : m_device( device ) | |
| 9567 , m_descriptorUpdateTemplate( descriptorUpdateTemplate ) | |
| 9568 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 9569 , m_dispatcher( device.getDispatcher() ) | |
| 9570 { | |
| 9571 } | |
| 9572 | |
| 9573 DescriptorUpdateTemplate( std::nullptr_t ) {} | |
| 9574 | |
| 9575 ~DescriptorUpdateTemplate() | |
| 9576 { | |
| 9577 clear(); | |
| 9578 } | |
| 9579 | |
| 9580 DescriptorUpdateTemplate() = delete; | |
| 9581 DescriptorUpdateTemplate( DescriptorUpdateTemplate const & ) = delete; | |
| 9582 | |
| 9583 DescriptorUpdateTemplate( DescriptorUpdateTemplate && rhs ) VULKAN_HPP_NOEXCEPT | |
| 9584 : m_device( exchange( rhs.m_device, {} ) ) | |
| 9585 , m_descriptorUpdateTemplate( exchange( rhs.m_descriptorUpdateTemplate, {} ) ) | |
| 9586 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 9587 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 9588 { | |
| 9589 } | |
| 9590 | |
| 9591 DescriptorUpdateTemplate & operator=( DescriptorUpdateTemplate const & ) = delete; | |
| 9592 | |
| 9593 DescriptorUpdateTemplate & operator=( DescriptorUpdateTemplate && rhs ) VULKAN_HPP_NOEXCEPT | |
| 9594 { | |
| 9595 if ( this != &rhs ) | |
| 9596 { | |
| 9597 std::swap( m_device, rhs.m_device ); | |
| 9598 std::swap( m_descriptorUpdateTemplate, rhs.m_descriptorUpdateTemplate ); | |
| 9599 std::swap( m_allocator, rhs.m_allocator ); | |
| 9600 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 9601 } | |
| 9602 return *this; | |
| 9603 } | |
| 9604 | |
| 9605 VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 9606 { | |
| 9607 return m_descriptorUpdateTemplate; | |
| 9608 } | |
| 9609 | |
| 9610 VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 9611 { | |
| 9612 return std::move( m_descriptorUpdateTemplate ); | |
| 9613 } | |
| 9614 | |
| 9615 operator VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate() const VULKAN_HPP_NOEXCEPT | |
| 9616 { | |
| 9617 return m_descriptorUpdateTemplate; | |
| 9618 } | |
| 9619 | |
| 9620 void clear() VULKAN_HPP_NOEXCEPT | |
| 9621 { | |
| 9622 if ( m_descriptorUpdateTemplate ) | |
| 9623 { | |
| 9624 getDispatcher()->vkDestroyDescriptorUpdateTemplate( static_cast<VkDevice>( m_device ), | |
| 9625 static_cast<VkDescriptorUpdateTemplate>( m_descriptorUpdateTemplate ), | |
| 9626 reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 9627 } | |
| 9628 m_device = nullptr; | |
| 9629 m_descriptorUpdateTemplate = nullptr; | |
| 9630 m_allocator = nullptr; | |
| 9631 m_dispatcher = nullptr; | |
| 9632 } | |
| 9633 | |
| 9634 VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate release() | |
| 9635 { | |
| 9636 m_device = nullptr; | |
| 9637 m_allocator = nullptr; | |
| 9638 m_dispatcher = nullptr; | |
| 9639 return exchange( m_descriptorUpdateTemplate, nullptr ); | |
| 9640 } | |
| 9641 | |
| 9642 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 9643 { | |
| 9644 return m_device; | |
| 9645 } | |
| 9646 | |
| 9647 detail::DeviceDispatcher const * getDispatcher() const | |
| 9648 { | |
| 9649 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 9650 return m_dispatcher; | |
| 9651 } | |
| 9652 | |
| 9653 void swap( DescriptorUpdateTemplate & rhs ) VULKAN_HPP_NOEXCEPT | |
| 9654 { | |
| 9655 std::swap( m_device, rhs.m_device ); | |
| 9656 std::swap( m_descriptorUpdateTemplate, rhs.m_descriptorUpdateTemplate ); | |
| 9657 std::swap( m_allocator, rhs.m_allocator ); | |
| 9658 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 9659 } | |
| 9660 | |
| 9661 private: | |
| 9662 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 9663 VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate m_descriptorUpdateTemplate = {}; | |
| 9664 const AllocationCallbacks * m_allocator = {}; | |
| 9665 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 9666 }; | |
| 9667 | |
| 9668 template <> | |
| 9669 struct isVulkanRAIIHandleType<DescriptorUpdateTemplate> | |
| 9670 { | |
| 9671 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 9672 }; | |
| 9673 | |
| 9674 // wrapper class for handle VkDeviceMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceMemory.html | |
| 9675 class DeviceMemory | |
| 9676 { | |
| 9677 public: | |
| 9678 using CType = VkDeviceMemory; | |
| 9679 using CppType = VULKAN_HPP_NAMESPACE::DeviceMemory; | |
| 9680 | |
| 9681 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eDeviceMemory; | |
| 9682 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eDeviceMemory; | |
| 9683 | |
| 9684 public: | |
| 9685 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 9686 DeviceMemory( Device const & device, MemoryAllocateInfo const & allocateInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 9687 { | |
| 9688 *this = device.allocateMemory( allocateInfo, allocator ); | |
| 9689 } | |
| 9690 # endif | |
| 9691 | |
| 9692 DeviceMemory( Device const & device, VkDeviceMemory memory, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 9693 : m_device( device ) | |
| 9694 , m_deviceMemory( memory ) | |
| 9695 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 9696 , m_dispatcher( device.getDispatcher() ) | |
| 9697 { | |
| 9698 } | |
| 9699 | |
| 9700 DeviceMemory( std::nullptr_t ) {} | |
| 9701 | |
| 9702 ~DeviceMemory() | |
| 9703 { | |
| 9704 clear(); | |
| 9705 } | |
| 9706 | |
| 9707 DeviceMemory() = delete; | |
| 9708 DeviceMemory( DeviceMemory const & ) = delete; | |
| 9709 | |
| 9710 DeviceMemory( DeviceMemory && rhs ) VULKAN_HPP_NOEXCEPT | |
| 9711 : m_device( exchange( rhs.m_device, {} ) ) | |
| 9712 , m_deviceMemory( exchange( rhs.m_deviceMemory, {} ) ) | |
| 9713 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 9714 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 9715 { | |
| 9716 } | |
| 9717 | |
| 9718 DeviceMemory & operator=( DeviceMemory const & ) = delete; | |
| 9719 | |
| 9720 DeviceMemory & operator=( DeviceMemory && rhs ) VULKAN_HPP_NOEXCEPT | |
| 9721 { | |
| 9722 if ( this != &rhs ) | |
| 9723 { | |
| 9724 std::swap( m_device, rhs.m_device ); | |
| 9725 std::swap( m_deviceMemory, rhs.m_deviceMemory ); | |
| 9726 std::swap( m_allocator, rhs.m_allocator ); | |
| 9727 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 9728 } | |
| 9729 return *this; | |
| 9730 } | |
| 9731 | |
| 9732 VULKAN_HPP_NAMESPACE::DeviceMemory const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 9733 { | |
| 9734 return m_deviceMemory; | |
| 9735 } | |
| 9736 | |
| 9737 VULKAN_HPP_NAMESPACE::DeviceMemory const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 9738 { | |
| 9739 return std::move( m_deviceMemory ); | |
| 9740 } | |
| 9741 | |
| 9742 operator VULKAN_HPP_NAMESPACE::DeviceMemory() const VULKAN_HPP_NOEXCEPT | |
| 9743 { | |
| 9744 return m_deviceMemory; | |
| 9745 } | |
| 9746 | |
| 9747 void clear() VULKAN_HPP_NOEXCEPT | |
| 9748 { | |
| 9749 if ( m_deviceMemory ) | |
| 9750 { | |
| 9751 getDispatcher()->vkFreeMemory( | |
| 9752 static_cast<VkDevice>( m_device ), static_cast<VkDeviceMemory>( m_deviceMemory ), reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 9753 } | |
| 9754 m_device = nullptr; | |
| 9755 m_deviceMemory = nullptr; | |
| 9756 m_allocator = nullptr; | |
| 9757 m_dispatcher = nullptr; | |
| 9758 } | |
| 9759 | |
| 9760 VULKAN_HPP_NAMESPACE::DeviceMemory release() | |
| 9761 { | |
| 9762 m_device = nullptr; | |
| 9763 m_allocator = nullptr; | |
| 9764 m_dispatcher = nullptr; | |
| 9765 return exchange( m_deviceMemory, nullptr ); | |
| 9766 } | |
| 9767 | |
| 9768 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 9769 { | |
| 9770 return m_device; | |
| 9771 } | |
| 9772 | |
| 9773 detail::DeviceDispatcher const * getDispatcher() const | |
| 9774 { | |
| 9775 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 9776 return m_dispatcher; | |
| 9777 } | |
| 9778 | |
| 9779 void swap( DeviceMemory & rhs ) VULKAN_HPP_NOEXCEPT | |
| 9780 { | |
| 9781 std::swap( m_device, rhs.m_device ); | |
| 9782 std::swap( m_deviceMemory, rhs.m_deviceMemory ); | |
| 9783 std::swap( m_allocator, rhs.m_allocator ); | |
| 9784 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 9785 } | |
| 9786 | |
| 9787 //=== VK_VERSION_1_0 === | |
| 9788 | |
| 9789 // wrapper function for command vkMapMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMapMemory.html | |
| 9790 VULKAN_HPP_NODISCARD typename ResultValueType<void *>::type | |
| 9791 mapMemory( DeviceSize offset, DeviceSize size, MemoryMapFlags flags VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const; | |
| 9792 | |
| 9793 // wrapper function for command vkUnmapMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUnmapMemory.html | |
| 9794 void unmapMemory() const VULKAN_HPP_NOEXCEPT; | |
| 9795 | |
| 9796 // wrapper function for command vkGetDeviceMemoryCommitment, see | |
| 9797 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMemoryCommitment.html | |
| 9798 VULKAN_HPP_NODISCARD DeviceSize getCommitment() const VULKAN_HPP_NOEXCEPT; | |
| 9799 | |
| 9800 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 9801 //=== VK_NV_external_memory_win32 === | |
| 9802 | |
| 9803 // wrapper function for command vkGetMemoryWin32HandleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryWin32HandleNV.html | |
| 9804 VULKAN_HPP_NODISCARD typename ResultValueType<HANDLE>::type getMemoryWin32HandleNV( ExternalMemoryHandleTypeFlagsNV handleType ) const; | |
| 9805 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 9806 | |
| 9807 //=== VK_EXT_pageable_device_local_memory === | |
| 9808 | |
| 9809 // wrapper function for command vkSetDeviceMemoryPriorityEXT, see | |
| 9810 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDeviceMemoryPriorityEXT.html | |
| 9811 void setPriorityEXT( float priority ) const VULKAN_HPP_NOEXCEPT; | |
| 9812 | |
| 9813 private: | |
| 9814 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 9815 VULKAN_HPP_NAMESPACE::DeviceMemory m_deviceMemory = {}; | |
| 9816 const AllocationCallbacks * m_allocator = {}; | |
| 9817 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 9818 }; | |
| 9819 | |
| 9820 template <> | |
| 9821 struct isVulkanRAIIHandleType<DeviceMemory> | |
| 9822 { | |
| 9823 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 9824 }; | |
| 9825 | |
| 9826 // wrapper class for handle VkDisplayKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplayKHR.html | |
| 9827 class DisplayKHR | |
| 9828 { | |
| 9829 public: | |
| 9830 using CType = VkDisplayKHR; | |
| 9831 using CppType = VULKAN_HPP_NAMESPACE::DisplayKHR; | |
| 9832 | |
| 9833 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eDisplayKHR; | |
| 9834 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eDisplayKHR; | |
| 9835 | |
| 9836 public: | |
| 9837 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 9838 DisplayKHR( PhysicalDevice const & physicalDevice, int32_t drmFd, uint32_t connectorId ) | |
| 9839 { | |
| 9840 *this = physicalDevice.getDrmDisplayEXT( drmFd, connectorId ); | |
| 9841 } | |
| 9842 # endif | |
| 9843 | |
| 9844 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 9845 # if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT ) | |
| 9846 DisplayKHR( PhysicalDevice const & physicalDevice, Display & dpy, RROutput rrOutput ) | |
| 9847 { | |
| 9848 *this = physicalDevice.getRandROutputDisplayEXT( dpy, rrOutput ); | |
| 9849 } | |
| 9850 # endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/ | |
| 9851 # endif | |
| 9852 | |
| 9853 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 9854 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 9855 DisplayKHR( PhysicalDevice const & physicalDevice, uint32_t deviceRelativeId ) | |
| 9856 { | |
| 9857 *this = physicalDevice.getWinrtDisplayNV( deviceRelativeId ); | |
| 9858 } | |
| 9859 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 9860 # endif | |
| 9861 | |
| 9862 DisplayKHR( PhysicalDevice const & physicalDevice, VkDisplayKHR display ) | |
| 9863 : m_physicalDevice( physicalDevice ), m_displayKHR( display ), m_dispatcher( physicalDevice.getDispatcher() ) | |
| 9864 { | |
| 9865 } | |
| 9866 | |
| 9867 DisplayKHR( std::nullptr_t ) {} | |
| 9868 | |
| 9869 ~DisplayKHR() | |
| 9870 { | |
| 9871 clear(); | |
| 9872 } | |
| 9873 | |
| 9874 DisplayKHR() = delete; | |
| 9875 DisplayKHR( DisplayKHR const & ) = delete; | |
| 9876 | |
| 9877 DisplayKHR( DisplayKHR && rhs ) VULKAN_HPP_NOEXCEPT | |
| 9878 : m_physicalDevice( exchange( rhs.m_physicalDevice, {} ) ) | |
| 9879 , m_displayKHR( exchange( rhs.m_displayKHR, {} ) ) | |
| 9880 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 9881 { | |
| 9882 } | |
| 9883 | |
| 9884 DisplayKHR & operator=( DisplayKHR const & ) = delete; | |
| 9885 | |
| 9886 DisplayKHR & operator=( DisplayKHR && rhs ) VULKAN_HPP_NOEXCEPT | |
| 9887 { | |
| 9888 if ( this != &rhs ) | |
| 9889 { | |
| 9890 std::swap( m_physicalDevice, rhs.m_physicalDevice ); | |
| 9891 std::swap( m_displayKHR, rhs.m_displayKHR ); | |
| 9892 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 9893 } | |
| 9894 return *this; | |
| 9895 } | |
| 9896 | |
| 9897 VULKAN_HPP_NAMESPACE::DisplayKHR const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 9898 { | |
| 9899 return m_displayKHR; | |
| 9900 } | |
| 9901 | |
| 9902 VULKAN_HPP_NAMESPACE::DisplayKHR const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 9903 { | |
| 9904 return std::move( m_displayKHR ); | |
| 9905 } | |
| 9906 | |
| 9907 operator VULKAN_HPP_NAMESPACE::DisplayKHR() const VULKAN_HPP_NOEXCEPT | |
| 9908 { | |
| 9909 return m_displayKHR; | |
| 9910 } | |
| 9911 | |
| 9912 void clear() VULKAN_HPP_NOEXCEPT | |
| 9913 { | |
| 9914 if ( m_displayKHR ) | |
| 9915 { | |
| 9916 getDispatcher()->vkReleaseDisplayEXT( static_cast<VkPhysicalDevice>( m_physicalDevice ), static_cast<VkDisplayKHR>( m_displayKHR ) ); | |
| 9917 } | |
| 9918 m_physicalDevice = nullptr; | |
| 9919 m_displayKHR = nullptr; | |
| 9920 m_dispatcher = nullptr; | |
| 9921 } | |
| 9922 | |
| 9923 VULKAN_HPP_NAMESPACE::DisplayKHR release() | |
| 9924 { | |
| 9925 m_physicalDevice = nullptr; | |
| 9926 m_dispatcher = nullptr; | |
| 9927 return exchange( m_displayKHR, nullptr ); | |
| 9928 } | |
| 9929 | |
| 9930 VULKAN_HPP_NAMESPACE::PhysicalDevice getPhysicalDevice() const | |
| 9931 { | |
| 9932 return m_physicalDevice; | |
| 9933 } | |
| 9934 | |
| 9935 detail::InstanceDispatcher const * getDispatcher() const | |
| 9936 { | |
| 9937 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 9938 return m_dispatcher; | |
| 9939 } | |
| 9940 | |
| 9941 void swap( DisplayKHR & rhs ) VULKAN_HPP_NOEXCEPT | |
| 9942 { | |
| 9943 std::swap( m_physicalDevice, rhs.m_physicalDevice ); | |
| 9944 std::swap( m_displayKHR, rhs.m_displayKHR ); | |
| 9945 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 9946 } | |
| 9947 | |
| 9948 //=== VK_KHR_display === | |
| 9949 | |
| 9950 // wrapper function for command vkGetDisplayModePropertiesKHR, see | |
| 9951 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModePropertiesKHR.html | |
| 9952 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DisplayModePropertiesKHR>>::type getModeProperties() const; | |
| 9953 | |
| 9954 // wrapper function for command vkCreateDisplayModeKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDisplayModeKHR.html | |
| 9955 VULKAN_HPP_NODISCARD typename ResultValueType<DisplayModeKHR>::type | |
| 9956 createMode( DisplayModeCreateInfoKHR const & createInfo, | |
| 9957 Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; | |
| 9958 | |
| 9959 //=== VK_KHR_get_display_properties2 === | |
| 9960 | |
| 9961 // wrapper function for command vkGetDisplayModeProperties2KHR, see | |
| 9962 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModeProperties2KHR.html | |
| 9963 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DisplayModeProperties2KHR>>::type getModeProperties2() const; | |
| 9964 | |
| 9965 // wrapper function for command vkGetDisplayModeProperties2KHR, see | |
| 9966 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModeProperties2KHR.html | |
| 9967 template <typename StructureChain> | |
| 9968 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<StructureChain>>::type getModeProperties2() const; | |
| 9969 | |
| 9970 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 9971 //=== VK_NV_acquire_winrt_display === | |
| 9972 | |
| 9973 // wrapper function for command vkAcquireWinrtDisplayNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireWinrtDisplayNV.html | |
| 9974 typename ResultValueType<void>::type acquireWinrtNV() const; | |
| 9975 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 9976 | |
| 9977 private: | |
| 9978 VULKAN_HPP_NAMESPACE::PhysicalDevice m_physicalDevice = {}; | |
| 9979 VULKAN_HPP_NAMESPACE::DisplayKHR m_displayKHR = {}; | |
| 9980 detail::InstanceDispatcher const * m_dispatcher = nullptr; | |
| 9981 }; | |
| 9982 | |
| 9983 template <> | |
| 9984 struct isVulkanRAIIHandleType<DisplayKHR> | |
| 9985 { | |
| 9986 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 9987 }; | |
| 9988 | |
| 9989 class DisplayKHRs : public std::vector<DisplayKHR> | |
| 9990 { | |
| 9991 public: | |
| 9992 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 9993 DisplayKHRs( PhysicalDevice const & physicalDevice, uint32_t planeIndex ) | |
| 9994 { | |
| 9995 *this = physicalDevice.getDisplayPlaneSupportedDisplaysKHR( planeIndex ); | |
| 9996 } | |
| 9997 # endif | |
| 9998 | |
| 9999 DisplayKHRs( std::nullptr_t ) {} | |
| 10000 | |
| 10001 DisplayKHRs() = delete; | |
| 10002 DisplayKHRs( DisplayKHRs const & ) = delete; | |
| 10003 DisplayKHRs( DisplayKHRs && rhs ) = default; | |
| 10004 DisplayKHRs & operator=( DisplayKHRs const & ) = delete; | |
| 10005 DisplayKHRs & operator=( DisplayKHRs && rhs ) = default; | |
| 10006 | |
| 10007 private: | |
| 10008 DisplayKHRs( std::vector<DisplayKHR> && rhs ) | |
| 10009 { | |
| 10010 std::swap( *this, rhs ); | |
| 10011 } | |
| 10012 }; | |
| 10013 | |
| 10014 // wrapper class for handle VkDisplayModeKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplayModeKHR.html | |
| 10015 class DisplayModeKHR | |
| 10016 { | |
| 10017 public: | |
| 10018 using CType = VkDisplayModeKHR; | |
| 10019 using CppType = VULKAN_HPP_NAMESPACE::DisplayModeKHR; | |
| 10020 | |
| 10021 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eDisplayModeKHR; | |
| 10022 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eDisplayModeKHR; | |
| 10023 | |
| 10024 public: | |
| 10025 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 10026 DisplayModeKHR( DisplayKHR const & display, DisplayModeCreateInfoKHR const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 10027 { | |
| 10028 *this = display.createMode( createInfo, allocator ); | |
| 10029 } | |
| 10030 # endif | |
| 10031 | |
| 10032 DisplayModeKHR( DisplayKHR const & display, VkDisplayModeKHR displayModeKHR ) | |
| 10033 : m_physicalDevice( display.getPhysicalDevice() ), m_displayModeKHR( displayModeKHR ), m_dispatcher( display.getDispatcher() ) | |
| 10034 { | |
| 10035 } | |
| 10036 | |
| 10037 DisplayModeKHR( std::nullptr_t ) {} | |
| 10038 | |
| 10039 ~DisplayModeKHR() | |
| 10040 { | |
| 10041 clear(); | |
| 10042 } | |
| 10043 | |
| 10044 DisplayModeKHR() = delete; | |
| 10045 | |
| 10046 DisplayModeKHR( DisplayModeKHR const & rhs ) : m_displayModeKHR( rhs.m_displayModeKHR ), m_dispatcher( rhs.m_dispatcher ) {} | |
| 10047 | |
| 10048 DisplayModeKHR( DisplayModeKHR && rhs ) VULKAN_HPP_NOEXCEPT | |
| 10049 : m_physicalDevice( exchange( rhs.m_physicalDevice, {} ) ) | |
| 10050 , m_displayModeKHR( exchange( rhs.m_displayModeKHR, {} ) ) | |
| 10051 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 10052 { | |
| 10053 } | |
| 10054 | |
| 10055 DisplayModeKHR & operator=( DisplayModeKHR const & rhs ) | |
| 10056 { | |
| 10057 m_displayModeKHR = rhs.m_displayModeKHR; | |
| 10058 m_dispatcher = rhs.m_dispatcher; | |
| 10059 return *this; | |
| 10060 } | |
| 10061 | |
| 10062 DisplayModeKHR & operator=( DisplayModeKHR && rhs ) VULKAN_HPP_NOEXCEPT | |
| 10063 { | |
| 10064 if ( this != &rhs ) | |
| 10065 { | |
| 10066 std::swap( m_physicalDevice, rhs.m_physicalDevice ); | |
| 10067 std::swap( m_displayModeKHR, rhs.m_displayModeKHR ); | |
| 10068 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 10069 } | |
| 10070 return *this; | |
| 10071 } | |
| 10072 | |
| 10073 VULKAN_HPP_NAMESPACE::DisplayModeKHR const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 10074 { | |
| 10075 return m_displayModeKHR; | |
| 10076 } | |
| 10077 | |
| 10078 VULKAN_HPP_NAMESPACE::DisplayModeKHR const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 10079 { | |
| 10080 return std::move( m_displayModeKHR ); | |
| 10081 } | |
| 10082 | |
| 10083 operator VULKAN_HPP_NAMESPACE::DisplayModeKHR() const VULKAN_HPP_NOEXCEPT | |
| 10084 { | |
| 10085 return m_displayModeKHR; | |
| 10086 } | |
| 10087 | |
| 10088 void clear() VULKAN_HPP_NOEXCEPT | |
| 10089 { | |
| 10090 m_physicalDevice = nullptr; | |
| 10091 m_displayModeKHR = nullptr; | |
| 10092 m_dispatcher = nullptr; | |
| 10093 } | |
| 10094 | |
| 10095 VULKAN_HPP_NAMESPACE::DisplayModeKHR release() | |
| 10096 { | |
| 10097 m_physicalDevice = nullptr; | |
| 10098 m_dispatcher = nullptr; | |
| 10099 return exchange( m_displayModeKHR, nullptr ); | |
| 10100 } | |
| 10101 | |
| 10102 detail::InstanceDispatcher const * getDispatcher() const | |
| 10103 { | |
| 10104 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 10105 return m_dispatcher; | |
| 10106 } | |
| 10107 | |
| 10108 void swap( DisplayModeKHR & rhs ) VULKAN_HPP_NOEXCEPT | |
| 10109 { | |
| 10110 std::swap( m_physicalDevice, rhs.m_physicalDevice ); | |
| 10111 std::swap( m_displayModeKHR, rhs.m_displayModeKHR ); | |
| 10112 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 10113 } | |
| 10114 | |
| 10115 //=== VK_KHR_display === | |
| 10116 | |
| 10117 // wrapper function for command vkGetDisplayPlaneCapabilitiesKHR, see | |
| 10118 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayPlaneCapabilitiesKHR.html | |
| 10119 VULKAN_HPP_NODISCARD typename ResultValueType<DisplayPlaneCapabilitiesKHR>::type getDisplayPlaneCapabilities( uint32_t planeIndex ) const; | |
| 10120 | |
| 10121 private: | |
| 10122 VULKAN_HPP_NAMESPACE::PhysicalDevice m_physicalDevice = {}; | |
| 10123 VULKAN_HPP_NAMESPACE::DisplayModeKHR m_displayModeKHR = {}; | |
| 10124 detail::InstanceDispatcher const * m_dispatcher = nullptr; | |
| 10125 }; | |
| 10126 | |
| 10127 template <> | |
| 10128 struct isVulkanRAIIHandleType<DisplayModeKHR> | |
| 10129 { | |
| 10130 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 10131 }; | |
| 10132 | |
| 10133 // wrapper class for handle VkEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkEvent.html | |
| 10134 class Event | |
| 10135 { | |
| 10136 public: | |
| 10137 using CType = VkEvent; | |
| 10138 using CppType = VULKAN_HPP_NAMESPACE::Event; | |
| 10139 | |
| 10140 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eEvent; | |
| 10141 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eEvent; | |
| 10142 | |
| 10143 public: | |
| 10144 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 10145 Event( Device const & device, EventCreateInfo const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 10146 { | |
| 10147 *this = device.createEvent( createInfo, allocator ); | |
| 10148 } | |
| 10149 # endif | |
| 10150 | |
| 10151 Event( Device const & device, VkEvent event, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 10152 : m_device( device ), m_event( event ), m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ), m_dispatcher( device.getDispatcher() ) | |
| 10153 { | |
| 10154 } | |
| 10155 | |
| 10156 Event( std::nullptr_t ) {} | |
| 10157 | |
| 10158 ~Event() | |
| 10159 { | |
| 10160 clear(); | |
| 10161 } | |
| 10162 | |
| 10163 Event() = delete; | |
| 10164 Event( Event const & ) = delete; | |
| 10165 | |
| 10166 Event( Event && rhs ) VULKAN_HPP_NOEXCEPT | |
| 10167 : m_device( exchange( rhs.m_device, {} ) ) | |
| 10168 , m_event( exchange( rhs.m_event, {} ) ) | |
| 10169 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 10170 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 10171 { | |
| 10172 } | |
| 10173 | |
| 10174 Event & operator=( Event const & ) = delete; | |
| 10175 | |
| 10176 Event & operator=( Event && rhs ) VULKAN_HPP_NOEXCEPT | |
| 10177 { | |
| 10178 if ( this != &rhs ) | |
| 10179 { | |
| 10180 std::swap( m_device, rhs.m_device ); | |
| 10181 std::swap( m_event, rhs.m_event ); | |
| 10182 std::swap( m_allocator, rhs.m_allocator ); | |
| 10183 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 10184 } | |
| 10185 return *this; | |
| 10186 } | |
| 10187 | |
| 10188 VULKAN_HPP_NAMESPACE::Event const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 10189 { | |
| 10190 return m_event; | |
| 10191 } | |
| 10192 | |
| 10193 VULKAN_HPP_NAMESPACE::Event const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 10194 { | |
| 10195 return std::move( m_event ); | |
| 10196 } | |
| 10197 | |
| 10198 operator VULKAN_HPP_NAMESPACE::Event() const VULKAN_HPP_NOEXCEPT | |
| 10199 { | |
| 10200 return m_event; | |
| 10201 } | |
| 10202 | |
| 10203 void clear() VULKAN_HPP_NOEXCEPT | |
| 10204 { | |
| 10205 if ( m_event ) | |
| 10206 { | |
| 10207 getDispatcher()->vkDestroyEvent( | |
| 10208 static_cast<VkDevice>( m_device ), static_cast<VkEvent>( m_event ), reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 10209 } | |
| 10210 m_device = nullptr; | |
| 10211 m_event = nullptr; | |
| 10212 m_allocator = nullptr; | |
| 10213 m_dispatcher = nullptr; | |
| 10214 } | |
| 10215 | |
| 10216 VULKAN_HPP_NAMESPACE::Event release() | |
| 10217 { | |
| 10218 m_device = nullptr; | |
| 10219 m_allocator = nullptr; | |
| 10220 m_dispatcher = nullptr; | |
| 10221 return exchange( m_event, nullptr ); | |
| 10222 } | |
| 10223 | |
| 10224 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 10225 { | |
| 10226 return m_device; | |
| 10227 } | |
| 10228 | |
| 10229 detail::DeviceDispatcher const * getDispatcher() const | |
| 10230 { | |
| 10231 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 10232 return m_dispatcher; | |
| 10233 } | |
| 10234 | |
| 10235 void swap( Event & rhs ) VULKAN_HPP_NOEXCEPT | |
| 10236 { | |
| 10237 std::swap( m_device, rhs.m_device ); | |
| 10238 std::swap( m_event, rhs.m_event ); | |
| 10239 std::swap( m_allocator, rhs.m_allocator ); | |
| 10240 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 10241 } | |
| 10242 | |
| 10243 //=== VK_VERSION_1_0 === | |
| 10244 | |
| 10245 // wrapper function for command vkGetEventStatus, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetEventStatus.html | |
| 10246 VULKAN_HPP_NODISCARD Result getStatus() const; | |
| 10247 | |
| 10248 // wrapper function for command vkSetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetEvent.html | |
| 10249 typename ResultValueType<void>::type set() const; | |
| 10250 | |
| 10251 // wrapper function for command vkResetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetEvent.html | |
| 10252 typename ResultValueType<void>::type reset() const; | |
| 10253 | |
| 10254 private: | |
| 10255 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 10256 VULKAN_HPP_NAMESPACE::Event m_event = {}; | |
| 10257 const AllocationCallbacks * m_allocator = {}; | |
| 10258 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 10259 }; | |
| 10260 | |
| 10261 template <> | |
| 10262 struct isVulkanRAIIHandleType<Event> | |
| 10263 { | |
| 10264 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 10265 }; | |
| 10266 | |
| 10267 // wrapper class for handle VkExternalComputeQueueNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalComputeQueueNV.html | |
| 10268 class ExternalComputeQueueNV | |
| 10269 { | |
| 10270 public: | |
| 10271 using CType = VkExternalComputeQueueNV; | |
| 10272 using CppType = VULKAN_HPP_NAMESPACE::ExternalComputeQueueNV; | |
| 10273 | |
| 10274 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eExternalComputeQueueNV; | |
| 10275 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eUnknown; | |
| 10276 | |
| 10277 public: | |
| 10278 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 10279 ExternalComputeQueueNV( Device const & device, | |
| 10280 ExternalComputeQueueCreateInfoNV const & createInfo, | |
| 10281 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 10282 { | |
| 10283 *this = device.createExternalComputeQueueNV( createInfo, allocator ); | |
| 10284 } | |
| 10285 # endif | |
| 10286 | |
| 10287 ExternalComputeQueueNV( Device const & device, VkExternalComputeQueueNV externalQueue, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 10288 : m_device( device ) | |
| 10289 , m_externalComputeQueueNV( externalQueue ) | |
| 10290 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 10291 , m_dispatcher( device.getDispatcher() ) | |
| 10292 { | |
| 10293 } | |
| 10294 | |
| 10295 ExternalComputeQueueNV( std::nullptr_t ) {} | |
| 10296 | |
| 10297 ~ExternalComputeQueueNV() | |
| 10298 { | |
| 10299 clear(); | |
| 10300 } | |
| 10301 | |
| 10302 ExternalComputeQueueNV() = delete; | |
| 10303 ExternalComputeQueueNV( ExternalComputeQueueNV const & ) = delete; | |
| 10304 | |
| 10305 ExternalComputeQueueNV( ExternalComputeQueueNV && rhs ) VULKAN_HPP_NOEXCEPT | |
| 10306 : m_device( exchange( rhs.m_device, {} ) ) | |
| 10307 , m_externalComputeQueueNV( exchange( rhs.m_externalComputeQueueNV, {} ) ) | |
| 10308 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 10309 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 10310 { | |
| 10311 } | |
| 10312 | |
| 10313 ExternalComputeQueueNV & operator=( ExternalComputeQueueNV const & ) = delete; | |
| 10314 | |
| 10315 ExternalComputeQueueNV & operator=( ExternalComputeQueueNV && rhs ) VULKAN_HPP_NOEXCEPT | |
| 10316 { | |
| 10317 if ( this != &rhs ) | |
| 10318 { | |
| 10319 std::swap( m_device, rhs.m_device ); | |
| 10320 std::swap( m_externalComputeQueueNV, rhs.m_externalComputeQueueNV ); | |
| 10321 std::swap( m_allocator, rhs.m_allocator ); | |
| 10322 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 10323 } | |
| 10324 return *this; | |
| 10325 } | |
| 10326 | |
| 10327 VULKAN_HPP_NAMESPACE::ExternalComputeQueueNV const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 10328 { | |
| 10329 return m_externalComputeQueueNV; | |
| 10330 } | |
| 10331 | |
| 10332 VULKAN_HPP_NAMESPACE::ExternalComputeQueueNV const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 10333 { | |
| 10334 return std::move( m_externalComputeQueueNV ); | |
| 10335 } | |
| 10336 | |
| 10337 operator VULKAN_HPP_NAMESPACE::ExternalComputeQueueNV() const VULKAN_HPP_NOEXCEPT | |
| 10338 { | |
| 10339 return m_externalComputeQueueNV; | |
| 10340 } | |
| 10341 | |
| 10342 void clear() VULKAN_HPP_NOEXCEPT | |
| 10343 { | |
| 10344 if ( m_externalComputeQueueNV ) | |
| 10345 { | |
| 10346 getDispatcher()->vkDestroyExternalComputeQueueNV( static_cast<VkDevice>( m_device ), | |
| 10347 static_cast<VkExternalComputeQueueNV>( m_externalComputeQueueNV ), | |
| 10348 reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 10349 } | |
| 10350 m_device = nullptr; | |
| 10351 m_externalComputeQueueNV = nullptr; | |
| 10352 m_allocator = nullptr; | |
| 10353 m_dispatcher = nullptr; | |
| 10354 } | |
| 10355 | |
| 10356 VULKAN_HPP_NAMESPACE::ExternalComputeQueueNV release() | |
| 10357 { | |
| 10358 m_device = nullptr; | |
| 10359 m_allocator = nullptr; | |
| 10360 m_dispatcher = nullptr; | |
| 10361 return exchange( m_externalComputeQueueNV, nullptr ); | |
| 10362 } | |
| 10363 | |
| 10364 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 10365 { | |
| 10366 return m_device; | |
| 10367 } | |
| 10368 | |
| 10369 detail::DeviceDispatcher const * getDispatcher() const | |
| 10370 { | |
| 10371 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 10372 return m_dispatcher; | |
| 10373 } | |
| 10374 | |
| 10375 void swap( ExternalComputeQueueNV & rhs ) VULKAN_HPP_NOEXCEPT | |
| 10376 { | |
| 10377 std::swap( m_device, rhs.m_device ); | |
| 10378 std::swap( m_externalComputeQueueNV, rhs.m_externalComputeQueueNV ); | |
| 10379 std::swap( m_allocator, rhs.m_allocator ); | |
| 10380 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 10381 } | |
| 10382 | |
| 10383 //=== VK_NV_external_compute_queue === | |
| 10384 | |
| 10385 // wrapper function for command vkGetExternalComputeQueueDataNV, see | |
| 10386 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetExternalComputeQueueDataNV.html | |
| 10387 template <typename DataType> | |
| 10388 VULKAN_HPP_NODISCARD std::pair<ExternalComputeQueueDataParamsNV, DataType> getData() const VULKAN_HPP_NOEXCEPT; | |
| 10389 | |
| 10390 private: | |
| 10391 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 10392 VULKAN_HPP_NAMESPACE::ExternalComputeQueueNV m_externalComputeQueueNV = {}; | |
| 10393 const AllocationCallbacks * m_allocator = {}; | |
| 10394 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 10395 }; | |
| 10396 | |
| 10397 template <> | |
| 10398 struct isVulkanRAIIHandleType<ExternalComputeQueueNV> | |
| 10399 { | |
| 10400 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 10401 }; | |
| 10402 | |
| 10403 // wrapper class for handle VkFence, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFence.html | |
| 10404 class Fence | |
| 10405 { | |
| 10406 public: | |
| 10407 using CType = VkFence; | |
| 10408 using CppType = VULKAN_HPP_NAMESPACE::Fence; | |
| 10409 | |
| 10410 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eFence; | |
| 10411 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eFence; | |
| 10412 | |
| 10413 public: | |
| 10414 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 10415 Fence( Device const & device, FenceCreateInfo const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 10416 { | |
| 10417 *this = device.createFence( createInfo, allocator ); | |
| 10418 } | |
| 10419 # endif | |
| 10420 | |
| 10421 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 10422 Fence( Device const & device, DeviceEventInfoEXT const & deviceEventInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 10423 { | |
| 10424 *this = device.registerEventEXT( deviceEventInfo, allocator ); | |
| 10425 } | |
| 10426 # endif | |
| 10427 | |
| 10428 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 10429 Fence( Device const & device, | |
| 10430 DisplayKHR const & display, | |
| 10431 DisplayEventInfoEXT const & displayEventInfo, | |
| 10432 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 10433 { | |
| 10434 *this = device.registerDisplayEventEXT( display, displayEventInfo, allocator ); | |
| 10435 } | |
| 10436 # endif | |
| 10437 | |
| 10438 Fence( Device const & device, VkFence fence, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 10439 : m_device( device ), m_fence( fence ), m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ), m_dispatcher( device.getDispatcher() ) | |
| 10440 { | |
| 10441 } | |
| 10442 | |
| 10443 Fence( std::nullptr_t ) {} | |
| 10444 | |
| 10445 ~Fence() | |
| 10446 { | |
| 10447 clear(); | |
| 10448 } | |
| 10449 | |
| 10450 Fence() = delete; | |
| 10451 Fence( Fence const & ) = delete; | |
| 10452 | |
| 10453 Fence( Fence && rhs ) VULKAN_HPP_NOEXCEPT | |
| 10454 : m_device( exchange( rhs.m_device, {} ) ) | |
| 10455 , m_fence( exchange( rhs.m_fence, {} ) ) | |
| 10456 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 10457 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 10458 { | |
| 10459 } | |
| 10460 | |
| 10461 Fence & operator=( Fence const & ) = delete; | |
| 10462 | |
| 10463 Fence & operator=( Fence && rhs ) VULKAN_HPP_NOEXCEPT | |
| 10464 { | |
| 10465 if ( this != &rhs ) | |
| 10466 { | |
| 10467 std::swap( m_device, rhs.m_device ); | |
| 10468 std::swap( m_fence, rhs.m_fence ); | |
| 10469 std::swap( m_allocator, rhs.m_allocator ); | |
| 10470 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 10471 } | |
| 10472 return *this; | |
| 10473 } | |
| 10474 | |
| 10475 VULKAN_HPP_NAMESPACE::Fence const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 10476 { | |
| 10477 return m_fence; | |
| 10478 } | |
| 10479 | |
| 10480 VULKAN_HPP_NAMESPACE::Fence const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 10481 { | |
| 10482 return std::move( m_fence ); | |
| 10483 } | |
| 10484 | |
| 10485 operator VULKAN_HPP_NAMESPACE::Fence() const VULKAN_HPP_NOEXCEPT | |
| 10486 { | |
| 10487 return m_fence; | |
| 10488 } | |
| 10489 | |
| 10490 void clear() VULKAN_HPP_NOEXCEPT | |
| 10491 { | |
| 10492 if ( m_fence ) | |
| 10493 { | |
| 10494 getDispatcher()->vkDestroyFence( | |
| 10495 static_cast<VkDevice>( m_device ), static_cast<VkFence>( m_fence ), reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 10496 } | |
| 10497 m_device = nullptr; | |
| 10498 m_fence = nullptr; | |
| 10499 m_allocator = nullptr; | |
| 10500 m_dispatcher = nullptr; | |
| 10501 } | |
| 10502 | |
| 10503 VULKAN_HPP_NAMESPACE::Fence release() | |
| 10504 { | |
| 10505 m_device = nullptr; | |
| 10506 m_allocator = nullptr; | |
| 10507 m_dispatcher = nullptr; | |
| 10508 return exchange( m_fence, nullptr ); | |
| 10509 } | |
| 10510 | |
| 10511 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 10512 { | |
| 10513 return m_device; | |
| 10514 } | |
| 10515 | |
| 10516 detail::DeviceDispatcher const * getDispatcher() const | |
| 10517 { | |
| 10518 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 10519 return m_dispatcher; | |
| 10520 } | |
| 10521 | |
| 10522 void swap( Fence & rhs ) VULKAN_HPP_NOEXCEPT | |
| 10523 { | |
| 10524 std::swap( m_device, rhs.m_device ); | |
| 10525 std::swap( m_fence, rhs.m_fence ); | |
| 10526 std::swap( m_allocator, rhs.m_allocator ); | |
| 10527 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 10528 } | |
| 10529 | |
| 10530 //=== VK_VERSION_1_0 === | |
| 10531 | |
| 10532 // wrapper function for command vkGetFenceStatus, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceStatus.html | |
| 10533 VULKAN_HPP_NODISCARD Result getStatus() const; | |
| 10534 | |
| 10535 private: | |
| 10536 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 10537 VULKAN_HPP_NAMESPACE::Fence m_fence = {}; | |
| 10538 const AllocationCallbacks * m_allocator = {}; | |
| 10539 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 10540 }; | |
| 10541 | |
| 10542 template <> | |
| 10543 struct isVulkanRAIIHandleType<Fence> | |
| 10544 { | |
| 10545 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 10546 }; | |
| 10547 | |
| 10548 // wrapper class for handle VkFramebuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFramebuffer.html | |
| 10549 class Framebuffer | |
| 10550 { | |
| 10551 public: | |
| 10552 using CType = VkFramebuffer; | |
| 10553 using CppType = VULKAN_HPP_NAMESPACE::Framebuffer; | |
| 10554 | |
| 10555 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eFramebuffer; | |
| 10556 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eFramebuffer; | |
| 10557 | |
| 10558 public: | |
| 10559 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 10560 Framebuffer( Device const & device, FramebufferCreateInfo const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 10561 { | |
| 10562 *this = device.createFramebuffer( createInfo, allocator ); | |
| 10563 } | |
| 10564 # endif | |
| 10565 | |
| 10566 Framebuffer( Device const & device, VkFramebuffer framebuffer, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 10567 : m_device( device ) | |
| 10568 , m_framebuffer( framebuffer ) | |
| 10569 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 10570 , m_dispatcher( device.getDispatcher() ) | |
| 10571 { | |
| 10572 } | |
| 10573 | |
| 10574 Framebuffer( std::nullptr_t ) {} | |
| 10575 | |
| 10576 ~Framebuffer() | |
| 10577 { | |
| 10578 clear(); | |
| 10579 } | |
| 10580 | |
| 10581 Framebuffer() = delete; | |
| 10582 Framebuffer( Framebuffer const & ) = delete; | |
| 10583 | |
| 10584 Framebuffer( Framebuffer && rhs ) VULKAN_HPP_NOEXCEPT | |
| 10585 : m_device( exchange( rhs.m_device, {} ) ) | |
| 10586 , m_framebuffer( exchange( rhs.m_framebuffer, {} ) ) | |
| 10587 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 10588 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 10589 { | |
| 10590 } | |
| 10591 | |
| 10592 Framebuffer & operator=( Framebuffer const & ) = delete; | |
| 10593 | |
| 10594 Framebuffer & operator=( Framebuffer && rhs ) VULKAN_HPP_NOEXCEPT | |
| 10595 { | |
| 10596 if ( this != &rhs ) | |
| 10597 { | |
| 10598 std::swap( m_device, rhs.m_device ); | |
| 10599 std::swap( m_framebuffer, rhs.m_framebuffer ); | |
| 10600 std::swap( m_allocator, rhs.m_allocator ); | |
| 10601 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 10602 } | |
| 10603 return *this; | |
| 10604 } | |
| 10605 | |
| 10606 VULKAN_HPP_NAMESPACE::Framebuffer const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 10607 { | |
| 10608 return m_framebuffer; | |
| 10609 } | |
| 10610 | |
| 10611 VULKAN_HPP_NAMESPACE::Framebuffer const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 10612 { | |
| 10613 return std::move( m_framebuffer ); | |
| 10614 } | |
| 10615 | |
| 10616 operator VULKAN_HPP_NAMESPACE::Framebuffer() const VULKAN_HPP_NOEXCEPT | |
| 10617 { | |
| 10618 return m_framebuffer; | |
| 10619 } | |
| 10620 | |
| 10621 void clear() VULKAN_HPP_NOEXCEPT | |
| 10622 { | |
| 10623 if ( m_framebuffer ) | |
| 10624 { | |
| 10625 getDispatcher()->vkDestroyFramebuffer( | |
| 10626 static_cast<VkDevice>( m_device ), static_cast<VkFramebuffer>( m_framebuffer ), reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 10627 } | |
| 10628 m_device = nullptr; | |
| 10629 m_framebuffer = nullptr; | |
| 10630 m_allocator = nullptr; | |
| 10631 m_dispatcher = nullptr; | |
| 10632 } | |
| 10633 | |
| 10634 VULKAN_HPP_NAMESPACE::Framebuffer release() | |
| 10635 { | |
| 10636 m_device = nullptr; | |
| 10637 m_allocator = nullptr; | |
| 10638 m_dispatcher = nullptr; | |
| 10639 return exchange( m_framebuffer, nullptr ); | |
| 10640 } | |
| 10641 | |
| 10642 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 10643 { | |
| 10644 return m_device; | |
| 10645 } | |
| 10646 | |
| 10647 detail::DeviceDispatcher const * getDispatcher() const | |
| 10648 { | |
| 10649 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 10650 return m_dispatcher; | |
| 10651 } | |
| 10652 | |
| 10653 void swap( Framebuffer & rhs ) VULKAN_HPP_NOEXCEPT | |
| 10654 { | |
| 10655 std::swap( m_device, rhs.m_device ); | |
| 10656 std::swap( m_framebuffer, rhs.m_framebuffer ); | |
| 10657 std::swap( m_allocator, rhs.m_allocator ); | |
| 10658 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 10659 } | |
| 10660 | |
| 10661 //=== VK_QCOM_tile_properties === | |
| 10662 | |
| 10663 // wrapper function for command vkGetFramebufferTilePropertiesQCOM, see | |
| 10664 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFramebufferTilePropertiesQCOM.html | |
| 10665 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<TilePropertiesQCOM>>::type getTilePropertiesQCOM() const; | |
| 10666 | |
| 10667 private: | |
| 10668 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 10669 VULKAN_HPP_NAMESPACE::Framebuffer m_framebuffer = {}; | |
| 10670 const AllocationCallbacks * m_allocator = {}; | |
| 10671 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 10672 }; | |
| 10673 | |
| 10674 template <> | |
| 10675 struct isVulkanRAIIHandleType<Framebuffer> | |
| 10676 { | |
| 10677 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 10678 }; | |
| 10679 | |
| 10680 // wrapper class for handle VkImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImage.html | |
| 10681 class Image | |
| 10682 { | |
| 10683 public: | |
| 10684 using CType = VkImage; | |
| 10685 using CppType = VULKAN_HPP_NAMESPACE::Image; | |
| 10686 | |
| 10687 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eImage; | |
| 10688 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eImage; | |
| 10689 | |
| 10690 public: | |
| 10691 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 10692 Image( Device const & device, ImageCreateInfo const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 10693 { | |
| 10694 *this = device.createImage( createInfo, allocator ); | |
| 10695 } | |
| 10696 # endif | |
| 10697 | |
| 10698 Image( Device const & device, VkImage image, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 10699 : m_device( device ), m_image( image ), m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ), m_dispatcher( device.getDispatcher() ) | |
| 10700 { | |
| 10701 } | |
| 10702 | |
| 10703 Image( std::nullptr_t ) {} | |
| 10704 | |
| 10705 ~Image() | |
| 10706 { | |
| 10707 clear(); | |
| 10708 } | |
| 10709 | |
| 10710 Image() = delete; | |
| 10711 Image( Image const & ) = delete; | |
| 10712 | |
| 10713 Image( Image && rhs ) VULKAN_HPP_NOEXCEPT | |
| 10714 : m_device( exchange( rhs.m_device, {} ) ) | |
| 10715 , m_image( exchange( rhs.m_image, {} ) ) | |
| 10716 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 10717 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 10718 { | |
| 10719 } | |
| 10720 | |
| 10721 Image & operator=( Image const & ) = delete; | |
| 10722 | |
| 10723 Image & operator=( Image && rhs ) VULKAN_HPP_NOEXCEPT | |
| 10724 { | |
| 10725 if ( this != &rhs ) | |
| 10726 { | |
| 10727 std::swap( m_device, rhs.m_device ); | |
| 10728 std::swap( m_image, rhs.m_image ); | |
| 10729 std::swap( m_allocator, rhs.m_allocator ); | |
| 10730 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 10731 } | |
| 10732 return *this; | |
| 10733 } | |
| 10734 | |
| 10735 VULKAN_HPP_NAMESPACE::Image const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 10736 { | |
| 10737 return m_image; | |
| 10738 } | |
| 10739 | |
| 10740 VULKAN_HPP_NAMESPACE::Image const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 10741 { | |
| 10742 return std::move( m_image ); | |
| 10743 } | |
| 10744 | |
| 10745 operator VULKAN_HPP_NAMESPACE::Image() const VULKAN_HPP_NOEXCEPT | |
| 10746 { | |
| 10747 return m_image; | |
| 10748 } | |
| 10749 | |
| 10750 void clear() VULKAN_HPP_NOEXCEPT | |
| 10751 { | |
| 10752 if ( m_image ) | |
| 10753 { | |
| 10754 getDispatcher()->vkDestroyImage( | |
| 10755 static_cast<VkDevice>( m_device ), static_cast<VkImage>( m_image ), reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 10756 } | |
| 10757 m_device = nullptr; | |
| 10758 m_image = nullptr; | |
| 10759 m_allocator = nullptr; | |
| 10760 m_dispatcher = nullptr; | |
| 10761 } | |
| 10762 | |
| 10763 VULKAN_HPP_NAMESPACE::Image release() | |
| 10764 { | |
| 10765 m_device = nullptr; | |
| 10766 m_allocator = nullptr; | |
| 10767 m_dispatcher = nullptr; | |
| 10768 return exchange( m_image, nullptr ); | |
| 10769 } | |
| 10770 | |
| 10771 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 10772 { | |
| 10773 return m_device; | |
| 10774 } | |
| 10775 | |
| 10776 detail::DeviceDispatcher const * getDispatcher() const | |
| 10777 { | |
| 10778 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 10779 return m_dispatcher; | |
| 10780 } | |
| 10781 | |
| 10782 void swap( Image & rhs ) VULKAN_HPP_NOEXCEPT | |
| 10783 { | |
| 10784 std::swap( m_device, rhs.m_device ); | |
| 10785 std::swap( m_image, rhs.m_image ); | |
| 10786 std::swap( m_allocator, rhs.m_allocator ); | |
| 10787 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 10788 } | |
| 10789 | |
| 10790 //=== VK_VERSION_1_0 === | |
| 10791 | |
| 10792 // wrapper function for command vkBindImageMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindImageMemory.html | |
| 10793 typename ResultValueType<void>::type bindMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory, DeviceSize memoryOffset ) const; | |
| 10794 | |
| 10795 // wrapper function for command vkGetImageMemoryRequirements, see | |
| 10796 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements.html | |
| 10797 VULKAN_HPP_NODISCARD MemoryRequirements getMemoryRequirements() const VULKAN_HPP_NOEXCEPT; | |
| 10798 | |
| 10799 // wrapper function for command vkGetImageSparseMemoryRequirements, see | |
| 10800 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements.html | |
| 10801 VULKAN_HPP_NODISCARD std::vector<SparseImageMemoryRequirements> getSparseMemoryRequirements() const; | |
| 10802 | |
| 10803 // wrapper function for command vkGetImageSubresourceLayout, see | |
| 10804 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout.html | |
| 10805 VULKAN_HPP_NODISCARD SubresourceLayout getSubresourceLayout( const ImageSubresource & subresource ) const VULKAN_HPP_NOEXCEPT; | |
| 10806 | |
| 10807 //=== VK_VERSION_1_4 === | |
| 10808 | |
| 10809 // wrapper function for command vkGetImageSubresourceLayout2, see | |
| 10810 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2.html | |
| 10811 VULKAN_HPP_NODISCARD SubresourceLayout2 getSubresourceLayout2( const ImageSubresource2 & subresource ) const VULKAN_HPP_NOEXCEPT; | |
| 10812 | |
| 10813 // wrapper function for command vkGetImageSubresourceLayout2, see | |
| 10814 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2.html | |
| 10815 template <typename X, typename Y, typename... Z> | |
| 10816 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getSubresourceLayout2( const ImageSubresource2 & subresource ) const VULKAN_HPP_NOEXCEPT; | |
| 10817 | |
| 10818 //=== VK_EXT_image_drm_format_modifier === | |
| 10819 | |
| 10820 // wrapper function for command vkGetImageDrmFormatModifierPropertiesEXT, see | |
| 10821 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageDrmFormatModifierPropertiesEXT.html | |
| 10822 VULKAN_HPP_NODISCARD typename ResultValueType<ImageDrmFormatModifierPropertiesEXT>::type getDrmFormatModifierPropertiesEXT() const; | |
| 10823 | |
| 10824 //=== VK_EXT_host_image_copy === | |
| 10825 | |
| 10826 // wrapper function for command vkGetImageSubresourceLayout2EXT, see | |
| 10827 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2EXT.html | |
| 10828 VULKAN_HPP_NODISCARD SubresourceLayout2 getSubresourceLayout2EXT( const ImageSubresource2 & subresource ) const VULKAN_HPP_NOEXCEPT; | |
| 10829 | |
| 10830 // wrapper function for command vkGetImageSubresourceLayout2EXT, see | |
| 10831 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2EXT.html | |
| 10832 template <typename X, typename Y, typename... Z> | |
| 10833 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getSubresourceLayout2EXT( const ImageSubresource2 & subresource ) const VULKAN_HPP_NOEXCEPT; | |
| 10834 | |
| 10835 //=== VK_KHR_maintenance5 === | |
| 10836 | |
| 10837 // wrapper function for command vkGetImageSubresourceLayout2KHR, see | |
| 10838 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2KHR.html | |
| 10839 VULKAN_HPP_NODISCARD SubresourceLayout2 getSubresourceLayout2KHR( const ImageSubresource2 & subresource ) const VULKAN_HPP_NOEXCEPT; | |
| 10840 | |
| 10841 // wrapper function for command vkGetImageSubresourceLayout2KHR, see | |
| 10842 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2KHR.html | |
| 10843 template <typename X, typename Y, typename... Z> | |
| 10844 VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getSubresourceLayout2KHR( const ImageSubresource2 & subresource ) const VULKAN_HPP_NOEXCEPT; | |
| 10845 | |
| 10846 # if defined( VK_USE_PLATFORM_OHOS ) | |
| 10847 //=== VK_OHOS_native_buffer === | |
| 10848 | |
| 10849 // wrapper function for command vkAcquireImageOHOS, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireImageOHOS.html | |
| 10850 typename ResultValueType<void>::type acquireOHOS( int32_t nativeFenceFd, | |
| 10851 VULKAN_HPP_NAMESPACE::Semaphore semaphore VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), | |
| 10852 VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const; | |
| 10853 # endif /*VK_USE_PLATFORM_OHOS*/ | |
| 10854 | |
| 10855 protected: | |
| 10856 Image( VULKAN_HPP_NAMESPACE::Device device, | |
| 10857 VULKAN_HPP_NAMESPACE::Image image, | |
| 10858 const AllocationCallbacks * allocator, | |
| 10859 detail::DeviceDispatcher const * dispatcher ) VULKAN_HPP_NOEXCEPT | |
| 10860 : m_device( exchange( device, {} ) ) | |
| 10861 , m_image( exchange( image, {} ) ) | |
| 10862 , m_allocator( exchange( allocator, {} ) ) | |
| 10863 , m_dispatcher( exchange( dispatcher, nullptr ) ) | |
| 10864 { | |
| 10865 } | |
| 10866 | |
| 10867 private: | |
| 10868 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 10869 VULKAN_HPP_NAMESPACE::Image m_image = {}; | |
| 10870 const AllocationCallbacks * m_allocator = {}; | |
| 10871 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 10872 }; | |
| 10873 | |
| 10874 template <> | |
| 10875 struct isVulkanRAIIHandleType<Image> | |
| 10876 { | |
| 10877 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 10878 }; | |
| 10879 | |
| 10880 // wrapper class for handle VkImageView, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageView.html | |
| 10881 class ImageView | |
| 10882 { | |
| 10883 public: | |
| 10884 using CType = VkImageView; | |
| 10885 using CppType = VULKAN_HPP_NAMESPACE::ImageView; | |
| 10886 | |
| 10887 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eImageView; | |
| 10888 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eImageView; | |
| 10889 | |
| 10890 public: | |
| 10891 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 10892 ImageView( Device const & device, ImageViewCreateInfo const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 10893 { | |
| 10894 *this = device.createImageView( createInfo, allocator ); | |
| 10895 } | |
| 10896 # endif | |
| 10897 | |
| 10898 ImageView( Device const & device, VkImageView imageView, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 10899 : m_device( device ) | |
| 10900 , m_imageView( imageView ) | |
| 10901 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 10902 , m_dispatcher( device.getDispatcher() ) | |
| 10903 { | |
| 10904 } | |
| 10905 | |
| 10906 ImageView( std::nullptr_t ) {} | |
| 10907 | |
| 10908 ~ImageView() | |
| 10909 { | |
| 10910 clear(); | |
| 10911 } | |
| 10912 | |
| 10913 ImageView() = delete; | |
| 10914 ImageView( ImageView const & ) = delete; | |
| 10915 | |
| 10916 ImageView( ImageView && rhs ) VULKAN_HPP_NOEXCEPT | |
| 10917 : m_device( exchange( rhs.m_device, {} ) ) | |
| 10918 , m_imageView( exchange( rhs.m_imageView, {} ) ) | |
| 10919 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 10920 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 10921 { | |
| 10922 } | |
| 10923 | |
| 10924 ImageView & operator=( ImageView const & ) = delete; | |
| 10925 | |
| 10926 ImageView & operator=( ImageView && rhs ) VULKAN_HPP_NOEXCEPT | |
| 10927 { | |
| 10928 if ( this != &rhs ) | |
| 10929 { | |
| 10930 std::swap( m_device, rhs.m_device ); | |
| 10931 std::swap( m_imageView, rhs.m_imageView ); | |
| 10932 std::swap( m_allocator, rhs.m_allocator ); | |
| 10933 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 10934 } | |
| 10935 return *this; | |
| 10936 } | |
| 10937 | |
| 10938 VULKAN_HPP_NAMESPACE::ImageView const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 10939 { | |
| 10940 return m_imageView; | |
| 10941 } | |
| 10942 | |
| 10943 VULKAN_HPP_NAMESPACE::ImageView const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 10944 { | |
| 10945 return std::move( m_imageView ); | |
| 10946 } | |
| 10947 | |
| 10948 operator VULKAN_HPP_NAMESPACE::ImageView() const VULKAN_HPP_NOEXCEPT | |
| 10949 { | |
| 10950 return m_imageView; | |
| 10951 } | |
| 10952 | |
| 10953 void clear() VULKAN_HPP_NOEXCEPT | |
| 10954 { | |
| 10955 if ( m_imageView ) | |
| 10956 { | |
| 10957 getDispatcher()->vkDestroyImageView( | |
| 10958 static_cast<VkDevice>( m_device ), static_cast<VkImageView>( m_imageView ), reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 10959 } | |
| 10960 m_device = nullptr; | |
| 10961 m_imageView = nullptr; | |
| 10962 m_allocator = nullptr; | |
| 10963 m_dispatcher = nullptr; | |
| 10964 } | |
| 10965 | |
| 10966 VULKAN_HPP_NAMESPACE::ImageView release() | |
| 10967 { | |
| 10968 m_device = nullptr; | |
| 10969 m_allocator = nullptr; | |
| 10970 m_dispatcher = nullptr; | |
| 10971 return exchange( m_imageView, nullptr ); | |
| 10972 } | |
| 10973 | |
| 10974 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 10975 { | |
| 10976 return m_device; | |
| 10977 } | |
| 10978 | |
| 10979 detail::DeviceDispatcher const * getDispatcher() const | |
| 10980 { | |
| 10981 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 10982 return m_dispatcher; | |
| 10983 } | |
| 10984 | |
| 10985 void swap( ImageView & rhs ) VULKAN_HPP_NOEXCEPT | |
| 10986 { | |
| 10987 std::swap( m_device, rhs.m_device ); | |
| 10988 std::swap( m_imageView, rhs.m_imageView ); | |
| 10989 std::swap( m_allocator, rhs.m_allocator ); | |
| 10990 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 10991 } | |
| 10992 | |
| 10993 //=== VK_NVX_image_view_handle === | |
| 10994 | |
| 10995 // wrapper function for command vkGetImageViewAddressNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewAddressNVX.html | |
| 10996 VULKAN_HPP_NODISCARD typename ResultValueType<ImageViewAddressPropertiesNVX>::type getAddressNVX() const; | |
| 10997 | |
| 10998 private: | |
| 10999 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 11000 VULKAN_HPP_NAMESPACE::ImageView m_imageView = {}; | |
| 11001 const AllocationCallbacks * m_allocator = {}; | |
| 11002 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 11003 }; | |
| 11004 | |
| 11005 template <> | |
| 11006 struct isVulkanRAIIHandleType<ImageView> | |
| 11007 { | |
| 11008 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 11009 }; | |
| 11010 | |
| 11011 // wrapper class for handle VkIndirectCommandsLayoutEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkIndirectCommandsLayoutEXT.html | |
| 11012 class IndirectCommandsLayoutEXT | |
| 11013 { | |
| 11014 public: | |
| 11015 using CType = VkIndirectCommandsLayoutEXT; | |
| 11016 using CppType = VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT; | |
| 11017 | |
| 11018 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eIndirectCommandsLayoutEXT; | |
| 11019 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eUnknown; | |
| 11020 | |
| 11021 public: | |
| 11022 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 11023 IndirectCommandsLayoutEXT( Device const & device, | |
| 11024 IndirectCommandsLayoutCreateInfoEXT const & createInfo, | |
| 11025 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 11026 { | |
| 11027 *this = device.createIndirectCommandsLayoutEXT( createInfo, allocator ); | |
| 11028 } | |
| 11029 # endif | |
| 11030 | |
| 11031 IndirectCommandsLayoutEXT( Device const & device, | |
| 11032 VkIndirectCommandsLayoutEXT indirectCommandsLayout, | |
| 11033 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 11034 : m_device( device ) | |
| 11035 , m_indirectCommandsLayoutEXT( indirectCommandsLayout ) | |
| 11036 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 11037 , m_dispatcher( device.getDispatcher() ) | |
| 11038 { | |
| 11039 } | |
| 11040 | |
| 11041 IndirectCommandsLayoutEXT( std::nullptr_t ) {} | |
| 11042 | |
| 11043 ~IndirectCommandsLayoutEXT() | |
| 11044 { | |
| 11045 clear(); | |
| 11046 } | |
| 11047 | |
| 11048 IndirectCommandsLayoutEXT() = delete; | |
| 11049 IndirectCommandsLayoutEXT( IndirectCommandsLayoutEXT const & ) = delete; | |
| 11050 | |
| 11051 IndirectCommandsLayoutEXT( IndirectCommandsLayoutEXT && rhs ) VULKAN_HPP_NOEXCEPT | |
| 11052 : m_device( exchange( rhs.m_device, {} ) ) | |
| 11053 , m_indirectCommandsLayoutEXT( exchange( rhs.m_indirectCommandsLayoutEXT, {} ) ) | |
| 11054 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 11055 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 11056 { | |
| 11057 } | |
| 11058 | |
| 11059 IndirectCommandsLayoutEXT & operator=( IndirectCommandsLayoutEXT const & ) = delete; | |
| 11060 | |
| 11061 IndirectCommandsLayoutEXT & operator=( IndirectCommandsLayoutEXT && rhs ) VULKAN_HPP_NOEXCEPT | |
| 11062 { | |
| 11063 if ( this != &rhs ) | |
| 11064 { | |
| 11065 std::swap( m_device, rhs.m_device ); | |
| 11066 std::swap( m_indirectCommandsLayoutEXT, rhs.m_indirectCommandsLayoutEXT ); | |
| 11067 std::swap( m_allocator, rhs.m_allocator ); | |
| 11068 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 11069 } | |
| 11070 return *this; | |
| 11071 } | |
| 11072 | |
| 11073 VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 11074 { | |
| 11075 return m_indirectCommandsLayoutEXT; | |
| 11076 } | |
| 11077 | |
| 11078 VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 11079 { | |
| 11080 return std::move( m_indirectCommandsLayoutEXT ); | |
| 11081 } | |
| 11082 | |
| 11083 operator VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT() const VULKAN_HPP_NOEXCEPT | |
| 11084 { | |
| 11085 return m_indirectCommandsLayoutEXT; | |
| 11086 } | |
| 11087 | |
| 11088 void clear() VULKAN_HPP_NOEXCEPT | |
| 11089 { | |
| 11090 if ( m_indirectCommandsLayoutEXT ) | |
| 11091 { | |
| 11092 getDispatcher()->vkDestroyIndirectCommandsLayoutEXT( static_cast<VkDevice>( m_device ), | |
| 11093 static_cast<VkIndirectCommandsLayoutEXT>( m_indirectCommandsLayoutEXT ), | |
| 11094 reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 11095 } | |
| 11096 m_device = nullptr; | |
| 11097 m_indirectCommandsLayoutEXT = nullptr; | |
| 11098 m_allocator = nullptr; | |
| 11099 m_dispatcher = nullptr; | |
| 11100 } | |
| 11101 | |
| 11102 VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT release() | |
| 11103 { | |
| 11104 m_device = nullptr; | |
| 11105 m_allocator = nullptr; | |
| 11106 m_dispatcher = nullptr; | |
| 11107 return exchange( m_indirectCommandsLayoutEXT, nullptr ); | |
| 11108 } | |
| 11109 | |
| 11110 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 11111 { | |
| 11112 return m_device; | |
| 11113 } | |
| 11114 | |
| 11115 detail::DeviceDispatcher const * getDispatcher() const | |
| 11116 { | |
| 11117 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 11118 return m_dispatcher; | |
| 11119 } | |
| 11120 | |
| 11121 void swap( IndirectCommandsLayoutEXT & rhs ) VULKAN_HPP_NOEXCEPT | |
| 11122 { | |
| 11123 std::swap( m_device, rhs.m_device ); | |
| 11124 std::swap( m_indirectCommandsLayoutEXT, rhs.m_indirectCommandsLayoutEXT ); | |
| 11125 std::swap( m_allocator, rhs.m_allocator ); | |
| 11126 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 11127 } | |
| 11128 | |
| 11129 private: | |
| 11130 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 11131 VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT m_indirectCommandsLayoutEXT = {}; | |
| 11132 const AllocationCallbacks * m_allocator = {}; | |
| 11133 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 11134 }; | |
| 11135 | |
| 11136 template <> | |
| 11137 struct isVulkanRAIIHandleType<IndirectCommandsLayoutEXT> | |
| 11138 { | |
| 11139 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 11140 }; | |
| 11141 | |
| 11142 // wrapper class for handle VkIndirectCommandsLayoutNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkIndirectCommandsLayoutNV.html | |
| 11143 class IndirectCommandsLayoutNV | |
| 11144 { | |
| 11145 public: | |
| 11146 using CType = VkIndirectCommandsLayoutNV; | |
| 11147 using CppType = VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV; | |
| 11148 | |
| 11149 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eIndirectCommandsLayoutNV; | |
| 11150 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eUnknown; | |
| 11151 | |
| 11152 public: | |
| 11153 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 11154 IndirectCommandsLayoutNV( Device const & device, | |
| 11155 IndirectCommandsLayoutCreateInfoNV const & createInfo, | |
| 11156 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 11157 { | |
| 11158 *this = device.createIndirectCommandsLayoutNV( createInfo, allocator ); | |
| 11159 } | |
| 11160 # endif | |
| 11161 | |
| 11162 IndirectCommandsLayoutNV( Device const & device, | |
| 11163 VkIndirectCommandsLayoutNV indirectCommandsLayout, | |
| 11164 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 11165 : m_device( device ) | |
| 11166 , m_indirectCommandsLayoutNV( indirectCommandsLayout ) | |
| 11167 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 11168 , m_dispatcher( device.getDispatcher() ) | |
| 11169 { | |
| 11170 } | |
| 11171 | |
| 11172 IndirectCommandsLayoutNV( std::nullptr_t ) {} | |
| 11173 | |
| 11174 ~IndirectCommandsLayoutNV() | |
| 11175 { | |
| 11176 clear(); | |
| 11177 } | |
| 11178 | |
| 11179 IndirectCommandsLayoutNV() = delete; | |
| 11180 IndirectCommandsLayoutNV( IndirectCommandsLayoutNV const & ) = delete; | |
| 11181 | |
| 11182 IndirectCommandsLayoutNV( IndirectCommandsLayoutNV && rhs ) VULKAN_HPP_NOEXCEPT | |
| 11183 : m_device( exchange( rhs.m_device, {} ) ) | |
| 11184 , m_indirectCommandsLayoutNV( exchange( rhs.m_indirectCommandsLayoutNV, {} ) ) | |
| 11185 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 11186 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 11187 { | |
| 11188 } | |
| 11189 | |
| 11190 IndirectCommandsLayoutNV & operator=( IndirectCommandsLayoutNV const & ) = delete; | |
| 11191 | |
| 11192 IndirectCommandsLayoutNV & operator=( IndirectCommandsLayoutNV && rhs ) VULKAN_HPP_NOEXCEPT | |
| 11193 { | |
| 11194 if ( this != &rhs ) | |
| 11195 { | |
| 11196 std::swap( m_device, rhs.m_device ); | |
| 11197 std::swap( m_indirectCommandsLayoutNV, rhs.m_indirectCommandsLayoutNV ); | |
| 11198 std::swap( m_allocator, rhs.m_allocator ); | |
| 11199 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 11200 } | |
| 11201 return *this; | |
| 11202 } | |
| 11203 | |
| 11204 VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 11205 { | |
| 11206 return m_indirectCommandsLayoutNV; | |
| 11207 } | |
| 11208 | |
| 11209 VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 11210 { | |
| 11211 return std::move( m_indirectCommandsLayoutNV ); | |
| 11212 } | |
| 11213 | |
| 11214 operator VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV() const VULKAN_HPP_NOEXCEPT | |
| 11215 { | |
| 11216 return m_indirectCommandsLayoutNV; | |
| 11217 } | |
| 11218 | |
| 11219 void clear() VULKAN_HPP_NOEXCEPT | |
| 11220 { | |
| 11221 if ( m_indirectCommandsLayoutNV ) | |
| 11222 { | |
| 11223 getDispatcher()->vkDestroyIndirectCommandsLayoutNV( static_cast<VkDevice>( m_device ), | |
| 11224 static_cast<VkIndirectCommandsLayoutNV>( m_indirectCommandsLayoutNV ), | |
| 11225 reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 11226 } | |
| 11227 m_device = nullptr; | |
| 11228 m_indirectCommandsLayoutNV = nullptr; | |
| 11229 m_allocator = nullptr; | |
| 11230 m_dispatcher = nullptr; | |
| 11231 } | |
| 11232 | |
| 11233 VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV release() | |
| 11234 { | |
| 11235 m_device = nullptr; | |
| 11236 m_allocator = nullptr; | |
| 11237 m_dispatcher = nullptr; | |
| 11238 return exchange( m_indirectCommandsLayoutNV, nullptr ); | |
| 11239 } | |
| 11240 | |
| 11241 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 11242 { | |
| 11243 return m_device; | |
| 11244 } | |
| 11245 | |
| 11246 detail::DeviceDispatcher const * getDispatcher() const | |
| 11247 { | |
| 11248 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 11249 return m_dispatcher; | |
| 11250 } | |
| 11251 | |
| 11252 void swap( IndirectCommandsLayoutNV & rhs ) VULKAN_HPP_NOEXCEPT | |
| 11253 { | |
| 11254 std::swap( m_device, rhs.m_device ); | |
| 11255 std::swap( m_indirectCommandsLayoutNV, rhs.m_indirectCommandsLayoutNV ); | |
| 11256 std::swap( m_allocator, rhs.m_allocator ); | |
| 11257 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 11258 } | |
| 11259 | |
| 11260 private: | |
| 11261 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 11262 VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV m_indirectCommandsLayoutNV = {}; | |
| 11263 const AllocationCallbacks * m_allocator = {}; | |
| 11264 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 11265 }; | |
| 11266 | |
| 11267 template <> | |
| 11268 struct isVulkanRAIIHandleType<IndirectCommandsLayoutNV> | |
| 11269 { | |
| 11270 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 11271 }; | |
| 11272 | |
| 11273 // wrapper class for handle VkIndirectExecutionSetEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkIndirectExecutionSetEXT.html | |
| 11274 class IndirectExecutionSetEXT | |
| 11275 { | |
| 11276 public: | |
| 11277 using CType = VkIndirectExecutionSetEXT; | |
| 11278 using CppType = VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT; | |
| 11279 | |
| 11280 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eIndirectExecutionSetEXT; | |
| 11281 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eUnknown; | |
| 11282 | |
| 11283 public: | |
| 11284 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 11285 IndirectExecutionSetEXT( Device const & device, | |
| 11286 IndirectExecutionSetCreateInfoEXT const & createInfo, | |
| 11287 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 11288 { | |
| 11289 *this = device.createIndirectExecutionSetEXT( createInfo, allocator ); | |
| 11290 } | |
| 11291 # endif | |
| 11292 | |
| 11293 IndirectExecutionSetEXT( Device const & device, VkIndirectExecutionSetEXT indirectExecutionSet, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 11294 : m_device( device ) | |
| 11295 , m_indirectExecutionSetEXT( indirectExecutionSet ) | |
| 11296 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 11297 , m_dispatcher( device.getDispatcher() ) | |
| 11298 { | |
| 11299 } | |
| 11300 | |
| 11301 IndirectExecutionSetEXT( std::nullptr_t ) {} | |
| 11302 | |
| 11303 ~IndirectExecutionSetEXT() | |
| 11304 { | |
| 11305 clear(); | |
| 11306 } | |
| 11307 | |
| 11308 IndirectExecutionSetEXT() = delete; | |
| 11309 IndirectExecutionSetEXT( IndirectExecutionSetEXT const & ) = delete; | |
| 11310 | |
| 11311 IndirectExecutionSetEXT( IndirectExecutionSetEXT && rhs ) VULKAN_HPP_NOEXCEPT | |
| 11312 : m_device( exchange( rhs.m_device, {} ) ) | |
| 11313 , m_indirectExecutionSetEXT( exchange( rhs.m_indirectExecutionSetEXT, {} ) ) | |
| 11314 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 11315 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 11316 { | |
| 11317 } | |
| 11318 | |
| 11319 IndirectExecutionSetEXT & operator=( IndirectExecutionSetEXT const & ) = delete; | |
| 11320 | |
| 11321 IndirectExecutionSetEXT & operator=( IndirectExecutionSetEXT && rhs ) VULKAN_HPP_NOEXCEPT | |
| 11322 { | |
| 11323 if ( this != &rhs ) | |
| 11324 { | |
| 11325 std::swap( m_device, rhs.m_device ); | |
| 11326 std::swap( m_indirectExecutionSetEXT, rhs.m_indirectExecutionSetEXT ); | |
| 11327 std::swap( m_allocator, rhs.m_allocator ); | |
| 11328 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 11329 } | |
| 11330 return *this; | |
| 11331 } | |
| 11332 | |
| 11333 VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 11334 { | |
| 11335 return m_indirectExecutionSetEXT; | |
| 11336 } | |
| 11337 | |
| 11338 VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 11339 { | |
| 11340 return std::move( m_indirectExecutionSetEXT ); | |
| 11341 } | |
| 11342 | |
| 11343 operator VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT() const VULKAN_HPP_NOEXCEPT | |
| 11344 { | |
| 11345 return m_indirectExecutionSetEXT; | |
| 11346 } | |
| 11347 | |
| 11348 void clear() VULKAN_HPP_NOEXCEPT | |
| 11349 { | |
| 11350 if ( m_indirectExecutionSetEXT ) | |
| 11351 { | |
| 11352 getDispatcher()->vkDestroyIndirectExecutionSetEXT( static_cast<VkDevice>( m_device ), | |
| 11353 static_cast<VkIndirectExecutionSetEXT>( m_indirectExecutionSetEXT ), | |
| 11354 reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 11355 } | |
| 11356 m_device = nullptr; | |
| 11357 m_indirectExecutionSetEXT = nullptr; | |
| 11358 m_allocator = nullptr; | |
| 11359 m_dispatcher = nullptr; | |
| 11360 } | |
| 11361 | |
| 11362 VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT release() | |
| 11363 { | |
| 11364 m_device = nullptr; | |
| 11365 m_allocator = nullptr; | |
| 11366 m_dispatcher = nullptr; | |
| 11367 return exchange( m_indirectExecutionSetEXT, nullptr ); | |
| 11368 } | |
| 11369 | |
| 11370 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 11371 { | |
| 11372 return m_device; | |
| 11373 } | |
| 11374 | |
| 11375 detail::DeviceDispatcher const * getDispatcher() const | |
| 11376 { | |
| 11377 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 11378 return m_dispatcher; | |
| 11379 } | |
| 11380 | |
| 11381 void swap( IndirectExecutionSetEXT & rhs ) VULKAN_HPP_NOEXCEPT | |
| 11382 { | |
| 11383 std::swap( m_device, rhs.m_device ); | |
| 11384 std::swap( m_indirectExecutionSetEXT, rhs.m_indirectExecutionSetEXT ); | |
| 11385 std::swap( m_allocator, rhs.m_allocator ); | |
| 11386 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 11387 } | |
| 11388 | |
| 11389 //=== VK_EXT_device_generated_commands === | |
| 11390 | |
| 11391 // wrapper function for command vkUpdateIndirectExecutionSetPipelineEXT, see | |
| 11392 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateIndirectExecutionSetPipelineEXT.html | |
| 11393 void updatePipeline( ArrayProxy<const WriteIndirectExecutionSetPipelineEXT> const & executionSetWrites ) const VULKAN_HPP_NOEXCEPT; | |
| 11394 | |
| 11395 // wrapper function for command vkUpdateIndirectExecutionSetShaderEXT, see | |
| 11396 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateIndirectExecutionSetShaderEXT.html | |
| 11397 void updateShader( ArrayProxy<const WriteIndirectExecutionSetShaderEXT> const & executionSetWrites ) const VULKAN_HPP_NOEXCEPT; | |
| 11398 | |
| 11399 private: | |
| 11400 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 11401 VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT m_indirectExecutionSetEXT = {}; | |
| 11402 const AllocationCallbacks * m_allocator = {}; | |
| 11403 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 11404 }; | |
| 11405 | |
| 11406 template <> | |
| 11407 struct isVulkanRAIIHandleType<IndirectExecutionSetEXT> | |
| 11408 { | |
| 11409 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 11410 }; | |
| 11411 | |
| 11412 // wrapper class for handle VkMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkMicromapEXT.html | |
| 11413 class MicromapEXT | |
| 11414 { | |
| 11415 public: | |
| 11416 using CType = VkMicromapEXT; | |
| 11417 using CppType = VULKAN_HPP_NAMESPACE::MicromapEXT; | |
| 11418 | |
| 11419 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eMicromapEXT; | |
| 11420 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eUnknown; | |
| 11421 | |
| 11422 public: | |
| 11423 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 11424 MicromapEXT( Device const & device, MicromapCreateInfoEXT const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 11425 { | |
| 11426 *this = device.createMicromapEXT( createInfo, allocator ); | |
| 11427 } | |
| 11428 # endif | |
| 11429 | |
| 11430 MicromapEXT( Device const & device, VkMicromapEXT micromap, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 11431 : m_device( device ) | |
| 11432 , m_micromapEXT( micromap ) | |
| 11433 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 11434 , m_dispatcher( device.getDispatcher() ) | |
| 11435 { | |
| 11436 } | |
| 11437 | |
| 11438 MicromapEXT( std::nullptr_t ) {} | |
| 11439 | |
| 11440 ~MicromapEXT() | |
| 11441 { | |
| 11442 clear(); | |
| 11443 } | |
| 11444 | |
| 11445 MicromapEXT() = delete; | |
| 11446 MicromapEXT( MicromapEXT const & ) = delete; | |
| 11447 | |
| 11448 MicromapEXT( MicromapEXT && rhs ) VULKAN_HPP_NOEXCEPT | |
| 11449 : m_device( exchange( rhs.m_device, {} ) ) | |
| 11450 , m_micromapEXT( exchange( rhs.m_micromapEXT, {} ) ) | |
| 11451 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 11452 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 11453 { | |
| 11454 } | |
| 11455 | |
| 11456 MicromapEXT & operator=( MicromapEXT const & ) = delete; | |
| 11457 | |
| 11458 MicromapEXT & operator=( MicromapEXT && rhs ) VULKAN_HPP_NOEXCEPT | |
| 11459 { | |
| 11460 if ( this != &rhs ) | |
| 11461 { | |
| 11462 std::swap( m_device, rhs.m_device ); | |
| 11463 std::swap( m_micromapEXT, rhs.m_micromapEXT ); | |
| 11464 std::swap( m_allocator, rhs.m_allocator ); | |
| 11465 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 11466 } | |
| 11467 return *this; | |
| 11468 } | |
| 11469 | |
| 11470 VULKAN_HPP_NAMESPACE::MicromapEXT const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 11471 { | |
| 11472 return m_micromapEXT; | |
| 11473 } | |
| 11474 | |
| 11475 VULKAN_HPP_NAMESPACE::MicromapEXT const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 11476 { | |
| 11477 return std::move( m_micromapEXT ); | |
| 11478 } | |
| 11479 | |
| 11480 operator VULKAN_HPP_NAMESPACE::MicromapEXT() const VULKAN_HPP_NOEXCEPT | |
| 11481 { | |
| 11482 return m_micromapEXT; | |
| 11483 } | |
| 11484 | |
| 11485 void clear() VULKAN_HPP_NOEXCEPT | |
| 11486 { | |
| 11487 if ( m_micromapEXT ) | |
| 11488 { | |
| 11489 getDispatcher()->vkDestroyMicromapEXT( | |
| 11490 static_cast<VkDevice>( m_device ), static_cast<VkMicromapEXT>( m_micromapEXT ), reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 11491 } | |
| 11492 m_device = nullptr; | |
| 11493 m_micromapEXT = nullptr; | |
| 11494 m_allocator = nullptr; | |
| 11495 m_dispatcher = nullptr; | |
| 11496 } | |
| 11497 | |
| 11498 VULKAN_HPP_NAMESPACE::MicromapEXT release() | |
| 11499 { | |
| 11500 m_device = nullptr; | |
| 11501 m_allocator = nullptr; | |
| 11502 m_dispatcher = nullptr; | |
| 11503 return exchange( m_micromapEXT, nullptr ); | |
| 11504 } | |
| 11505 | |
| 11506 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 11507 { | |
| 11508 return m_device; | |
| 11509 } | |
| 11510 | |
| 11511 detail::DeviceDispatcher const * getDispatcher() const | |
| 11512 { | |
| 11513 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 11514 return m_dispatcher; | |
| 11515 } | |
| 11516 | |
| 11517 void swap( MicromapEXT & rhs ) VULKAN_HPP_NOEXCEPT | |
| 11518 { | |
| 11519 std::swap( m_device, rhs.m_device ); | |
| 11520 std::swap( m_micromapEXT, rhs.m_micromapEXT ); | |
| 11521 std::swap( m_allocator, rhs.m_allocator ); | |
| 11522 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 11523 } | |
| 11524 | |
| 11525 private: | |
| 11526 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 11527 VULKAN_HPP_NAMESPACE::MicromapEXT m_micromapEXT = {}; | |
| 11528 const AllocationCallbacks * m_allocator = {}; | |
| 11529 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 11530 }; | |
| 11531 | |
| 11532 template <> | |
| 11533 struct isVulkanRAIIHandleType<MicromapEXT> | |
| 11534 { | |
| 11535 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 11536 }; | |
| 11537 | |
| 11538 // wrapper class for handle VkOpticalFlowSessionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkOpticalFlowSessionNV.html | |
| 11539 class OpticalFlowSessionNV | |
| 11540 { | |
| 11541 public: | |
| 11542 using CType = VkOpticalFlowSessionNV; | |
| 11543 using CppType = VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV; | |
| 11544 | |
| 11545 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eOpticalFlowSessionNV; | |
| 11546 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eUnknown; | |
| 11547 | |
| 11548 public: | |
| 11549 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 11550 OpticalFlowSessionNV( Device const & device, OpticalFlowSessionCreateInfoNV const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 11551 { | |
| 11552 *this = device.createOpticalFlowSessionNV( createInfo, allocator ); | |
| 11553 } | |
| 11554 # endif | |
| 11555 | |
| 11556 OpticalFlowSessionNV( Device const & device, VkOpticalFlowSessionNV session, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 11557 : m_device( device ) | |
| 11558 , m_opticalFlowSessionNV( session ) | |
| 11559 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 11560 , m_dispatcher( device.getDispatcher() ) | |
| 11561 { | |
| 11562 } | |
| 11563 | |
| 11564 OpticalFlowSessionNV( std::nullptr_t ) {} | |
| 11565 | |
| 11566 ~OpticalFlowSessionNV() | |
| 11567 { | |
| 11568 clear(); | |
| 11569 } | |
| 11570 | |
| 11571 OpticalFlowSessionNV() = delete; | |
| 11572 OpticalFlowSessionNV( OpticalFlowSessionNV const & ) = delete; | |
| 11573 | |
| 11574 OpticalFlowSessionNV( OpticalFlowSessionNV && rhs ) VULKAN_HPP_NOEXCEPT | |
| 11575 : m_device( exchange( rhs.m_device, {} ) ) | |
| 11576 , m_opticalFlowSessionNV( exchange( rhs.m_opticalFlowSessionNV, {} ) ) | |
| 11577 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 11578 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 11579 { | |
| 11580 } | |
| 11581 | |
| 11582 OpticalFlowSessionNV & operator=( OpticalFlowSessionNV const & ) = delete; | |
| 11583 | |
| 11584 OpticalFlowSessionNV & operator=( OpticalFlowSessionNV && rhs ) VULKAN_HPP_NOEXCEPT | |
| 11585 { | |
| 11586 if ( this != &rhs ) | |
| 11587 { | |
| 11588 std::swap( m_device, rhs.m_device ); | |
| 11589 std::swap( m_opticalFlowSessionNV, rhs.m_opticalFlowSessionNV ); | |
| 11590 std::swap( m_allocator, rhs.m_allocator ); | |
| 11591 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 11592 } | |
| 11593 return *this; | |
| 11594 } | |
| 11595 | |
| 11596 VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 11597 { | |
| 11598 return m_opticalFlowSessionNV; | |
| 11599 } | |
| 11600 | |
| 11601 VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 11602 { | |
| 11603 return std::move( m_opticalFlowSessionNV ); | |
| 11604 } | |
| 11605 | |
| 11606 operator VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV() const VULKAN_HPP_NOEXCEPT | |
| 11607 { | |
| 11608 return m_opticalFlowSessionNV; | |
| 11609 } | |
| 11610 | |
| 11611 void clear() VULKAN_HPP_NOEXCEPT | |
| 11612 { | |
| 11613 if ( m_opticalFlowSessionNV ) | |
| 11614 { | |
| 11615 getDispatcher()->vkDestroyOpticalFlowSessionNV( static_cast<VkDevice>( m_device ), | |
| 11616 static_cast<VkOpticalFlowSessionNV>( m_opticalFlowSessionNV ), | |
| 11617 reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 11618 } | |
| 11619 m_device = nullptr; | |
| 11620 m_opticalFlowSessionNV = nullptr; | |
| 11621 m_allocator = nullptr; | |
| 11622 m_dispatcher = nullptr; | |
| 11623 } | |
| 11624 | |
| 11625 VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV release() | |
| 11626 { | |
| 11627 m_device = nullptr; | |
| 11628 m_allocator = nullptr; | |
| 11629 m_dispatcher = nullptr; | |
| 11630 return exchange( m_opticalFlowSessionNV, nullptr ); | |
| 11631 } | |
| 11632 | |
| 11633 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 11634 { | |
| 11635 return m_device; | |
| 11636 } | |
| 11637 | |
| 11638 detail::DeviceDispatcher const * getDispatcher() const | |
| 11639 { | |
| 11640 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 11641 return m_dispatcher; | |
| 11642 } | |
| 11643 | |
| 11644 void swap( OpticalFlowSessionNV & rhs ) VULKAN_HPP_NOEXCEPT | |
| 11645 { | |
| 11646 std::swap( m_device, rhs.m_device ); | |
| 11647 std::swap( m_opticalFlowSessionNV, rhs.m_opticalFlowSessionNV ); | |
| 11648 std::swap( m_allocator, rhs.m_allocator ); | |
| 11649 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 11650 } | |
| 11651 | |
| 11652 //=== VK_NV_optical_flow === | |
| 11653 | |
| 11654 // wrapper function for command vkBindOpticalFlowSessionImageNV, see | |
| 11655 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindOpticalFlowSessionImageNV.html | |
| 11656 typename ResultValueType<void>::type | |
| 11657 bindImage( OpticalFlowSessionBindingPointNV bindingPoint, VULKAN_HPP_NAMESPACE::ImageView view, ImageLayout layout ) const; | |
| 11658 | |
| 11659 private: | |
| 11660 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 11661 VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV m_opticalFlowSessionNV = {}; | |
| 11662 const AllocationCallbacks * m_allocator = {}; | |
| 11663 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 11664 }; | |
| 11665 | |
| 11666 template <> | |
| 11667 struct isVulkanRAIIHandleType<OpticalFlowSessionNV> | |
| 11668 { | |
| 11669 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 11670 }; | |
| 11671 | |
| 11672 // wrapper class for handle VkPerformanceConfigurationINTEL, see | |
| 11673 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPerformanceConfigurationINTEL.html | |
| 11674 class PerformanceConfigurationINTEL | |
| 11675 { | |
| 11676 public: | |
| 11677 using CType = VkPerformanceConfigurationINTEL; | |
| 11678 using CppType = VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL; | |
| 11679 | |
| 11680 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::ePerformanceConfigurationINTEL; | |
| 11681 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eUnknown; | |
| 11682 | |
| 11683 public: | |
| 11684 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 11685 PerformanceConfigurationINTEL( Device const & device, PerformanceConfigurationAcquireInfoINTEL const & acquireInfo ) | |
| 11686 { | |
| 11687 *this = device.acquirePerformanceConfigurationINTEL( acquireInfo ); | |
| 11688 } | |
| 11689 # endif | |
| 11690 | |
| 11691 PerformanceConfigurationINTEL( Device const & device, VkPerformanceConfigurationINTEL configuration ) | |
| 11692 : m_device( device ), m_performanceConfigurationINTEL( configuration ), m_dispatcher( device.getDispatcher() ) | |
| 11693 { | |
| 11694 } | |
| 11695 | |
| 11696 PerformanceConfigurationINTEL( std::nullptr_t ) {} | |
| 11697 | |
| 11698 ~PerformanceConfigurationINTEL() | |
| 11699 { | |
| 11700 clear(); | |
| 11701 } | |
| 11702 | |
| 11703 PerformanceConfigurationINTEL() = delete; | |
| 11704 PerformanceConfigurationINTEL( PerformanceConfigurationINTEL const & ) = delete; | |
| 11705 | |
| 11706 PerformanceConfigurationINTEL( PerformanceConfigurationINTEL && rhs ) VULKAN_HPP_NOEXCEPT | |
| 11707 : m_device( exchange( rhs.m_device, {} ) ) | |
| 11708 , m_performanceConfigurationINTEL( exchange( rhs.m_performanceConfigurationINTEL, {} ) ) | |
| 11709 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 11710 { | |
| 11711 } | |
| 11712 | |
| 11713 PerformanceConfigurationINTEL & operator=( PerformanceConfigurationINTEL const & ) = delete; | |
| 11714 | |
| 11715 PerformanceConfigurationINTEL & operator=( PerformanceConfigurationINTEL && rhs ) VULKAN_HPP_NOEXCEPT | |
| 11716 { | |
| 11717 if ( this != &rhs ) | |
| 11718 { | |
| 11719 std::swap( m_device, rhs.m_device ); | |
| 11720 std::swap( m_performanceConfigurationINTEL, rhs.m_performanceConfigurationINTEL ); | |
| 11721 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 11722 } | |
| 11723 return *this; | |
| 11724 } | |
| 11725 | |
| 11726 VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 11727 { | |
| 11728 return m_performanceConfigurationINTEL; | |
| 11729 } | |
| 11730 | |
| 11731 VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 11732 { | |
| 11733 return std::move( m_performanceConfigurationINTEL ); | |
| 11734 } | |
| 11735 | |
| 11736 operator VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL() const VULKAN_HPP_NOEXCEPT | |
| 11737 { | |
| 11738 return m_performanceConfigurationINTEL; | |
| 11739 } | |
| 11740 | |
| 11741 void clear() VULKAN_HPP_NOEXCEPT | |
| 11742 { | |
| 11743 if ( m_performanceConfigurationINTEL ) | |
| 11744 { | |
| 11745 getDispatcher()->vkReleasePerformanceConfigurationINTEL( static_cast<VkDevice>( m_device ), | |
| 11746 static_cast<VkPerformanceConfigurationINTEL>( m_performanceConfigurationINTEL ) ); | |
| 11747 } | |
| 11748 m_device = nullptr; | |
| 11749 m_performanceConfigurationINTEL = nullptr; | |
| 11750 m_dispatcher = nullptr; | |
| 11751 } | |
| 11752 | |
| 11753 VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL release() | |
| 11754 { | |
| 11755 m_device = nullptr; | |
| 11756 m_dispatcher = nullptr; | |
| 11757 return exchange( m_performanceConfigurationINTEL, nullptr ); | |
| 11758 } | |
| 11759 | |
| 11760 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 11761 { | |
| 11762 return m_device; | |
| 11763 } | |
| 11764 | |
| 11765 detail::DeviceDispatcher const * getDispatcher() const | |
| 11766 { | |
| 11767 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 11768 return m_dispatcher; | |
| 11769 } | |
| 11770 | |
| 11771 void swap( PerformanceConfigurationINTEL & rhs ) VULKAN_HPP_NOEXCEPT | |
| 11772 { | |
| 11773 std::swap( m_device, rhs.m_device ); | |
| 11774 std::swap( m_performanceConfigurationINTEL, rhs.m_performanceConfigurationINTEL ); | |
| 11775 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 11776 } | |
| 11777 | |
| 11778 private: | |
| 11779 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 11780 VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL m_performanceConfigurationINTEL = {}; | |
| 11781 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 11782 }; | |
| 11783 | |
| 11784 template <> | |
| 11785 struct isVulkanRAIIHandleType<PerformanceConfigurationINTEL> | |
| 11786 { | |
| 11787 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 11788 }; | |
| 11789 | |
| 11790 // wrapper class for handle VkPipelineCache, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineCache.html | |
| 11791 class PipelineCache | |
| 11792 { | |
| 11793 public: | |
| 11794 using CType = VkPipelineCache; | |
| 11795 using CppType = VULKAN_HPP_NAMESPACE::PipelineCache; | |
| 11796 | |
| 11797 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::ePipelineCache; | |
| 11798 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::ePipelineCache; | |
| 11799 | |
| 11800 public: | |
| 11801 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 11802 PipelineCache( Device const & device, PipelineCacheCreateInfo const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 11803 { | |
| 11804 *this = device.createPipelineCache( createInfo, allocator ); | |
| 11805 } | |
| 11806 # endif | |
| 11807 | |
| 11808 PipelineCache( Device const & device, VkPipelineCache pipelineCache, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 11809 : m_device( device ) | |
| 11810 , m_pipelineCache( pipelineCache ) | |
| 11811 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 11812 , m_dispatcher( device.getDispatcher() ) | |
| 11813 { | |
| 11814 } | |
| 11815 | |
| 11816 PipelineCache( std::nullptr_t ) {} | |
| 11817 | |
| 11818 ~PipelineCache() | |
| 11819 { | |
| 11820 clear(); | |
| 11821 } | |
| 11822 | |
| 11823 PipelineCache() = delete; | |
| 11824 PipelineCache( PipelineCache const & ) = delete; | |
| 11825 | |
| 11826 PipelineCache( PipelineCache && rhs ) VULKAN_HPP_NOEXCEPT | |
| 11827 : m_device( exchange( rhs.m_device, {} ) ) | |
| 11828 , m_pipelineCache( exchange( rhs.m_pipelineCache, {} ) ) | |
| 11829 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 11830 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 11831 { | |
| 11832 } | |
| 11833 | |
| 11834 PipelineCache & operator=( PipelineCache const & ) = delete; | |
| 11835 | |
| 11836 PipelineCache & operator=( PipelineCache && rhs ) VULKAN_HPP_NOEXCEPT | |
| 11837 { | |
| 11838 if ( this != &rhs ) | |
| 11839 { | |
| 11840 std::swap( m_device, rhs.m_device ); | |
| 11841 std::swap( m_pipelineCache, rhs.m_pipelineCache ); | |
| 11842 std::swap( m_allocator, rhs.m_allocator ); | |
| 11843 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 11844 } | |
| 11845 return *this; | |
| 11846 } | |
| 11847 | |
| 11848 VULKAN_HPP_NAMESPACE::PipelineCache const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 11849 { | |
| 11850 return m_pipelineCache; | |
| 11851 } | |
| 11852 | |
| 11853 VULKAN_HPP_NAMESPACE::PipelineCache const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 11854 { | |
| 11855 return std::move( m_pipelineCache ); | |
| 11856 } | |
| 11857 | |
| 11858 operator VULKAN_HPP_NAMESPACE::PipelineCache() const VULKAN_HPP_NOEXCEPT | |
| 11859 { | |
| 11860 return m_pipelineCache; | |
| 11861 } | |
| 11862 | |
| 11863 void clear() VULKAN_HPP_NOEXCEPT | |
| 11864 { | |
| 11865 if ( m_pipelineCache ) | |
| 11866 { | |
| 11867 getDispatcher()->vkDestroyPipelineCache( static_cast<VkDevice>( m_device ), | |
| 11868 static_cast<VkPipelineCache>( m_pipelineCache ), | |
| 11869 reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 11870 } | |
| 11871 m_device = nullptr; | |
| 11872 m_pipelineCache = nullptr; | |
| 11873 m_allocator = nullptr; | |
| 11874 m_dispatcher = nullptr; | |
| 11875 } | |
| 11876 | |
| 11877 VULKAN_HPP_NAMESPACE::PipelineCache release() | |
| 11878 { | |
| 11879 m_device = nullptr; | |
| 11880 m_allocator = nullptr; | |
| 11881 m_dispatcher = nullptr; | |
| 11882 return exchange( m_pipelineCache, nullptr ); | |
| 11883 } | |
| 11884 | |
| 11885 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 11886 { | |
| 11887 return m_device; | |
| 11888 } | |
| 11889 | |
| 11890 detail::DeviceDispatcher const * getDispatcher() const | |
| 11891 { | |
| 11892 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 11893 return m_dispatcher; | |
| 11894 } | |
| 11895 | |
| 11896 void swap( PipelineCache & rhs ) VULKAN_HPP_NOEXCEPT | |
| 11897 { | |
| 11898 std::swap( m_device, rhs.m_device ); | |
| 11899 std::swap( m_pipelineCache, rhs.m_pipelineCache ); | |
| 11900 std::swap( m_allocator, rhs.m_allocator ); | |
| 11901 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 11902 } | |
| 11903 | |
| 11904 //=== VK_VERSION_1_0 === | |
| 11905 | |
| 11906 // wrapper function for command vkGetPipelineCacheData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineCacheData.html | |
| 11907 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<uint8_t>>::type getData() const; | |
| 11908 | |
| 11909 // wrapper function for command vkMergePipelineCaches, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMergePipelineCaches.html | |
| 11910 typename ResultValueType<void>::type merge( ArrayProxy<const VULKAN_HPP_NAMESPACE::PipelineCache> const & srcCaches ) const; | |
| 11911 | |
| 11912 private: | |
| 11913 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 11914 VULKAN_HPP_NAMESPACE::PipelineCache m_pipelineCache = {}; | |
| 11915 const AllocationCallbacks * m_allocator = {}; | |
| 11916 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 11917 }; | |
| 11918 | |
| 11919 template <> | |
| 11920 struct isVulkanRAIIHandleType<PipelineCache> | |
| 11921 { | |
| 11922 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 11923 }; | |
| 11924 | |
| 11925 // wrapper class for handle VkPipeline, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipeline.html | |
| 11926 class Pipeline | |
| 11927 { | |
| 11928 public: | |
| 11929 using CType = VkPipeline; | |
| 11930 using CppType = VULKAN_HPP_NAMESPACE::Pipeline; | |
| 11931 | |
| 11932 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::ePipeline; | |
| 11933 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::ePipeline; | |
| 11934 | |
| 11935 public: | |
| 11936 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 11937 Pipeline( Device const & device, | |
| 11938 Optional<const PipelineCache> const & pipelineCache, | |
| 11939 ComputePipelineCreateInfo const & createInfo, | |
| 11940 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 11941 { | |
| 11942 *this = device.createComputePipeline( pipelineCache, createInfo, allocator ); | |
| 11943 } | |
| 11944 # endif | |
| 11945 | |
| 11946 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 11947 Pipeline( Device const & device, | |
| 11948 Optional<const DeferredOperationKHR> const & deferredOperation, | |
| 11949 Optional<const PipelineCache> const & pipelineCache, | |
| 11950 DataGraphPipelineCreateInfoARM const & createInfo, | |
| 11951 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 11952 { | |
| 11953 *this = device.createDataGraphPipelineARM( deferredOperation, pipelineCache, createInfo, allocator ); | |
| 11954 } | |
| 11955 # endif | |
| 11956 | |
| 11957 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 11958 # if defined( VK_ENABLE_BETA_EXTENSIONS ) | |
| 11959 Pipeline( Device const & device, | |
| 11960 Optional<const PipelineCache> const & pipelineCache, | |
| 11961 ExecutionGraphPipelineCreateInfoAMDX const & createInfo, | |
| 11962 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 11963 { | |
| 11964 *this = device.createExecutionGraphPipelineAMDX( pipelineCache, createInfo, allocator ); | |
| 11965 } | |
| 11966 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ | |
| 11967 # endif | |
| 11968 | |
| 11969 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 11970 Pipeline( Device const & device, | |
| 11971 Optional<const PipelineCache> const & pipelineCache, | |
| 11972 GraphicsPipelineCreateInfo const & createInfo, | |
| 11973 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 11974 { | |
| 11975 *this = device.createGraphicsPipeline( pipelineCache, createInfo, allocator ); | |
| 11976 } | |
| 11977 # endif | |
| 11978 | |
| 11979 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 11980 Pipeline( Device const & device, | |
| 11981 Optional<const DeferredOperationKHR> const & deferredOperation, | |
| 11982 Optional<const PipelineCache> const & pipelineCache, | |
| 11983 RayTracingPipelineCreateInfoKHR const & createInfo, | |
| 11984 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 11985 { | |
| 11986 *this = device.createRayTracingPipelineKHR( deferredOperation, pipelineCache, createInfo, allocator ); | |
| 11987 } | |
| 11988 # endif | |
| 11989 | |
| 11990 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 11991 Pipeline( Device const & device, | |
| 11992 Optional<const PipelineCache> const & pipelineCache, | |
| 11993 RayTracingPipelineCreateInfoNV const & createInfo, | |
| 11994 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 11995 { | |
| 11996 *this = device.createRayTracingPipelineNV( pipelineCache, createInfo, allocator ); | |
| 11997 } | |
| 11998 # endif | |
| 11999 | |
| 12000 Pipeline( Device const & device, VkPipeline pipeline, Optional<const AllocationCallbacks> allocator = nullptr, Result successCode = Result::eSuccess ) | |
| 12001 : m_device( device ) | |
| 12002 , m_pipeline( pipeline ) | |
| 12003 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 12004 , m_constructorSuccessCode( successCode ) | |
| 12005 , m_dispatcher( device.getDispatcher() ) | |
| 12006 { | |
| 12007 } | |
| 12008 | |
| 12009 Pipeline( std::nullptr_t ) {} | |
| 12010 | |
| 12011 ~Pipeline() | |
| 12012 { | |
| 12013 clear(); | |
| 12014 } | |
| 12015 | |
| 12016 Pipeline() = delete; | |
| 12017 Pipeline( Pipeline const & ) = delete; | |
| 12018 | |
| 12019 Pipeline( Pipeline && rhs ) VULKAN_HPP_NOEXCEPT | |
| 12020 : m_device( exchange( rhs.m_device, {} ) ) | |
| 12021 , m_pipeline( exchange( rhs.m_pipeline, {} ) ) | |
| 12022 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 12023 , m_constructorSuccessCode( exchange( rhs.m_constructorSuccessCode, {} ) ) | |
| 12024 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 12025 { | |
| 12026 } | |
| 12027 | |
| 12028 Pipeline & operator=( Pipeline const & ) = delete; | |
| 12029 | |
| 12030 Pipeline & operator=( Pipeline && rhs ) VULKAN_HPP_NOEXCEPT | |
| 12031 { | |
| 12032 if ( this != &rhs ) | |
| 12033 { | |
| 12034 std::swap( m_device, rhs.m_device ); | |
| 12035 std::swap( m_pipeline, rhs.m_pipeline ); | |
| 12036 std::swap( m_allocator, rhs.m_allocator ); | |
| 12037 std::swap( m_constructorSuccessCode, rhs.m_constructorSuccessCode ); | |
| 12038 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 12039 } | |
| 12040 return *this; | |
| 12041 } | |
| 12042 | |
| 12043 VULKAN_HPP_NAMESPACE::Pipeline const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 12044 { | |
| 12045 return m_pipeline; | |
| 12046 } | |
| 12047 | |
| 12048 VULKAN_HPP_NAMESPACE::Pipeline const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 12049 { | |
| 12050 return std::move( m_pipeline ); | |
| 12051 } | |
| 12052 | |
| 12053 operator VULKAN_HPP_NAMESPACE::Pipeline() const VULKAN_HPP_NOEXCEPT | |
| 12054 { | |
| 12055 return m_pipeline; | |
| 12056 } | |
| 12057 | |
| 12058 void clear() VULKAN_HPP_NOEXCEPT | |
| 12059 { | |
| 12060 if ( m_pipeline ) | |
| 12061 { | |
| 12062 getDispatcher()->vkDestroyPipeline( | |
| 12063 static_cast<VkDevice>( m_device ), static_cast<VkPipeline>( m_pipeline ), reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 12064 } | |
| 12065 m_device = nullptr; | |
| 12066 m_pipeline = nullptr; | |
| 12067 m_allocator = nullptr; | |
| 12068 m_constructorSuccessCode = Result::eErrorUnknown; | |
| 12069 m_dispatcher = nullptr; | |
| 12070 } | |
| 12071 | |
| 12072 VULKAN_HPP_NAMESPACE::Pipeline release() | |
| 12073 { | |
| 12074 m_device = nullptr; | |
| 12075 m_allocator = nullptr; | |
| 12076 m_constructorSuccessCode = Result::eErrorUnknown; | |
| 12077 m_dispatcher = nullptr; | |
| 12078 return exchange( m_pipeline, nullptr ); | |
| 12079 } | |
| 12080 | |
| 12081 Result getConstructorSuccessCode() const | |
| 12082 { | |
| 12083 return m_constructorSuccessCode; | |
| 12084 } | |
| 12085 | |
| 12086 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 12087 { | |
| 12088 return m_device; | |
| 12089 } | |
| 12090 | |
| 12091 detail::DeviceDispatcher const * getDispatcher() const | |
| 12092 { | |
| 12093 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 12094 return m_dispatcher; | |
| 12095 } | |
| 12096 | |
| 12097 void swap( Pipeline & rhs ) VULKAN_HPP_NOEXCEPT | |
| 12098 { | |
| 12099 std::swap( m_device, rhs.m_device ); | |
| 12100 std::swap( m_pipeline, rhs.m_pipeline ); | |
| 12101 std::swap( m_allocator, rhs.m_allocator ); | |
| 12102 std::swap( m_constructorSuccessCode, rhs.m_constructorSuccessCode ); | |
| 12103 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 12104 } | |
| 12105 | |
| 12106 //=== VK_AMD_shader_info === | |
| 12107 | |
| 12108 // wrapper function for command vkGetShaderInfoAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderInfoAMD.html | |
| 12109 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<uint8_t>>::type getShaderInfoAMD( ShaderStageFlagBits shaderStage, | |
| 12110 ShaderInfoTypeAMD infoType ) const; | |
| 12111 | |
| 12112 # if defined( VK_ENABLE_BETA_EXTENSIONS ) | |
| 12113 //=== VK_AMDX_shader_enqueue === | |
| 12114 | |
| 12115 // wrapper function for command vkGetExecutionGraphPipelineScratchSizeAMDX, see | |
| 12116 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetExecutionGraphPipelineScratchSizeAMDX.html | |
| 12117 VULKAN_HPP_NODISCARD typename ResultValueType<ExecutionGraphPipelineScratchSizeAMDX>::type getExecutionGraphScratchSizeAMDX() const; | |
| 12118 | |
| 12119 // wrapper function for command vkGetExecutionGraphPipelineNodeIndexAMDX, see | |
| 12120 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetExecutionGraphPipelineNodeIndexAMDX.html | |
| 12121 VULKAN_HPP_NODISCARD typename ResultValueType<uint32_t>::type | |
| 12122 getExecutionGraphNodeIndexAMDX( const PipelineShaderStageNodeCreateInfoAMDX & nodeInfo ) const; | |
| 12123 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ | |
| 12124 | |
| 12125 //=== VK_KHR_ray_tracing_pipeline === | |
| 12126 | |
| 12127 // wrapper function for command vkGetRayTracingShaderGroupHandlesKHR, see | |
| 12128 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupHandlesKHR.html | |
| 12129 template <typename DataType> | |
| 12130 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DataType>>::type | |
| 12131 getRayTracingShaderGroupHandlesKHR( uint32_t firstGroup, uint32_t groupCount, size_t dataSize ) const; | |
| 12132 | |
| 12133 // wrapper function for command vkGetRayTracingShaderGroupHandlesKHR, see | |
| 12134 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupHandlesKHR.html | |
| 12135 template <typename DataType> | |
| 12136 VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type getRayTracingShaderGroupHandleKHR( uint32_t firstGroup, uint32_t groupCount ) const; | |
| 12137 | |
| 12138 // wrapper function for command vkGetRayTracingCaptureReplayShaderGroupHandlesKHR, see | |
| 12139 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingCaptureReplayShaderGroupHandlesKHR.html | |
| 12140 template <typename DataType> | |
| 12141 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DataType>>::type | |
| 12142 getRayTracingCaptureReplayShaderGroupHandlesKHR( uint32_t firstGroup, uint32_t groupCount, size_t dataSize ) const; | |
| 12143 | |
| 12144 // wrapper function for command vkGetRayTracingCaptureReplayShaderGroupHandlesKHR, see | |
| 12145 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingCaptureReplayShaderGroupHandlesKHR.html | |
| 12146 template <typename DataType> | |
| 12147 VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type getRayTracingCaptureReplayShaderGroupHandleKHR( uint32_t firstGroup, | |
| 12148 uint32_t groupCount ) const; | |
| 12149 | |
| 12150 // wrapper function for command vkGetRayTracingShaderGroupStackSizeKHR, see | |
| 12151 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupStackSizeKHR.html | |
| 12152 VULKAN_HPP_NODISCARD DeviceSize getRayTracingShaderGroupStackSizeKHR( uint32_t group, ShaderGroupShaderKHR groupShader ) const VULKAN_HPP_NOEXCEPT; | |
| 12153 | |
| 12154 //=== VK_NV_ray_tracing === | |
| 12155 | |
| 12156 // wrapper function for command vkGetRayTracingShaderGroupHandlesNV, see | |
| 12157 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupHandlesNV.html | |
| 12158 template <typename DataType> | |
| 12159 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DataType>>::type | |
| 12160 getRayTracingShaderGroupHandlesNV( uint32_t firstGroup, uint32_t groupCount, size_t dataSize ) const; | |
| 12161 | |
| 12162 // wrapper function for command vkGetRayTracingShaderGroupHandlesNV, see | |
| 12163 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupHandlesNV.html | |
| 12164 template <typename DataType> | |
| 12165 VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type getRayTracingShaderGroupHandleNV( uint32_t firstGroup, uint32_t groupCount ) const; | |
| 12166 | |
| 12167 // wrapper function for command vkCompileDeferredNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCompileDeferredNV.html | |
| 12168 typename ResultValueType<void>::type compileDeferredNV( uint32_t shader ) const; | |
| 12169 | |
| 12170 private: | |
| 12171 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 12172 VULKAN_HPP_NAMESPACE::Pipeline m_pipeline = {}; | |
| 12173 const AllocationCallbacks * m_allocator = {}; | |
| 12174 Result m_constructorSuccessCode = Result::eErrorUnknown; | |
| 12175 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 12176 }; | |
| 12177 | |
| 12178 template <> | |
| 12179 struct isVulkanRAIIHandleType<Pipeline> | |
| 12180 { | |
| 12181 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 12182 }; | |
| 12183 | |
| 12184 class Pipelines : public std::vector<Pipeline> | |
| 12185 { | |
| 12186 public: | |
| 12187 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 12188 Pipelines( Device const & device, | |
| 12189 Optional<const PipelineCache> const & pipelineCache, | |
| 12190 ArrayProxy<ComputePipelineCreateInfo> const & createInfos, | |
| 12191 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 12192 { | |
| 12193 *this = device.createComputePipelines( pipelineCache, createInfos, allocator ); | |
| 12194 } | |
| 12195 # endif | |
| 12196 | |
| 12197 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 12198 Pipelines( Device const & device, | |
| 12199 Optional<const DeferredOperationKHR> const & deferredOperation, | |
| 12200 Optional<const PipelineCache> const & pipelineCache, | |
| 12201 ArrayProxy<DataGraphPipelineCreateInfoARM> const & createInfos, | |
| 12202 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 12203 { | |
| 12204 *this = device.createDataGraphPipelinesARM( deferredOperation, pipelineCache, createInfos, allocator ); | |
| 12205 } | |
| 12206 # endif | |
| 12207 | |
| 12208 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 12209 # if defined( VK_ENABLE_BETA_EXTENSIONS ) | |
| 12210 Pipelines( Device const & device, | |
| 12211 Optional<const PipelineCache> const & pipelineCache, | |
| 12212 ArrayProxy<ExecutionGraphPipelineCreateInfoAMDX> const & createInfos, | |
| 12213 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 12214 { | |
| 12215 *this = device.createExecutionGraphPipelinesAMDX( pipelineCache, createInfos, allocator ); | |
| 12216 } | |
| 12217 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ | |
| 12218 # endif | |
| 12219 | |
| 12220 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 12221 Pipelines( Device const & device, | |
| 12222 Optional<const PipelineCache> const & pipelineCache, | |
| 12223 ArrayProxy<GraphicsPipelineCreateInfo> const & createInfos, | |
| 12224 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 12225 { | |
| 12226 *this = device.createGraphicsPipelines( pipelineCache, createInfos, allocator ); | |
| 12227 } | |
| 12228 # endif | |
| 12229 | |
| 12230 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 12231 Pipelines( Device const & device, | |
| 12232 Optional<const DeferredOperationKHR> const & deferredOperation, | |
| 12233 Optional<const PipelineCache> const & pipelineCache, | |
| 12234 ArrayProxy<RayTracingPipelineCreateInfoKHR> const & createInfos, | |
| 12235 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 12236 { | |
| 12237 *this = device.createRayTracingPipelinesKHR( deferredOperation, pipelineCache, createInfos, allocator ); | |
| 12238 } | |
| 12239 # endif | |
| 12240 | |
| 12241 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 12242 Pipelines( Device const & device, | |
| 12243 Optional<const PipelineCache> const & pipelineCache, | |
| 12244 ArrayProxy<RayTracingPipelineCreateInfoNV> const & createInfos, | |
| 12245 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 12246 { | |
| 12247 *this = device.createRayTracingPipelinesNV( pipelineCache, createInfos, allocator ); | |
| 12248 } | |
| 12249 # endif | |
| 12250 | |
| 12251 Pipelines( std::nullptr_t ) {} | |
| 12252 | |
| 12253 Pipelines() = delete; | |
| 12254 Pipelines( Pipelines const & ) = delete; | |
| 12255 Pipelines( Pipelines && rhs ) = default; | |
| 12256 Pipelines & operator=( Pipelines const & ) = delete; | |
| 12257 Pipelines & operator=( Pipelines && rhs ) = default; | |
| 12258 | |
| 12259 private: | |
| 12260 Pipelines( std::vector<Pipeline> && rhs ) | |
| 12261 { | |
| 12262 std::swap( *this, rhs ); | |
| 12263 } | |
| 12264 }; | |
| 12265 | |
| 12266 // wrapper class for handle VkPipelineBinaryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineBinaryKHR.html | |
| 12267 class PipelineBinaryKHR | |
| 12268 { | |
| 12269 public: | |
| 12270 using CType = VkPipelineBinaryKHR; | |
| 12271 using CppType = VULKAN_HPP_NAMESPACE::PipelineBinaryKHR; | |
| 12272 | |
| 12273 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::ePipelineBinaryKHR; | |
| 12274 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eUnknown; | |
| 12275 | |
| 12276 public: | |
| 12277 PipelineBinaryKHR( Device const & device, | |
| 12278 VkPipelineBinaryKHR pipelineBinary, | |
| 12279 Optional<const AllocationCallbacks> allocator = nullptr, | |
| 12280 Result successCode = Result::eSuccess ) | |
| 12281 : m_device( device ) | |
| 12282 , m_pipelineBinaryKHR( pipelineBinary ) | |
| 12283 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 12284 , m_constructorSuccessCode( successCode ) | |
| 12285 , m_dispatcher( device.getDispatcher() ) | |
| 12286 { | |
| 12287 } | |
| 12288 | |
| 12289 PipelineBinaryKHR( std::nullptr_t ) {} | |
| 12290 | |
| 12291 ~PipelineBinaryKHR() | |
| 12292 { | |
| 12293 clear(); | |
| 12294 } | |
| 12295 | |
| 12296 PipelineBinaryKHR() = delete; | |
| 12297 PipelineBinaryKHR( PipelineBinaryKHR const & ) = delete; | |
| 12298 | |
| 12299 PipelineBinaryKHR( PipelineBinaryKHR && rhs ) VULKAN_HPP_NOEXCEPT | |
| 12300 : m_device( exchange( rhs.m_device, {} ) ) | |
| 12301 , m_pipelineBinaryKHR( exchange( rhs.m_pipelineBinaryKHR, {} ) ) | |
| 12302 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 12303 , m_constructorSuccessCode( exchange( rhs.m_constructorSuccessCode, {} ) ) | |
| 12304 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 12305 { | |
| 12306 } | |
| 12307 | |
| 12308 PipelineBinaryKHR & operator=( PipelineBinaryKHR const & ) = delete; | |
| 12309 | |
| 12310 PipelineBinaryKHR & operator=( PipelineBinaryKHR && rhs ) VULKAN_HPP_NOEXCEPT | |
| 12311 { | |
| 12312 if ( this != &rhs ) | |
| 12313 { | |
| 12314 std::swap( m_device, rhs.m_device ); | |
| 12315 std::swap( m_pipelineBinaryKHR, rhs.m_pipelineBinaryKHR ); | |
| 12316 std::swap( m_allocator, rhs.m_allocator ); | |
| 12317 std::swap( m_constructorSuccessCode, rhs.m_constructorSuccessCode ); | |
| 12318 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 12319 } | |
| 12320 return *this; | |
| 12321 } | |
| 12322 | |
| 12323 VULKAN_HPP_NAMESPACE::PipelineBinaryKHR const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 12324 { | |
| 12325 return m_pipelineBinaryKHR; | |
| 12326 } | |
| 12327 | |
| 12328 VULKAN_HPP_NAMESPACE::PipelineBinaryKHR const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 12329 { | |
| 12330 return std::move( m_pipelineBinaryKHR ); | |
| 12331 } | |
| 12332 | |
| 12333 operator VULKAN_HPP_NAMESPACE::PipelineBinaryKHR() const VULKAN_HPP_NOEXCEPT | |
| 12334 { | |
| 12335 return m_pipelineBinaryKHR; | |
| 12336 } | |
| 12337 | |
| 12338 void clear() VULKAN_HPP_NOEXCEPT | |
| 12339 { | |
| 12340 if ( m_pipelineBinaryKHR ) | |
| 12341 { | |
| 12342 getDispatcher()->vkDestroyPipelineBinaryKHR( static_cast<VkDevice>( m_device ), | |
| 12343 static_cast<VkPipelineBinaryKHR>( m_pipelineBinaryKHR ), | |
| 12344 reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 12345 } | |
| 12346 m_device = nullptr; | |
| 12347 m_pipelineBinaryKHR = nullptr; | |
| 12348 m_allocator = nullptr; | |
| 12349 m_constructorSuccessCode = Result::eErrorUnknown; | |
| 12350 m_dispatcher = nullptr; | |
| 12351 } | |
| 12352 | |
| 12353 VULKAN_HPP_NAMESPACE::PipelineBinaryKHR release() | |
| 12354 { | |
| 12355 m_device = nullptr; | |
| 12356 m_allocator = nullptr; | |
| 12357 m_constructorSuccessCode = Result::eErrorUnknown; | |
| 12358 m_dispatcher = nullptr; | |
| 12359 return exchange( m_pipelineBinaryKHR, nullptr ); | |
| 12360 } | |
| 12361 | |
| 12362 Result getConstructorSuccessCode() const | |
| 12363 { | |
| 12364 return m_constructorSuccessCode; | |
| 12365 } | |
| 12366 | |
| 12367 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 12368 { | |
| 12369 return m_device; | |
| 12370 } | |
| 12371 | |
| 12372 detail::DeviceDispatcher const * getDispatcher() const | |
| 12373 { | |
| 12374 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 12375 return m_dispatcher; | |
| 12376 } | |
| 12377 | |
| 12378 void swap( PipelineBinaryKHR & rhs ) VULKAN_HPP_NOEXCEPT | |
| 12379 { | |
| 12380 std::swap( m_device, rhs.m_device ); | |
| 12381 std::swap( m_pipelineBinaryKHR, rhs.m_pipelineBinaryKHR ); | |
| 12382 std::swap( m_allocator, rhs.m_allocator ); | |
| 12383 std::swap( m_constructorSuccessCode, rhs.m_constructorSuccessCode ); | |
| 12384 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 12385 } | |
| 12386 | |
| 12387 private: | |
| 12388 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 12389 VULKAN_HPP_NAMESPACE::PipelineBinaryKHR m_pipelineBinaryKHR = {}; | |
| 12390 const AllocationCallbacks * m_allocator = {}; | |
| 12391 Result m_constructorSuccessCode = Result::eErrorUnknown; | |
| 12392 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 12393 }; | |
| 12394 | |
| 12395 template <> | |
| 12396 struct isVulkanRAIIHandleType<PipelineBinaryKHR> | |
| 12397 { | |
| 12398 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 12399 }; | |
| 12400 | |
| 12401 class PipelineBinaryKHRs : public std::vector<PipelineBinaryKHR> | |
| 12402 { | |
| 12403 public: | |
| 12404 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 12405 PipelineBinaryKHRs( Device const & device, PipelineBinaryCreateInfoKHR const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 12406 { | |
| 12407 *this = device.createPipelineBinariesKHR( createInfo, allocator ); | |
| 12408 } | |
| 12409 # endif | |
| 12410 | |
| 12411 PipelineBinaryKHRs( std::nullptr_t ) {} | |
| 12412 | |
| 12413 PipelineBinaryKHRs() = delete; | |
| 12414 PipelineBinaryKHRs( PipelineBinaryKHRs const & ) = delete; | |
| 12415 PipelineBinaryKHRs( PipelineBinaryKHRs && rhs ) = default; | |
| 12416 PipelineBinaryKHRs & operator=( PipelineBinaryKHRs const & ) = delete; | |
| 12417 PipelineBinaryKHRs & operator=( PipelineBinaryKHRs && rhs ) = default; | |
| 12418 | |
| 12419 private: | |
| 12420 PipelineBinaryKHRs( std::vector<PipelineBinaryKHR> && rhs ) | |
| 12421 { | |
| 12422 std::swap( *this, rhs ); | |
| 12423 } | |
| 12424 }; | |
| 12425 | |
| 12426 // wrapper class for handle VkPipelineLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineLayout.html | |
| 12427 class PipelineLayout | |
| 12428 { | |
| 12429 public: | |
| 12430 using CType = VkPipelineLayout; | |
| 12431 using CppType = VULKAN_HPP_NAMESPACE::PipelineLayout; | |
| 12432 | |
| 12433 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::ePipelineLayout; | |
| 12434 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::ePipelineLayout; | |
| 12435 | |
| 12436 public: | |
| 12437 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 12438 PipelineLayout( Device const & device, PipelineLayoutCreateInfo const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 12439 { | |
| 12440 *this = device.createPipelineLayout( createInfo, allocator ); | |
| 12441 } | |
| 12442 # endif | |
| 12443 | |
| 12444 PipelineLayout( Device const & device, VkPipelineLayout pipelineLayout, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 12445 : m_device( device ) | |
| 12446 , m_pipelineLayout( pipelineLayout ) | |
| 12447 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 12448 , m_dispatcher( device.getDispatcher() ) | |
| 12449 { | |
| 12450 } | |
| 12451 | |
| 12452 PipelineLayout( std::nullptr_t ) {} | |
| 12453 | |
| 12454 ~PipelineLayout() | |
| 12455 { | |
| 12456 clear(); | |
| 12457 } | |
| 12458 | |
| 12459 PipelineLayout() = delete; | |
| 12460 PipelineLayout( PipelineLayout const & ) = delete; | |
| 12461 | |
| 12462 PipelineLayout( PipelineLayout && rhs ) VULKAN_HPP_NOEXCEPT | |
| 12463 : m_device( exchange( rhs.m_device, {} ) ) | |
| 12464 , m_pipelineLayout( exchange( rhs.m_pipelineLayout, {} ) ) | |
| 12465 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 12466 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 12467 { | |
| 12468 } | |
| 12469 | |
| 12470 PipelineLayout & operator=( PipelineLayout const & ) = delete; | |
| 12471 | |
| 12472 PipelineLayout & operator=( PipelineLayout && rhs ) VULKAN_HPP_NOEXCEPT | |
| 12473 { | |
| 12474 if ( this != &rhs ) | |
| 12475 { | |
| 12476 std::swap( m_device, rhs.m_device ); | |
| 12477 std::swap( m_pipelineLayout, rhs.m_pipelineLayout ); | |
| 12478 std::swap( m_allocator, rhs.m_allocator ); | |
| 12479 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 12480 } | |
| 12481 return *this; | |
| 12482 } | |
| 12483 | |
| 12484 VULKAN_HPP_NAMESPACE::PipelineLayout const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 12485 { | |
| 12486 return m_pipelineLayout; | |
| 12487 } | |
| 12488 | |
| 12489 VULKAN_HPP_NAMESPACE::PipelineLayout const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 12490 { | |
| 12491 return std::move( m_pipelineLayout ); | |
| 12492 } | |
| 12493 | |
| 12494 operator VULKAN_HPP_NAMESPACE::PipelineLayout() const VULKAN_HPP_NOEXCEPT | |
| 12495 { | |
| 12496 return m_pipelineLayout; | |
| 12497 } | |
| 12498 | |
| 12499 void clear() VULKAN_HPP_NOEXCEPT | |
| 12500 { | |
| 12501 if ( m_pipelineLayout ) | |
| 12502 { | |
| 12503 getDispatcher()->vkDestroyPipelineLayout( static_cast<VkDevice>( m_device ), | |
| 12504 static_cast<VkPipelineLayout>( m_pipelineLayout ), | |
| 12505 reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 12506 } | |
| 12507 m_device = nullptr; | |
| 12508 m_pipelineLayout = nullptr; | |
| 12509 m_allocator = nullptr; | |
| 12510 m_dispatcher = nullptr; | |
| 12511 } | |
| 12512 | |
| 12513 VULKAN_HPP_NAMESPACE::PipelineLayout release() | |
| 12514 { | |
| 12515 m_device = nullptr; | |
| 12516 m_allocator = nullptr; | |
| 12517 m_dispatcher = nullptr; | |
| 12518 return exchange( m_pipelineLayout, nullptr ); | |
| 12519 } | |
| 12520 | |
| 12521 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 12522 { | |
| 12523 return m_device; | |
| 12524 } | |
| 12525 | |
| 12526 detail::DeviceDispatcher const * getDispatcher() const | |
| 12527 { | |
| 12528 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 12529 return m_dispatcher; | |
| 12530 } | |
| 12531 | |
| 12532 void swap( PipelineLayout & rhs ) VULKAN_HPP_NOEXCEPT | |
| 12533 { | |
| 12534 std::swap( m_device, rhs.m_device ); | |
| 12535 std::swap( m_pipelineLayout, rhs.m_pipelineLayout ); | |
| 12536 std::swap( m_allocator, rhs.m_allocator ); | |
| 12537 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 12538 } | |
| 12539 | |
| 12540 private: | |
| 12541 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 12542 VULKAN_HPP_NAMESPACE::PipelineLayout m_pipelineLayout = {}; | |
| 12543 const AllocationCallbacks * m_allocator = {}; | |
| 12544 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 12545 }; | |
| 12546 | |
| 12547 template <> | |
| 12548 struct isVulkanRAIIHandleType<PipelineLayout> | |
| 12549 { | |
| 12550 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 12551 }; | |
| 12552 | |
| 12553 // wrapper class for handle VkPrivateDataSlot, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPrivateDataSlot.html | |
| 12554 class PrivateDataSlot | |
| 12555 { | |
| 12556 public: | |
| 12557 using CType = VkPrivateDataSlot; | |
| 12558 using CppType = VULKAN_HPP_NAMESPACE::PrivateDataSlot; | |
| 12559 | |
| 12560 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::ePrivateDataSlot; | |
| 12561 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eUnknown; | |
| 12562 | |
| 12563 public: | |
| 12564 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 12565 PrivateDataSlot( Device const & device, PrivateDataSlotCreateInfo const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 12566 { | |
| 12567 *this = device.createPrivateDataSlot( createInfo, allocator ); | |
| 12568 } | |
| 12569 # endif | |
| 12570 | |
| 12571 PrivateDataSlot( Device const & device, VkPrivateDataSlot privateDataSlot, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 12572 : m_device( device ) | |
| 12573 , m_privateDataSlot( privateDataSlot ) | |
| 12574 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 12575 , m_dispatcher( device.getDispatcher() ) | |
| 12576 { | |
| 12577 } | |
| 12578 | |
| 12579 PrivateDataSlot( std::nullptr_t ) {} | |
| 12580 | |
| 12581 ~PrivateDataSlot() | |
| 12582 { | |
| 12583 clear(); | |
| 12584 } | |
| 12585 | |
| 12586 PrivateDataSlot() = delete; | |
| 12587 PrivateDataSlot( PrivateDataSlot const & ) = delete; | |
| 12588 | |
| 12589 PrivateDataSlot( PrivateDataSlot && rhs ) VULKAN_HPP_NOEXCEPT | |
| 12590 : m_device( exchange( rhs.m_device, {} ) ) | |
| 12591 , m_privateDataSlot( exchange( rhs.m_privateDataSlot, {} ) ) | |
| 12592 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 12593 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 12594 { | |
| 12595 } | |
| 12596 | |
| 12597 PrivateDataSlot & operator=( PrivateDataSlot const & ) = delete; | |
| 12598 | |
| 12599 PrivateDataSlot & operator=( PrivateDataSlot && rhs ) VULKAN_HPP_NOEXCEPT | |
| 12600 { | |
| 12601 if ( this != &rhs ) | |
| 12602 { | |
| 12603 std::swap( m_device, rhs.m_device ); | |
| 12604 std::swap( m_privateDataSlot, rhs.m_privateDataSlot ); | |
| 12605 std::swap( m_allocator, rhs.m_allocator ); | |
| 12606 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 12607 } | |
| 12608 return *this; | |
| 12609 } | |
| 12610 | |
| 12611 VULKAN_HPP_NAMESPACE::PrivateDataSlot const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 12612 { | |
| 12613 return m_privateDataSlot; | |
| 12614 } | |
| 12615 | |
| 12616 VULKAN_HPP_NAMESPACE::PrivateDataSlot const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 12617 { | |
| 12618 return std::move( m_privateDataSlot ); | |
| 12619 } | |
| 12620 | |
| 12621 operator VULKAN_HPP_NAMESPACE::PrivateDataSlot() const VULKAN_HPP_NOEXCEPT | |
| 12622 { | |
| 12623 return m_privateDataSlot; | |
| 12624 } | |
| 12625 | |
| 12626 void clear() VULKAN_HPP_NOEXCEPT | |
| 12627 { | |
| 12628 if ( m_privateDataSlot ) | |
| 12629 { | |
| 12630 getDispatcher()->vkDestroyPrivateDataSlot( static_cast<VkDevice>( m_device ), | |
| 12631 static_cast<VkPrivateDataSlot>( m_privateDataSlot ), | |
| 12632 reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 12633 } | |
| 12634 m_device = nullptr; | |
| 12635 m_privateDataSlot = nullptr; | |
| 12636 m_allocator = nullptr; | |
| 12637 m_dispatcher = nullptr; | |
| 12638 } | |
| 12639 | |
| 12640 VULKAN_HPP_NAMESPACE::PrivateDataSlot release() | |
| 12641 { | |
| 12642 m_device = nullptr; | |
| 12643 m_allocator = nullptr; | |
| 12644 m_dispatcher = nullptr; | |
| 12645 return exchange( m_privateDataSlot, nullptr ); | |
| 12646 } | |
| 12647 | |
| 12648 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 12649 { | |
| 12650 return m_device; | |
| 12651 } | |
| 12652 | |
| 12653 detail::DeviceDispatcher const * getDispatcher() const | |
| 12654 { | |
| 12655 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 12656 return m_dispatcher; | |
| 12657 } | |
| 12658 | |
| 12659 void swap( PrivateDataSlot & rhs ) VULKAN_HPP_NOEXCEPT | |
| 12660 { | |
| 12661 std::swap( m_device, rhs.m_device ); | |
| 12662 std::swap( m_privateDataSlot, rhs.m_privateDataSlot ); | |
| 12663 std::swap( m_allocator, rhs.m_allocator ); | |
| 12664 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 12665 } | |
| 12666 | |
| 12667 private: | |
| 12668 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 12669 VULKAN_HPP_NAMESPACE::PrivateDataSlot m_privateDataSlot = {}; | |
| 12670 const AllocationCallbacks * m_allocator = {}; | |
| 12671 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 12672 }; | |
| 12673 | |
| 12674 template <> | |
| 12675 struct isVulkanRAIIHandleType<PrivateDataSlot> | |
| 12676 { | |
| 12677 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 12678 }; | |
| 12679 | |
| 12680 // wrapper class for handle VkQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkQueryPool.html | |
| 12681 class QueryPool | |
| 12682 { | |
| 12683 public: | |
| 12684 using CType = VkQueryPool; | |
| 12685 using CppType = VULKAN_HPP_NAMESPACE::QueryPool; | |
| 12686 | |
| 12687 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eQueryPool; | |
| 12688 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eQueryPool; | |
| 12689 | |
| 12690 public: | |
| 12691 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 12692 QueryPool( Device const & device, QueryPoolCreateInfo const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 12693 { | |
| 12694 *this = device.createQueryPool( createInfo, allocator ); | |
| 12695 } | |
| 12696 # endif | |
| 12697 | |
| 12698 QueryPool( Device const & device, VkQueryPool queryPool, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 12699 : m_device( device ) | |
| 12700 , m_queryPool( queryPool ) | |
| 12701 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 12702 , m_dispatcher( device.getDispatcher() ) | |
| 12703 { | |
| 12704 } | |
| 12705 | |
| 12706 QueryPool( std::nullptr_t ) {} | |
| 12707 | |
| 12708 ~QueryPool() | |
| 12709 { | |
| 12710 clear(); | |
| 12711 } | |
| 12712 | |
| 12713 QueryPool() = delete; | |
| 12714 QueryPool( QueryPool const & ) = delete; | |
| 12715 | |
| 12716 QueryPool( QueryPool && rhs ) VULKAN_HPP_NOEXCEPT | |
| 12717 : m_device( exchange( rhs.m_device, {} ) ) | |
| 12718 , m_queryPool( exchange( rhs.m_queryPool, {} ) ) | |
| 12719 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 12720 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 12721 { | |
| 12722 } | |
| 12723 | |
| 12724 QueryPool & operator=( QueryPool const & ) = delete; | |
| 12725 | |
| 12726 QueryPool & operator=( QueryPool && rhs ) VULKAN_HPP_NOEXCEPT | |
| 12727 { | |
| 12728 if ( this != &rhs ) | |
| 12729 { | |
| 12730 std::swap( m_device, rhs.m_device ); | |
| 12731 std::swap( m_queryPool, rhs.m_queryPool ); | |
| 12732 std::swap( m_allocator, rhs.m_allocator ); | |
| 12733 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 12734 } | |
| 12735 return *this; | |
| 12736 } | |
| 12737 | |
| 12738 VULKAN_HPP_NAMESPACE::QueryPool const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 12739 { | |
| 12740 return m_queryPool; | |
| 12741 } | |
| 12742 | |
| 12743 VULKAN_HPP_NAMESPACE::QueryPool const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 12744 { | |
| 12745 return std::move( m_queryPool ); | |
| 12746 } | |
| 12747 | |
| 12748 operator VULKAN_HPP_NAMESPACE::QueryPool() const VULKAN_HPP_NOEXCEPT | |
| 12749 { | |
| 12750 return m_queryPool; | |
| 12751 } | |
| 12752 | |
| 12753 void clear() VULKAN_HPP_NOEXCEPT | |
| 12754 { | |
| 12755 if ( m_queryPool ) | |
| 12756 { | |
| 12757 getDispatcher()->vkDestroyQueryPool( | |
| 12758 static_cast<VkDevice>( m_device ), static_cast<VkQueryPool>( m_queryPool ), reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 12759 } | |
| 12760 m_device = nullptr; | |
| 12761 m_queryPool = nullptr; | |
| 12762 m_allocator = nullptr; | |
| 12763 m_dispatcher = nullptr; | |
| 12764 } | |
| 12765 | |
| 12766 VULKAN_HPP_NAMESPACE::QueryPool release() | |
| 12767 { | |
| 12768 m_device = nullptr; | |
| 12769 m_allocator = nullptr; | |
| 12770 m_dispatcher = nullptr; | |
| 12771 return exchange( m_queryPool, nullptr ); | |
| 12772 } | |
| 12773 | |
| 12774 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 12775 { | |
| 12776 return m_device; | |
| 12777 } | |
| 12778 | |
| 12779 detail::DeviceDispatcher const * getDispatcher() const | |
| 12780 { | |
| 12781 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 12782 return m_dispatcher; | |
| 12783 } | |
| 12784 | |
| 12785 void swap( QueryPool & rhs ) VULKAN_HPP_NOEXCEPT | |
| 12786 { | |
| 12787 std::swap( m_device, rhs.m_device ); | |
| 12788 std::swap( m_queryPool, rhs.m_queryPool ); | |
| 12789 std::swap( m_allocator, rhs.m_allocator ); | |
| 12790 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 12791 } | |
| 12792 | |
| 12793 //=== VK_VERSION_1_0 === | |
| 12794 | |
| 12795 // wrapper function for command vkGetQueryPoolResults, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueryPoolResults.html | |
| 12796 template <typename DataType> | |
| 12797 VULKAN_HPP_NODISCARD ResultValue<std::vector<DataType>> getResults( | |
| 12798 uint32_t firstQuery, uint32_t queryCount, size_t dataSize, DeviceSize stride, QueryResultFlags flags VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const; | |
| 12799 | |
| 12800 // wrapper function for command vkGetQueryPoolResults, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueryPoolResults.html | |
| 12801 template <typename DataType> | |
| 12802 VULKAN_HPP_NODISCARD ResultValue<DataType> | |
| 12803 getResult( uint32_t firstQuery, uint32_t queryCount, DeviceSize stride, QueryResultFlags flags VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const; | |
| 12804 | |
| 12805 //=== VK_VERSION_1_2 === | |
| 12806 | |
| 12807 // wrapper function for command vkResetQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetQueryPool.html | |
| 12808 void reset( uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT; | |
| 12809 | |
| 12810 //=== VK_EXT_host_query_reset === | |
| 12811 | |
| 12812 // wrapper function for command vkResetQueryPoolEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetQueryPoolEXT.html | |
| 12813 void resetEXT( uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT; | |
| 12814 | |
| 12815 private: | |
| 12816 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 12817 VULKAN_HPP_NAMESPACE::QueryPool m_queryPool = {}; | |
| 12818 const AllocationCallbacks * m_allocator = {}; | |
| 12819 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 12820 }; | |
| 12821 | |
| 12822 template <> | |
| 12823 struct isVulkanRAIIHandleType<QueryPool> | |
| 12824 { | |
| 12825 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 12826 }; | |
| 12827 | |
| 12828 // wrapper class for handle VkQueue, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkQueue.html | |
| 12829 class Queue | |
| 12830 { | |
| 12831 public: | |
| 12832 using CType = VkQueue; | |
| 12833 using CppType = VULKAN_HPP_NAMESPACE::Queue; | |
| 12834 | |
| 12835 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eQueue; | |
| 12836 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eQueue; | |
| 12837 | |
| 12838 public: | |
| 12839 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 12840 Queue( Device const & device, uint32_t queueFamilyIndex, uint32_t queueIndex ) | |
| 12841 { | |
| 12842 *this = device.getQueue( queueFamilyIndex, queueIndex ); | |
| 12843 } | |
| 12844 # endif | |
| 12845 | |
| 12846 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 12847 Queue( Device const & device, DeviceQueueInfo2 const & queueInfo ) | |
| 12848 { | |
| 12849 *this = device.getQueue2( queueInfo ); | |
| 12850 } | |
| 12851 # endif | |
| 12852 | |
| 12853 Queue( Device const & device, VkQueue queue ) : m_queue( queue ), m_dispatcher( device.getDispatcher() ) {} | |
| 12854 | |
| 12855 Queue( std::nullptr_t ) {} | |
| 12856 | |
| 12857 ~Queue() | |
| 12858 { | |
| 12859 clear(); | |
| 12860 } | |
| 12861 | |
| 12862 Queue() = delete; | |
| 12863 | |
| 12864 Queue( Queue const & rhs ) : m_queue( rhs.m_queue ), m_dispatcher( rhs.m_dispatcher ) {} | |
| 12865 | |
| 12866 Queue( Queue && rhs ) VULKAN_HPP_NOEXCEPT | |
| 12867 : m_queue( exchange( rhs.m_queue, {} ) ) | |
| 12868 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 12869 { | |
| 12870 } | |
| 12871 | |
| 12872 Queue & operator=( Queue const & rhs ) | |
| 12873 { | |
| 12874 m_queue = rhs.m_queue; | |
| 12875 m_dispatcher = rhs.m_dispatcher; | |
| 12876 return *this; | |
| 12877 } | |
| 12878 | |
| 12879 Queue & operator=( Queue && rhs ) VULKAN_HPP_NOEXCEPT | |
| 12880 { | |
| 12881 if ( this != &rhs ) | |
| 12882 { | |
| 12883 std::swap( m_queue, rhs.m_queue ); | |
| 12884 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 12885 } | |
| 12886 return *this; | |
| 12887 } | |
| 12888 | |
| 12889 VULKAN_HPP_NAMESPACE::Queue const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 12890 { | |
| 12891 return m_queue; | |
| 12892 } | |
| 12893 | |
| 12894 VULKAN_HPP_NAMESPACE::Queue const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 12895 { | |
| 12896 return std::move( m_queue ); | |
| 12897 } | |
| 12898 | |
| 12899 operator VULKAN_HPP_NAMESPACE::Queue() const VULKAN_HPP_NOEXCEPT | |
| 12900 { | |
| 12901 return m_queue; | |
| 12902 } | |
| 12903 | |
| 12904 void clear() VULKAN_HPP_NOEXCEPT | |
| 12905 { | |
| 12906 m_queue = nullptr; | |
| 12907 m_dispatcher = nullptr; | |
| 12908 } | |
| 12909 | |
| 12910 VULKAN_HPP_NAMESPACE::Queue release() | |
| 12911 { | |
| 12912 m_dispatcher = nullptr; | |
| 12913 return exchange( m_queue, nullptr ); | |
| 12914 } | |
| 12915 | |
| 12916 detail::DeviceDispatcher const * getDispatcher() const | |
| 12917 { | |
| 12918 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 12919 return m_dispatcher; | |
| 12920 } | |
| 12921 | |
| 12922 void swap( Queue & rhs ) VULKAN_HPP_NOEXCEPT | |
| 12923 { | |
| 12924 std::swap( m_queue, rhs.m_queue ); | |
| 12925 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 12926 } | |
| 12927 | |
| 12928 //=== VK_VERSION_1_0 === | |
| 12929 | |
| 12930 // wrapper function for command vkQueueSubmit, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSubmit.html | |
| 12931 typename ResultValueType<void>::type submit( ArrayProxy<const SubmitInfo> const & submits, | |
| 12932 VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const; | |
| 12933 | |
| 12934 // wrapper function for command vkQueueWaitIdle, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueWaitIdle.html | |
| 12935 typename ResultValueType<void>::type waitIdle() const; | |
| 12936 | |
| 12937 // wrapper function for command vkQueueBindSparse, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueBindSparse.html | |
| 12938 typename ResultValueType<void>::type bindSparse( ArrayProxy<const BindSparseInfo> const & bindInfo, | |
| 12939 VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const; | |
| 12940 | |
| 12941 //=== VK_VERSION_1_3 === | |
| 12942 | |
| 12943 // wrapper function for command vkQueueSubmit2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSubmit2.html | |
| 12944 typename ResultValueType<void>::type submit2( ArrayProxy<const SubmitInfo2> const & submits, | |
| 12945 VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const; | |
| 12946 | |
| 12947 //=== VK_KHR_swapchain === | |
| 12948 | |
| 12949 // wrapper function for command vkQueuePresentKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueuePresentKHR.html | |
| 12950 VULKAN_HPP_NODISCARD Result presentKHR( const PresentInfoKHR & presentInfo ) const; | |
| 12951 | |
| 12952 //=== VK_EXT_debug_utils === | |
| 12953 | |
| 12954 // wrapper function for command vkQueueBeginDebugUtilsLabelEXT, see | |
| 12955 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueBeginDebugUtilsLabelEXT.html | |
| 12956 void beginDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 12957 | |
| 12958 // wrapper function for command vkQueueEndDebugUtilsLabelEXT, see | |
| 12959 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueEndDebugUtilsLabelEXT.html | |
| 12960 void endDebugUtilsLabelEXT() const VULKAN_HPP_NOEXCEPT; | |
| 12961 | |
| 12962 // wrapper function for command vkQueueInsertDebugUtilsLabelEXT, see | |
| 12963 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueInsertDebugUtilsLabelEXT.html | |
| 12964 void insertDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 12965 | |
| 12966 //=== VK_NV_device_diagnostic_checkpoints === | |
| 12967 | |
| 12968 // wrapper function for command vkGetQueueCheckpointDataNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueueCheckpointDataNV.html | |
| 12969 VULKAN_HPP_NODISCARD std::vector<CheckpointDataNV> getCheckpointDataNV() const; | |
| 12970 | |
| 12971 // wrapper function for command vkGetQueueCheckpointData2NV, see | |
| 12972 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueueCheckpointData2NV.html | |
| 12973 VULKAN_HPP_NODISCARD std::vector<CheckpointData2NV> getCheckpointData2NV() const; | |
| 12974 | |
| 12975 //=== VK_INTEL_performance_query === | |
| 12976 | |
| 12977 // wrapper function for command vkQueueSetPerformanceConfigurationINTEL, see | |
| 12978 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSetPerformanceConfigurationINTEL.html | |
| 12979 typename ResultValueType<void>::type setPerformanceConfigurationINTEL( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration ) const; | |
| 12980 | |
| 12981 //=== VK_KHR_synchronization2 === | |
| 12982 | |
| 12983 // wrapper function for command vkQueueSubmit2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSubmit2KHR.html | |
| 12984 typename ResultValueType<void>::type submit2KHR( ArrayProxy<const SubmitInfo2> const & submits, | |
| 12985 VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const; | |
| 12986 | |
| 12987 //=== VK_NV_low_latency2 === | |
| 12988 | |
| 12989 // wrapper function for command vkQueueNotifyOutOfBandNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueNotifyOutOfBandNV.html | |
| 12990 void notifyOutOfBandNV( const OutOfBandQueueTypeInfoNV & queueTypeInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 12991 | |
| 12992 # if defined( VK_USE_PLATFORM_OHOS ) | |
| 12993 //=== VK_OHOS_native_buffer === | |
| 12994 | |
| 12995 // wrapper function for command vkQueueSignalReleaseImageOHOS, see | |
| 12996 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSignalReleaseImageOHOS.html | |
| 12997 VULKAN_HPP_NODISCARD typename ResultValueType<int32_t>::type | |
| 12998 signalReleaseImageOHOS( ArrayProxy<const VULKAN_HPP_NAMESPACE::Semaphore> const & waitSemaphores, VULKAN_HPP_NAMESPACE::Image image ) const; | |
| 12999 # endif /*VK_USE_PLATFORM_OHOS*/ | |
| 13000 | |
| 13001 private: | |
| 13002 VULKAN_HPP_NAMESPACE::Queue m_queue = {}; | |
| 13003 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 13004 }; | |
| 13005 | |
| 13006 template <> | |
| 13007 struct isVulkanRAIIHandleType<Queue> | |
| 13008 { | |
| 13009 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 13010 }; | |
| 13011 | |
| 13012 // wrapper class for handle VkRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkRenderPass.html | |
| 13013 class RenderPass | |
| 13014 { | |
| 13015 public: | |
| 13016 using CType = VkRenderPass; | |
| 13017 using CppType = VULKAN_HPP_NAMESPACE::RenderPass; | |
| 13018 | |
| 13019 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eRenderPass; | |
| 13020 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eRenderPass; | |
| 13021 | |
| 13022 public: | |
| 13023 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 13024 RenderPass( Device const & device, RenderPassCreateInfo const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13025 { | |
| 13026 *this = device.createRenderPass( createInfo, allocator ); | |
| 13027 } | |
| 13028 # endif | |
| 13029 | |
| 13030 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 13031 RenderPass( Device const & device, RenderPassCreateInfo2 const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13032 { | |
| 13033 *this = device.createRenderPass2( createInfo, allocator ); | |
| 13034 } | |
| 13035 # endif | |
| 13036 | |
| 13037 RenderPass( Device const & device, VkRenderPass renderPass, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13038 : m_device( device ) | |
| 13039 , m_renderPass( renderPass ) | |
| 13040 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 13041 , m_dispatcher( device.getDispatcher() ) | |
| 13042 { | |
| 13043 } | |
| 13044 | |
| 13045 RenderPass( std::nullptr_t ) {} | |
| 13046 | |
| 13047 ~RenderPass() | |
| 13048 { | |
| 13049 clear(); | |
| 13050 } | |
| 13051 | |
| 13052 RenderPass() = delete; | |
| 13053 RenderPass( RenderPass const & ) = delete; | |
| 13054 | |
| 13055 RenderPass( RenderPass && rhs ) VULKAN_HPP_NOEXCEPT | |
| 13056 : m_device( exchange( rhs.m_device, {} ) ) | |
| 13057 , m_renderPass( exchange( rhs.m_renderPass, {} ) ) | |
| 13058 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 13059 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 13060 { | |
| 13061 } | |
| 13062 | |
| 13063 RenderPass & operator=( RenderPass const & ) = delete; | |
| 13064 | |
| 13065 RenderPass & operator=( RenderPass && rhs ) VULKAN_HPP_NOEXCEPT | |
| 13066 { | |
| 13067 if ( this != &rhs ) | |
| 13068 { | |
| 13069 std::swap( m_device, rhs.m_device ); | |
| 13070 std::swap( m_renderPass, rhs.m_renderPass ); | |
| 13071 std::swap( m_allocator, rhs.m_allocator ); | |
| 13072 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 13073 } | |
| 13074 return *this; | |
| 13075 } | |
| 13076 | |
| 13077 VULKAN_HPP_NAMESPACE::RenderPass const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 13078 { | |
| 13079 return m_renderPass; | |
| 13080 } | |
| 13081 | |
| 13082 VULKAN_HPP_NAMESPACE::RenderPass const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 13083 { | |
| 13084 return std::move( m_renderPass ); | |
| 13085 } | |
| 13086 | |
| 13087 operator VULKAN_HPP_NAMESPACE::RenderPass() const VULKAN_HPP_NOEXCEPT | |
| 13088 { | |
| 13089 return m_renderPass; | |
| 13090 } | |
| 13091 | |
| 13092 void clear() VULKAN_HPP_NOEXCEPT | |
| 13093 { | |
| 13094 if ( m_renderPass ) | |
| 13095 { | |
| 13096 getDispatcher()->vkDestroyRenderPass( | |
| 13097 static_cast<VkDevice>( m_device ), static_cast<VkRenderPass>( m_renderPass ), reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 13098 } | |
| 13099 m_device = nullptr; | |
| 13100 m_renderPass = nullptr; | |
| 13101 m_allocator = nullptr; | |
| 13102 m_dispatcher = nullptr; | |
| 13103 } | |
| 13104 | |
| 13105 VULKAN_HPP_NAMESPACE::RenderPass release() | |
| 13106 { | |
| 13107 m_device = nullptr; | |
| 13108 m_allocator = nullptr; | |
| 13109 m_dispatcher = nullptr; | |
| 13110 return exchange( m_renderPass, nullptr ); | |
| 13111 } | |
| 13112 | |
| 13113 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 13114 { | |
| 13115 return m_device; | |
| 13116 } | |
| 13117 | |
| 13118 detail::DeviceDispatcher const * getDispatcher() const | |
| 13119 { | |
| 13120 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 13121 return m_dispatcher; | |
| 13122 } | |
| 13123 | |
| 13124 void swap( RenderPass & rhs ) VULKAN_HPP_NOEXCEPT | |
| 13125 { | |
| 13126 std::swap( m_device, rhs.m_device ); | |
| 13127 std::swap( m_renderPass, rhs.m_renderPass ); | |
| 13128 std::swap( m_allocator, rhs.m_allocator ); | |
| 13129 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 13130 } | |
| 13131 | |
| 13132 //=== VK_VERSION_1_0 === | |
| 13133 | |
| 13134 // wrapper function for command vkGetRenderAreaGranularity, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRenderAreaGranularity.html | |
| 13135 VULKAN_HPP_NODISCARD Extent2D getRenderAreaGranularity() const VULKAN_HPP_NOEXCEPT; | |
| 13136 | |
| 13137 //=== VK_HUAWEI_subpass_shading === | |
| 13138 | |
| 13139 // wrapper function for command vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, see | |
| 13140 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI.html | |
| 13141 VULKAN_HPP_NODISCARD typename ResultValueType<Extent2D>::type getSubpassShadingMaxWorkgroupSizeHUAWEI() const; | |
| 13142 | |
| 13143 private: | |
| 13144 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 13145 VULKAN_HPP_NAMESPACE::RenderPass m_renderPass = {}; | |
| 13146 const AllocationCallbacks * m_allocator = {}; | |
| 13147 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 13148 }; | |
| 13149 | |
| 13150 template <> | |
| 13151 struct isVulkanRAIIHandleType<RenderPass> | |
| 13152 { | |
| 13153 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 13154 }; | |
| 13155 | |
| 13156 // wrapper class for handle VkSampler, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSampler.html | |
| 13157 class Sampler | |
| 13158 { | |
| 13159 public: | |
| 13160 using CType = VkSampler; | |
| 13161 using CppType = VULKAN_HPP_NAMESPACE::Sampler; | |
| 13162 | |
| 13163 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eSampler; | |
| 13164 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eSampler; | |
| 13165 | |
| 13166 public: | |
| 13167 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 13168 Sampler( Device const & device, SamplerCreateInfo const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13169 { | |
| 13170 *this = device.createSampler( createInfo, allocator ); | |
| 13171 } | |
| 13172 # endif | |
| 13173 | |
| 13174 Sampler( Device const & device, VkSampler sampler, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13175 : m_device( device ), m_sampler( sampler ), m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ), m_dispatcher( device.getDispatcher() ) | |
| 13176 { | |
| 13177 } | |
| 13178 | |
| 13179 Sampler( std::nullptr_t ) {} | |
| 13180 | |
| 13181 ~Sampler() | |
| 13182 { | |
| 13183 clear(); | |
| 13184 } | |
| 13185 | |
| 13186 Sampler() = delete; | |
| 13187 Sampler( Sampler const & ) = delete; | |
| 13188 | |
| 13189 Sampler( Sampler && rhs ) VULKAN_HPP_NOEXCEPT | |
| 13190 : m_device( exchange( rhs.m_device, {} ) ) | |
| 13191 , m_sampler( exchange( rhs.m_sampler, {} ) ) | |
| 13192 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 13193 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 13194 { | |
| 13195 } | |
| 13196 | |
| 13197 Sampler & operator=( Sampler const & ) = delete; | |
| 13198 | |
| 13199 Sampler & operator=( Sampler && rhs ) VULKAN_HPP_NOEXCEPT | |
| 13200 { | |
| 13201 if ( this != &rhs ) | |
| 13202 { | |
| 13203 std::swap( m_device, rhs.m_device ); | |
| 13204 std::swap( m_sampler, rhs.m_sampler ); | |
| 13205 std::swap( m_allocator, rhs.m_allocator ); | |
| 13206 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 13207 } | |
| 13208 return *this; | |
| 13209 } | |
| 13210 | |
| 13211 VULKAN_HPP_NAMESPACE::Sampler const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 13212 { | |
| 13213 return m_sampler; | |
| 13214 } | |
| 13215 | |
| 13216 VULKAN_HPP_NAMESPACE::Sampler const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 13217 { | |
| 13218 return std::move( m_sampler ); | |
| 13219 } | |
| 13220 | |
| 13221 operator VULKAN_HPP_NAMESPACE::Sampler() const VULKAN_HPP_NOEXCEPT | |
| 13222 { | |
| 13223 return m_sampler; | |
| 13224 } | |
| 13225 | |
| 13226 void clear() VULKAN_HPP_NOEXCEPT | |
| 13227 { | |
| 13228 if ( m_sampler ) | |
| 13229 { | |
| 13230 getDispatcher()->vkDestroySampler( | |
| 13231 static_cast<VkDevice>( m_device ), static_cast<VkSampler>( m_sampler ), reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 13232 } | |
| 13233 m_device = nullptr; | |
| 13234 m_sampler = nullptr; | |
| 13235 m_allocator = nullptr; | |
| 13236 m_dispatcher = nullptr; | |
| 13237 } | |
| 13238 | |
| 13239 VULKAN_HPP_NAMESPACE::Sampler release() | |
| 13240 { | |
| 13241 m_device = nullptr; | |
| 13242 m_allocator = nullptr; | |
| 13243 m_dispatcher = nullptr; | |
| 13244 return exchange( m_sampler, nullptr ); | |
| 13245 } | |
| 13246 | |
| 13247 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 13248 { | |
| 13249 return m_device; | |
| 13250 } | |
| 13251 | |
| 13252 detail::DeviceDispatcher const * getDispatcher() const | |
| 13253 { | |
| 13254 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 13255 return m_dispatcher; | |
| 13256 } | |
| 13257 | |
| 13258 void swap( Sampler & rhs ) VULKAN_HPP_NOEXCEPT | |
| 13259 { | |
| 13260 std::swap( m_device, rhs.m_device ); | |
| 13261 std::swap( m_sampler, rhs.m_sampler ); | |
| 13262 std::swap( m_allocator, rhs.m_allocator ); | |
| 13263 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 13264 } | |
| 13265 | |
| 13266 private: | |
| 13267 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 13268 VULKAN_HPP_NAMESPACE::Sampler m_sampler = {}; | |
| 13269 const AllocationCallbacks * m_allocator = {}; | |
| 13270 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 13271 }; | |
| 13272 | |
| 13273 template <> | |
| 13274 struct isVulkanRAIIHandleType<Sampler> | |
| 13275 { | |
| 13276 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 13277 }; | |
| 13278 | |
| 13279 // wrapper class for handle VkSamplerYcbcrConversion, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSamplerYcbcrConversion.html | |
| 13280 class SamplerYcbcrConversion | |
| 13281 { | |
| 13282 public: | |
| 13283 using CType = VkSamplerYcbcrConversion; | |
| 13284 using CppType = VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion; | |
| 13285 | |
| 13286 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eSamplerYcbcrConversion; | |
| 13287 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eSamplerYcbcrConversion; | |
| 13288 | |
| 13289 public: | |
| 13290 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 13291 SamplerYcbcrConversion( Device const & device, | |
| 13292 SamplerYcbcrConversionCreateInfo const & createInfo, | |
| 13293 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13294 { | |
| 13295 *this = device.createSamplerYcbcrConversion( createInfo, allocator ); | |
| 13296 } | |
| 13297 # endif | |
| 13298 | |
| 13299 SamplerYcbcrConversion( Device const & device, VkSamplerYcbcrConversion ycbcrConversion, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13300 : m_device( device ) | |
| 13301 , m_samplerYcbcrConversion( ycbcrConversion ) | |
| 13302 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 13303 , m_dispatcher( device.getDispatcher() ) | |
| 13304 { | |
| 13305 } | |
| 13306 | |
| 13307 SamplerYcbcrConversion( std::nullptr_t ) {} | |
| 13308 | |
| 13309 ~SamplerYcbcrConversion() | |
| 13310 { | |
| 13311 clear(); | |
| 13312 } | |
| 13313 | |
| 13314 SamplerYcbcrConversion() = delete; | |
| 13315 SamplerYcbcrConversion( SamplerYcbcrConversion const & ) = delete; | |
| 13316 | |
| 13317 SamplerYcbcrConversion( SamplerYcbcrConversion && rhs ) VULKAN_HPP_NOEXCEPT | |
| 13318 : m_device( exchange( rhs.m_device, {} ) ) | |
| 13319 , m_samplerYcbcrConversion( exchange( rhs.m_samplerYcbcrConversion, {} ) ) | |
| 13320 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 13321 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 13322 { | |
| 13323 } | |
| 13324 | |
| 13325 SamplerYcbcrConversion & operator=( SamplerYcbcrConversion const & ) = delete; | |
| 13326 | |
| 13327 SamplerYcbcrConversion & operator=( SamplerYcbcrConversion && rhs ) VULKAN_HPP_NOEXCEPT | |
| 13328 { | |
| 13329 if ( this != &rhs ) | |
| 13330 { | |
| 13331 std::swap( m_device, rhs.m_device ); | |
| 13332 std::swap( m_samplerYcbcrConversion, rhs.m_samplerYcbcrConversion ); | |
| 13333 std::swap( m_allocator, rhs.m_allocator ); | |
| 13334 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 13335 } | |
| 13336 return *this; | |
| 13337 } | |
| 13338 | |
| 13339 VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 13340 { | |
| 13341 return m_samplerYcbcrConversion; | |
| 13342 } | |
| 13343 | |
| 13344 VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 13345 { | |
| 13346 return std::move( m_samplerYcbcrConversion ); | |
| 13347 } | |
| 13348 | |
| 13349 operator VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion() const VULKAN_HPP_NOEXCEPT | |
| 13350 { | |
| 13351 return m_samplerYcbcrConversion; | |
| 13352 } | |
| 13353 | |
| 13354 void clear() VULKAN_HPP_NOEXCEPT | |
| 13355 { | |
| 13356 if ( m_samplerYcbcrConversion ) | |
| 13357 { | |
| 13358 getDispatcher()->vkDestroySamplerYcbcrConversion( static_cast<VkDevice>( m_device ), | |
| 13359 static_cast<VkSamplerYcbcrConversion>( m_samplerYcbcrConversion ), | |
| 13360 reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 13361 } | |
| 13362 m_device = nullptr; | |
| 13363 m_samplerYcbcrConversion = nullptr; | |
| 13364 m_allocator = nullptr; | |
| 13365 m_dispatcher = nullptr; | |
| 13366 } | |
| 13367 | |
| 13368 VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion release() | |
| 13369 { | |
| 13370 m_device = nullptr; | |
| 13371 m_allocator = nullptr; | |
| 13372 m_dispatcher = nullptr; | |
| 13373 return exchange( m_samplerYcbcrConversion, nullptr ); | |
| 13374 } | |
| 13375 | |
| 13376 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 13377 { | |
| 13378 return m_device; | |
| 13379 } | |
| 13380 | |
| 13381 detail::DeviceDispatcher const * getDispatcher() const | |
| 13382 { | |
| 13383 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 13384 return m_dispatcher; | |
| 13385 } | |
| 13386 | |
| 13387 void swap( SamplerYcbcrConversion & rhs ) VULKAN_HPP_NOEXCEPT | |
| 13388 { | |
| 13389 std::swap( m_device, rhs.m_device ); | |
| 13390 std::swap( m_samplerYcbcrConversion, rhs.m_samplerYcbcrConversion ); | |
| 13391 std::swap( m_allocator, rhs.m_allocator ); | |
| 13392 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 13393 } | |
| 13394 | |
| 13395 private: | |
| 13396 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 13397 VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion m_samplerYcbcrConversion = {}; | |
| 13398 const AllocationCallbacks * m_allocator = {}; | |
| 13399 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 13400 }; | |
| 13401 | |
| 13402 template <> | |
| 13403 struct isVulkanRAIIHandleType<SamplerYcbcrConversion> | |
| 13404 { | |
| 13405 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 13406 }; | |
| 13407 | |
| 13408 // wrapper class for handle VkSemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSemaphore.html | |
| 13409 class Semaphore | |
| 13410 { | |
| 13411 public: | |
| 13412 using CType = VkSemaphore; | |
| 13413 using CppType = VULKAN_HPP_NAMESPACE::Semaphore; | |
| 13414 | |
| 13415 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eSemaphore; | |
| 13416 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eSemaphore; | |
| 13417 | |
| 13418 public: | |
| 13419 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 13420 Semaphore( Device const & device, SemaphoreCreateInfo const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13421 { | |
| 13422 *this = device.createSemaphore( createInfo, allocator ); | |
| 13423 } | |
| 13424 # endif | |
| 13425 | |
| 13426 Semaphore( Device const & device, VkSemaphore semaphore, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13427 : m_device( device ) | |
| 13428 , m_semaphore( semaphore ) | |
| 13429 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 13430 , m_dispatcher( device.getDispatcher() ) | |
| 13431 { | |
| 13432 } | |
| 13433 | |
| 13434 Semaphore( std::nullptr_t ) {} | |
| 13435 | |
| 13436 ~Semaphore() | |
| 13437 { | |
| 13438 clear(); | |
| 13439 } | |
| 13440 | |
| 13441 Semaphore() = delete; | |
| 13442 Semaphore( Semaphore const & ) = delete; | |
| 13443 | |
| 13444 Semaphore( Semaphore && rhs ) VULKAN_HPP_NOEXCEPT | |
| 13445 : m_device( exchange( rhs.m_device, {} ) ) | |
| 13446 , m_semaphore( exchange( rhs.m_semaphore, {} ) ) | |
| 13447 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 13448 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 13449 { | |
| 13450 } | |
| 13451 | |
| 13452 Semaphore & operator=( Semaphore const & ) = delete; | |
| 13453 | |
| 13454 Semaphore & operator=( Semaphore && rhs ) VULKAN_HPP_NOEXCEPT | |
| 13455 { | |
| 13456 if ( this != &rhs ) | |
| 13457 { | |
| 13458 std::swap( m_device, rhs.m_device ); | |
| 13459 std::swap( m_semaphore, rhs.m_semaphore ); | |
| 13460 std::swap( m_allocator, rhs.m_allocator ); | |
| 13461 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 13462 } | |
| 13463 return *this; | |
| 13464 } | |
| 13465 | |
| 13466 VULKAN_HPP_NAMESPACE::Semaphore const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 13467 { | |
| 13468 return m_semaphore; | |
| 13469 } | |
| 13470 | |
| 13471 VULKAN_HPP_NAMESPACE::Semaphore const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 13472 { | |
| 13473 return std::move( m_semaphore ); | |
| 13474 } | |
| 13475 | |
| 13476 operator VULKAN_HPP_NAMESPACE::Semaphore() const VULKAN_HPP_NOEXCEPT | |
| 13477 { | |
| 13478 return m_semaphore; | |
| 13479 } | |
| 13480 | |
| 13481 void clear() VULKAN_HPP_NOEXCEPT | |
| 13482 { | |
| 13483 if ( m_semaphore ) | |
| 13484 { | |
| 13485 getDispatcher()->vkDestroySemaphore( | |
| 13486 static_cast<VkDevice>( m_device ), static_cast<VkSemaphore>( m_semaphore ), reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 13487 } | |
| 13488 m_device = nullptr; | |
| 13489 m_semaphore = nullptr; | |
| 13490 m_allocator = nullptr; | |
| 13491 m_dispatcher = nullptr; | |
| 13492 } | |
| 13493 | |
| 13494 VULKAN_HPP_NAMESPACE::Semaphore release() | |
| 13495 { | |
| 13496 m_device = nullptr; | |
| 13497 m_allocator = nullptr; | |
| 13498 m_dispatcher = nullptr; | |
| 13499 return exchange( m_semaphore, nullptr ); | |
| 13500 } | |
| 13501 | |
| 13502 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 13503 { | |
| 13504 return m_device; | |
| 13505 } | |
| 13506 | |
| 13507 detail::DeviceDispatcher const * getDispatcher() const | |
| 13508 { | |
| 13509 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 13510 return m_dispatcher; | |
| 13511 } | |
| 13512 | |
| 13513 void swap( Semaphore & rhs ) VULKAN_HPP_NOEXCEPT | |
| 13514 { | |
| 13515 std::swap( m_device, rhs.m_device ); | |
| 13516 std::swap( m_semaphore, rhs.m_semaphore ); | |
| 13517 std::swap( m_allocator, rhs.m_allocator ); | |
| 13518 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 13519 } | |
| 13520 | |
| 13521 //=== VK_VERSION_1_2 === | |
| 13522 | |
| 13523 // wrapper function for command vkGetSemaphoreCounterValue, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreCounterValue.html | |
| 13524 VULKAN_HPP_NODISCARD typename ResultValueType<uint64_t>::type getCounterValue() const; | |
| 13525 | |
| 13526 //=== VK_KHR_timeline_semaphore === | |
| 13527 | |
| 13528 // wrapper function for command vkGetSemaphoreCounterValueKHR, see | |
| 13529 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreCounterValueKHR.html | |
| 13530 VULKAN_HPP_NODISCARD typename ResultValueType<uint64_t>::type getCounterValueKHR() const; | |
| 13531 | |
| 13532 private: | |
| 13533 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 13534 VULKAN_HPP_NAMESPACE::Semaphore m_semaphore = {}; | |
| 13535 const AllocationCallbacks * m_allocator = {}; | |
| 13536 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 13537 }; | |
| 13538 | |
| 13539 template <> | |
| 13540 struct isVulkanRAIIHandleType<Semaphore> | |
| 13541 { | |
| 13542 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 13543 }; | |
| 13544 | |
| 13545 // wrapper class for handle VkShaderEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkShaderEXT.html | |
| 13546 class ShaderEXT | |
| 13547 { | |
| 13548 public: | |
| 13549 using CType = VkShaderEXT; | |
| 13550 using CppType = VULKAN_HPP_NAMESPACE::ShaderEXT; | |
| 13551 | |
| 13552 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eShaderEXT; | |
| 13553 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eUnknown; | |
| 13554 | |
| 13555 public: | |
| 13556 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 13557 ShaderEXT( Device const & device, ShaderCreateInfoEXT const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13558 { | |
| 13559 *this = device.createShaderEXT( createInfo, allocator ); | |
| 13560 } | |
| 13561 # endif | |
| 13562 | |
| 13563 ShaderEXT( Device const & device, VkShaderEXT shader, Optional<const AllocationCallbacks> allocator = nullptr, Result successCode = Result::eSuccess ) | |
| 13564 : m_device( device ) | |
| 13565 , m_shaderEXT( shader ) | |
| 13566 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 13567 , m_constructorSuccessCode( successCode ) | |
| 13568 , m_dispatcher( device.getDispatcher() ) | |
| 13569 { | |
| 13570 } | |
| 13571 | |
| 13572 ShaderEXT( std::nullptr_t ) {} | |
| 13573 | |
| 13574 ~ShaderEXT() | |
| 13575 { | |
| 13576 clear(); | |
| 13577 } | |
| 13578 | |
| 13579 ShaderEXT() = delete; | |
| 13580 ShaderEXT( ShaderEXT const & ) = delete; | |
| 13581 | |
| 13582 ShaderEXT( ShaderEXT && rhs ) VULKAN_HPP_NOEXCEPT | |
| 13583 : m_device( exchange( rhs.m_device, {} ) ) | |
| 13584 , m_shaderEXT( exchange( rhs.m_shaderEXT, {} ) ) | |
| 13585 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 13586 , m_constructorSuccessCode( exchange( rhs.m_constructorSuccessCode, {} ) ) | |
| 13587 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 13588 { | |
| 13589 } | |
| 13590 | |
| 13591 ShaderEXT & operator=( ShaderEXT const & ) = delete; | |
| 13592 | |
| 13593 ShaderEXT & operator=( ShaderEXT && rhs ) VULKAN_HPP_NOEXCEPT | |
| 13594 { | |
| 13595 if ( this != &rhs ) | |
| 13596 { | |
| 13597 std::swap( m_device, rhs.m_device ); | |
| 13598 std::swap( m_shaderEXT, rhs.m_shaderEXT ); | |
| 13599 std::swap( m_allocator, rhs.m_allocator ); | |
| 13600 std::swap( m_constructorSuccessCode, rhs.m_constructorSuccessCode ); | |
| 13601 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 13602 } | |
| 13603 return *this; | |
| 13604 } | |
| 13605 | |
| 13606 VULKAN_HPP_NAMESPACE::ShaderEXT const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 13607 { | |
| 13608 return m_shaderEXT; | |
| 13609 } | |
| 13610 | |
| 13611 VULKAN_HPP_NAMESPACE::ShaderEXT const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 13612 { | |
| 13613 return std::move( m_shaderEXT ); | |
| 13614 } | |
| 13615 | |
| 13616 operator VULKAN_HPP_NAMESPACE::ShaderEXT() const VULKAN_HPP_NOEXCEPT | |
| 13617 { | |
| 13618 return m_shaderEXT; | |
| 13619 } | |
| 13620 | |
| 13621 void clear() VULKAN_HPP_NOEXCEPT | |
| 13622 { | |
| 13623 if ( m_shaderEXT ) | |
| 13624 { | |
| 13625 getDispatcher()->vkDestroyShaderEXT( | |
| 13626 static_cast<VkDevice>( m_device ), static_cast<VkShaderEXT>( m_shaderEXT ), reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 13627 } | |
| 13628 m_device = nullptr; | |
| 13629 m_shaderEXT = nullptr; | |
| 13630 m_allocator = nullptr; | |
| 13631 m_constructorSuccessCode = Result::eErrorUnknown; | |
| 13632 m_dispatcher = nullptr; | |
| 13633 } | |
| 13634 | |
| 13635 VULKAN_HPP_NAMESPACE::ShaderEXT release() | |
| 13636 { | |
| 13637 m_device = nullptr; | |
| 13638 m_allocator = nullptr; | |
| 13639 m_constructorSuccessCode = Result::eErrorUnknown; | |
| 13640 m_dispatcher = nullptr; | |
| 13641 return exchange( m_shaderEXT, nullptr ); | |
| 13642 } | |
| 13643 | |
| 13644 Result getConstructorSuccessCode() const | |
| 13645 { | |
| 13646 return m_constructorSuccessCode; | |
| 13647 } | |
| 13648 | |
| 13649 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 13650 { | |
| 13651 return m_device; | |
| 13652 } | |
| 13653 | |
| 13654 detail::DeviceDispatcher const * getDispatcher() const | |
| 13655 { | |
| 13656 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 13657 return m_dispatcher; | |
| 13658 } | |
| 13659 | |
| 13660 void swap( ShaderEXT & rhs ) VULKAN_HPP_NOEXCEPT | |
| 13661 { | |
| 13662 std::swap( m_device, rhs.m_device ); | |
| 13663 std::swap( m_shaderEXT, rhs.m_shaderEXT ); | |
| 13664 std::swap( m_allocator, rhs.m_allocator ); | |
| 13665 std::swap( m_constructorSuccessCode, rhs.m_constructorSuccessCode ); | |
| 13666 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 13667 } | |
| 13668 | |
| 13669 //=== VK_EXT_shader_object === | |
| 13670 | |
| 13671 // wrapper function for command vkGetShaderBinaryDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderBinaryDataEXT.html | |
| 13672 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<uint8_t>>::type getBinaryData() const; | |
| 13673 | |
| 13674 private: | |
| 13675 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 13676 VULKAN_HPP_NAMESPACE::ShaderEXT m_shaderEXT = {}; | |
| 13677 const AllocationCallbacks * m_allocator = {}; | |
| 13678 Result m_constructorSuccessCode = Result::eErrorUnknown; | |
| 13679 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 13680 }; | |
| 13681 | |
| 13682 template <> | |
| 13683 struct isVulkanRAIIHandleType<ShaderEXT> | |
| 13684 { | |
| 13685 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 13686 }; | |
| 13687 | |
| 13688 class ShaderEXTs : public std::vector<ShaderEXT> | |
| 13689 { | |
| 13690 public: | |
| 13691 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 13692 ShaderEXTs( Device const & device, ArrayProxy<ShaderCreateInfoEXT> const & createInfos, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13693 { | |
| 13694 *this = device.createShadersEXT( createInfos, allocator ); | |
| 13695 } | |
| 13696 # endif | |
| 13697 | |
| 13698 ShaderEXTs( std::nullptr_t ) {} | |
| 13699 | |
| 13700 ShaderEXTs() = delete; | |
| 13701 ShaderEXTs( ShaderEXTs const & ) = delete; | |
| 13702 ShaderEXTs( ShaderEXTs && rhs ) = default; | |
| 13703 ShaderEXTs & operator=( ShaderEXTs const & ) = delete; | |
| 13704 ShaderEXTs & operator=( ShaderEXTs && rhs ) = default; | |
| 13705 | |
| 13706 private: | |
| 13707 ShaderEXTs( std::vector<ShaderEXT> && rhs ) | |
| 13708 { | |
| 13709 std::swap( *this, rhs ); | |
| 13710 } | |
| 13711 }; | |
| 13712 | |
| 13713 // wrapper class for handle VkShaderModule, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkShaderModule.html | |
| 13714 class ShaderModule | |
| 13715 { | |
| 13716 public: | |
| 13717 using CType = VkShaderModule; | |
| 13718 using CppType = VULKAN_HPP_NAMESPACE::ShaderModule; | |
| 13719 | |
| 13720 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eShaderModule; | |
| 13721 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eShaderModule; | |
| 13722 | |
| 13723 public: | |
| 13724 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 13725 ShaderModule( Device const & device, ShaderModuleCreateInfo const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13726 { | |
| 13727 *this = device.createShaderModule( createInfo, allocator ); | |
| 13728 } | |
| 13729 # endif | |
| 13730 | |
| 13731 ShaderModule( Device const & device, VkShaderModule shaderModule, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13732 : m_device( device ) | |
| 13733 , m_shaderModule( shaderModule ) | |
| 13734 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 13735 , m_dispatcher( device.getDispatcher() ) | |
| 13736 { | |
| 13737 } | |
| 13738 | |
| 13739 ShaderModule( std::nullptr_t ) {} | |
| 13740 | |
| 13741 ~ShaderModule() | |
| 13742 { | |
| 13743 clear(); | |
| 13744 } | |
| 13745 | |
| 13746 ShaderModule() = delete; | |
| 13747 ShaderModule( ShaderModule const & ) = delete; | |
| 13748 | |
| 13749 ShaderModule( ShaderModule && rhs ) VULKAN_HPP_NOEXCEPT | |
| 13750 : m_device( exchange( rhs.m_device, {} ) ) | |
| 13751 , m_shaderModule( exchange( rhs.m_shaderModule, {} ) ) | |
| 13752 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 13753 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 13754 { | |
| 13755 } | |
| 13756 | |
| 13757 ShaderModule & operator=( ShaderModule const & ) = delete; | |
| 13758 | |
| 13759 ShaderModule & operator=( ShaderModule && rhs ) VULKAN_HPP_NOEXCEPT | |
| 13760 { | |
| 13761 if ( this != &rhs ) | |
| 13762 { | |
| 13763 std::swap( m_device, rhs.m_device ); | |
| 13764 std::swap( m_shaderModule, rhs.m_shaderModule ); | |
| 13765 std::swap( m_allocator, rhs.m_allocator ); | |
| 13766 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 13767 } | |
| 13768 return *this; | |
| 13769 } | |
| 13770 | |
| 13771 VULKAN_HPP_NAMESPACE::ShaderModule const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 13772 { | |
| 13773 return m_shaderModule; | |
| 13774 } | |
| 13775 | |
| 13776 VULKAN_HPP_NAMESPACE::ShaderModule const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 13777 { | |
| 13778 return std::move( m_shaderModule ); | |
| 13779 } | |
| 13780 | |
| 13781 operator VULKAN_HPP_NAMESPACE::ShaderModule() const VULKAN_HPP_NOEXCEPT | |
| 13782 { | |
| 13783 return m_shaderModule; | |
| 13784 } | |
| 13785 | |
| 13786 void clear() VULKAN_HPP_NOEXCEPT | |
| 13787 { | |
| 13788 if ( m_shaderModule ) | |
| 13789 { | |
| 13790 getDispatcher()->vkDestroyShaderModule( | |
| 13791 static_cast<VkDevice>( m_device ), static_cast<VkShaderModule>( m_shaderModule ), reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 13792 } | |
| 13793 m_device = nullptr; | |
| 13794 m_shaderModule = nullptr; | |
| 13795 m_allocator = nullptr; | |
| 13796 m_dispatcher = nullptr; | |
| 13797 } | |
| 13798 | |
| 13799 VULKAN_HPP_NAMESPACE::ShaderModule release() | |
| 13800 { | |
| 13801 m_device = nullptr; | |
| 13802 m_allocator = nullptr; | |
| 13803 m_dispatcher = nullptr; | |
| 13804 return exchange( m_shaderModule, nullptr ); | |
| 13805 } | |
| 13806 | |
| 13807 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 13808 { | |
| 13809 return m_device; | |
| 13810 } | |
| 13811 | |
| 13812 detail::DeviceDispatcher const * getDispatcher() const | |
| 13813 { | |
| 13814 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 13815 return m_dispatcher; | |
| 13816 } | |
| 13817 | |
| 13818 void swap( ShaderModule & rhs ) VULKAN_HPP_NOEXCEPT | |
| 13819 { | |
| 13820 std::swap( m_device, rhs.m_device ); | |
| 13821 std::swap( m_shaderModule, rhs.m_shaderModule ); | |
| 13822 std::swap( m_allocator, rhs.m_allocator ); | |
| 13823 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 13824 } | |
| 13825 | |
| 13826 //=== VK_EXT_shader_module_identifier === | |
| 13827 | |
| 13828 // wrapper function for command vkGetShaderModuleIdentifierEXT, see | |
| 13829 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderModuleIdentifierEXT.html | |
| 13830 VULKAN_HPP_NODISCARD ShaderModuleIdentifierEXT getIdentifierEXT() const VULKAN_HPP_NOEXCEPT; | |
| 13831 | |
| 13832 private: | |
| 13833 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 13834 VULKAN_HPP_NAMESPACE::ShaderModule m_shaderModule = {}; | |
| 13835 const AllocationCallbacks * m_allocator = {}; | |
| 13836 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 13837 }; | |
| 13838 | |
| 13839 template <> | |
| 13840 struct isVulkanRAIIHandleType<ShaderModule> | |
| 13841 { | |
| 13842 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 13843 }; | |
| 13844 | |
| 13845 // wrapper class for handle VkSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSurfaceKHR.html | |
| 13846 class SurfaceKHR | |
| 13847 { | |
| 13848 public: | |
| 13849 using CType = VkSurfaceKHR; | |
| 13850 using CppType = VULKAN_HPP_NAMESPACE::SurfaceKHR; | |
| 13851 | |
| 13852 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eSurfaceKHR; | |
| 13853 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eSurfaceKHR; | |
| 13854 | |
| 13855 public: | |
| 13856 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 13857 # if defined( VK_USE_PLATFORM_ANDROID_KHR ) | |
| 13858 SurfaceKHR( Instance const & instance, AndroidSurfaceCreateInfoKHR const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13859 { | |
| 13860 *this = instance.createAndroidSurfaceKHR( createInfo, allocator ); | |
| 13861 } | |
| 13862 # endif /*VK_USE_PLATFORM_ANDROID_KHR*/ | |
| 13863 # endif | |
| 13864 | |
| 13865 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 13866 # if defined( VK_USE_PLATFORM_DIRECTFB_EXT ) | |
| 13867 SurfaceKHR( Instance const & instance, DirectFBSurfaceCreateInfoEXT const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13868 { | |
| 13869 *this = instance.createDirectFBSurfaceEXT( createInfo, allocator ); | |
| 13870 } | |
| 13871 # endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/ | |
| 13872 # endif | |
| 13873 | |
| 13874 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 13875 SurfaceKHR( Instance const & instance, DisplaySurfaceCreateInfoKHR const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13876 { | |
| 13877 *this = instance.createDisplayPlaneSurfaceKHR( createInfo, allocator ); | |
| 13878 } | |
| 13879 # endif | |
| 13880 | |
| 13881 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 13882 SurfaceKHR( Instance const & instance, HeadlessSurfaceCreateInfoEXT const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13883 { | |
| 13884 *this = instance.createHeadlessSurfaceEXT( createInfo, allocator ); | |
| 13885 } | |
| 13886 # endif | |
| 13887 | |
| 13888 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 13889 # if defined( VK_USE_PLATFORM_IOS_MVK ) | |
| 13890 SurfaceKHR( Instance const & instance, IOSSurfaceCreateInfoMVK const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13891 { | |
| 13892 *this = instance.createIOSSurfaceMVK( createInfo, allocator ); | |
| 13893 } | |
| 13894 # endif /*VK_USE_PLATFORM_IOS_MVK*/ | |
| 13895 # endif | |
| 13896 | |
| 13897 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 13898 # if defined( VK_USE_PLATFORM_FUCHSIA ) | |
| 13899 SurfaceKHR( Instance const & instance, ImagePipeSurfaceCreateInfoFUCHSIA const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13900 { | |
| 13901 *this = instance.createImagePipeSurfaceFUCHSIA( createInfo, allocator ); | |
| 13902 } | |
| 13903 # endif /*VK_USE_PLATFORM_FUCHSIA*/ | |
| 13904 # endif | |
| 13905 | |
| 13906 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 13907 # if defined( VK_USE_PLATFORM_MACOS_MVK ) | |
| 13908 SurfaceKHR( Instance const & instance, MacOSSurfaceCreateInfoMVK const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13909 { | |
| 13910 *this = instance.createMacOSSurfaceMVK( createInfo, allocator ); | |
| 13911 } | |
| 13912 # endif /*VK_USE_PLATFORM_MACOS_MVK*/ | |
| 13913 # endif | |
| 13914 | |
| 13915 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 13916 # if defined( VK_USE_PLATFORM_METAL_EXT ) | |
| 13917 SurfaceKHR( Instance const & instance, MetalSurfaceCreateInfoEXT const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13918 { | |
| 13919 *this = instance.createMetalSurfaceEXT( createInfo, allocator ); | |
| 13920 } | |
| 13921 # endif /*VK_USE_PLATFORM_METAL_EXT*/ | |
| 13922 # endif | |
| 13923 | |
| 13924 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 13925 # if defined( VK_USE_PLATFORM_SCREEN_QNX ) | |
| 13926 SurfaceKHR( Instance const & instance, ScreenSurfaceCreateInfoQNX const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13927 { | |
| 13928 *this = instance.createScreenSurfaceQNX( createInfo, allocator ); | |
| 13929 } | |
| 13930 # endif /*VK_USE_PLATFORM_SCREEN_QNX*/ | |
| 13931 # endif | |
| 13932 | |
| 13933 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 13934 # if defined( VK_USE_PLATFORM_GGP ) | |
| 13935 SurfaceKHR( Instance const & instance, StreamDescriptorSurfaceCreateInfoGGP const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13936 { | |
| 13937 *this = instance.createStreamDescriptorSurfaceGGP( createInfo, allocator ); | |
| 13938 } | |
| 13939 # endif /*VK_USE_PLATFORM_GGP*/ | |
| 13940 # endif | |
| 13941 | |
| 13942 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 13943 # if defined( VK_USE_PLATFORM_OHOS ) | |
| 13944 SurfaceKHR( Instance const & instance, SurfaceCreateInfoOHOS const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13945 { | |
| 13946 *this = instance.createSurfaceOHOS( createInfo, allocator ); | |
| 13947 } | |
| 13948 # endif /*VK_USE_PLATFORM_OHOS*/ | |
| 13949 # endif | |
| 13950 | |
| 13951 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 13952 # if defined( VK_USE_PLATFORM_VI_NN ) | |
| 13953 SurfaceKHR( Instance const & instance, ViSurfaceCreateInfoNN const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13954 { | |
| 13955 *this = instance.createViSurfaceNN( createInfo, allocator ); | |
| 13956 } | |
| 13957 # endif /*VK_USE_PLATFORM_VI_NN*/ | |
| 13958 # endif | |
| 13959 | |
| 13960 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 13961 # if defined( VK_USE_PLATFORM_WAYLAND_KHR ) | |
| 13962 SurfaceKHR( Instance const & instance, WaylandSurfaceCreateInfoKHR const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13963 { | |
| 13964 *this = instance.createWaylandSurfaceKHR( createInfo, allocator ); | |
| 13965 } | |
| 13966 # endif /*VK_USE_PLATFORM_WAYLAND_KHR*/ | |
| 13967 # endif | |
| 13968 | |
| 13969 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 13970 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 13971 SurfaceKHR( Instance const & instance, Win32SurfaceCreateInfoKHR const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13972 { | |
| 13973 *this = instance.createWin32SurfaceKHR( createInfo, allocator ); | |
| 13974 } | |
| 13975 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 13976 # endif | |
| 13977 | |
| 13978 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 13979 # if defined( VK_USE_PLATFORM_XCB_KHR ) | |
| 13980 SurfaceKHR( Instance const & instance, XcbSurfaceCreateInfoKHR const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13981 { | |
| 13982 *this = instance.createXcbSurfaceKHR( createInfo, allocator ); | |
| 13983 } | |
| 13984 # endif /*VK_USE_PLATFORM_XCB_KHR*/ | |
| 13985 # endif | |
| 13986 | |
| 13987 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 13988 # if defined( VK_USE_PLATFORM_XLIB_KHR ) | |
| 13989 SurfaceKHR( Instance const & instance, XlibSurfaceCreateInfoKHR const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13990 { | |
| 13991 *this = instance.createXlibSurfaceKHR( createInfo, allocator ); | |
| 13992 } | |
| 13993 # endif /*VK_USE_PLATFORM_XLIB_KHR*/ | |
| 13994 # endif | |
| 13995 | |
| 13996 SurfaceKHR( Instance const & instance, VkSurfaceKHR surface, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 13997 : m_instance( instance ) | |
| 13998 , m_surfaceKHR( surface ) | |
| 13999 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 14000 , m_dispatcher( instance.getDispatcher() ) | |
| 14001 { | |
| 14002 } | |
| 14003 | |
| 14004 SurfaceKHR( std::nullptr_t ) {} | |
| 14005 | |
| 14006 ~SurfaceKHR() | |
| 14007 { | |
| 14008 clear(); | |
| 14009 } | |
| 14010 | |
| 14011 SurfaceKHR() = delete; | |
| 14012 SurfaceKHR( SurfaceKHR const & ) = delete; | |
| 14013 | |
| 14014 SurfaceKHR( SurfaceKHR && rhs ) VULKAN_HPP_NOEXCEPT | |
| 14015 : m_instance( exchange( rhs.m_instance, {} ) ) | |
| 14016 , m_surfaceKHR( exchange( rhs.m_surfaceKHR, {} ) ) | |
| 14017 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 14018 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 14019 { | |
| 14020 } | |
| 14021 | |
| 14022 SurfaceKHR & operator=( SurfaceKHR const & ) = delete; | |
| 14023 | |
| 14024 SurfaceKHR & operator=( SurfaceKHR && rhs ) VULKAN_HPP_NOEXCEPT | |
| 14025 { | |
| 14026 if ( this != &rhs ) | |
| 14027 { | |
| 14028 std::swap( m_instance, rhs.m_instance ); | |
| 14029 std::swap( m_surfaceKHR, rhs.m_surfaceKHR ); | |
| 14030 std::swap( m_allocator, rhs.m_allocator ); | |
| 14031 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 14032 } | |
| 14033 return *this; | |
| 14034 } | |
| 14035 | |
| 14036 VULKAN_HPP_NAMESPACE::SurfaceKHR const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 14037 { | |
| 14038 return m_surfaceKHR; | |
| 14039 } | |
| 14040 | |
| 14041 VULKAN_HPP_NAMESPACE::SurfaceKHR const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 14042 { | |
| 14043 return std::move( m_surfaceKHR ); | |
| 14044 } | |
| 14045 | |
| 14046 operator VULKAN_HPP_NAMESPACE::SurfaceKHR() const VULKAN_HPP_NOEXCEPT | |
| 14047 { | |
| 14048 return m_surfaceKHR; | |
| 14049 } | |
| 14050 | |
| 14051 void clear() VULKAN_HPP_NOEXCEPT | |
| 14052 { | |
| 14053 if ( m_surfaceKHR ) | |
| 14054 { | |
| 14055 getDispatcher()->vkDestroySurfaceKHR( | |
| 14056 static_cast<VkInstance>( m_instance ), static_cast<VkSurfaceKHR>( m_surfaceKHR ), reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 14057 } | |
| 14058 m_instance = nullptr; | |
| 14059 m_surfaceKHR = nullptr; | |
| 14060 m_allocator = nullptr; | |
| 14061 m_dispatcher = nullptr; | |
| 14062 } | |
| 14063 | |
| 14064 VULKAN_HPP_NAMESPACE::SurfaceKHR release() | |
| 14065 { | |
| 14066 m_instance = nullptr; | |
| 14067 m_allocator = nullptr; | |
| 14068 m_dispatcher = nullptr; | |
| 14069 return exchange( m_surfaceKHR, nullptr ); | |
| 14070 } | |
| 14071 | |
| 14072 VULKAN_HPP_NAMESPACE::Instance getInstance() const | |
| 14073 { | |
| 14074 return m_instance; | |
| 14075 } | |
| 14076 | |
| 14077 detail::InstanceDispatcher const * getDispatcher() const | |
| 14078 { | |
| 14079 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 14080 return m_dispatcher; | |
| 14081 } | |
| 14082 | |
| 14083 void swap( SurfaceKHR & rhs ) VULKAN_HPP_NOEXCEPT | |
| 14084 { | |
| 14085 std::swap( m_instance, rhs.m_instance ); | |
| 14086 std::swap( m_surfaceKHR, rhs.m_surfaceKHR ); | |
| 14087 std::swap( m_allocator, rhs.m_allocator ); | |
| 14088 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 14089 } | |
| 14090 | |
| 14091 private: | |
| 14092 VULKAN_HPP_NAMESPACE::Instance m_instance = {}; | |
| 14093 VULKAN_HPP_NAMESPACE::SurfaceKHR m_surfaceKHR = {}; | |
| 14094 const AllocationCallbacks * m_allocator = {}; | |
| 14095 detail::InstanceDispatcher const * m_dispatcher = nullptr; | |
| 14096 }; | |
| 14097 | |
| 14098 template <> | |
| 14099 struct isVulkanRAIIHandleType<SurfaceKHR> | |
| 14100 { | |
| 14101 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 14102 }; | |
| 14103 | |
| 14104 // wrapper class for handle VkSwapchainKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSwapchainKHR.html | |
| 14105 class SwapchainKHR | |
| 14106 { | |
| 14107 public: | |
| 14108 using CType = VkSwapchainKHR; | |
| 14109 using CppType = VULKAN_HPP_NAMESPACE::SwapchainKHR; | |
| 14110 | |
| 14111 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eSwapchainKHR; | |
| 14112 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eSwapchainKHR; | |
| 14113 | |
| 14114 public: | |
| 14115 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 14116 SwapchainKHR( Device const & device, SwapchainCreateInfoKHR const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 14117 { | |
| 14118 *this = device.createSwapchainKHR( createInfo, allocator ); | |
| 14119 } | |
| 14120 # endif | |
| 14121 | |
| 14122 SwapchainKHR( Device const & device, VkSwapchainKHR swapchain, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 14123 : m_device( device ) | |
| 14124 , m_swapchainKHR( swapchain ) | |
| 14125 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 14126 , m_dispatcher( device.getDispatcher() ) | |
| 14127 { | |
| 14128 } | |
| 14129 | |
| 14130 SwapchainKHR( std::nullptr_t ) {} | |
| 14131 | |
| 14132 ~SwapchainKHR() | |
| 14133 { | |
| 14134 clear(); | |
| 14135 } | |
| 14136 | |
| 14137 SwapchainKHR() = delete; | |
| 14138 SwapchainKHR( SwapchainKHR const & ) = delete; | |
| 14139 | |
| 14140 SwapchainKHR( SwapchainKHR && rhs ) VULKAN_HPP_NOEXCEPT | |
| 14141 : m_device( exchange( rhs.m_device, {} ) ) | |
| 14142 , m_swapchainKHR( exchange( rhs.m_swapchainKHR, {} ) ) | |
| 14143 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 14144 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 14145 { | |
| 14146 } | |
| 14147 | |
| 14148 SwapchainKHR & operator=( SwapchainKHR const & ) = delete; | |
| 14149 | |
| 14150 SwapchainKHR & operator=( SwapchainKHR && rhs ) VULKAN_HPP_NOEXCEPT | |
| 14151 { | |
| 14152 if ( this != &rhs ) | |
| 14153 { | |
| 14154 std::swap( m_device, rhs.m_device ); | |
| 14155 std::swap( m_swapchainKHR, rhs.m_swapchainKHR ); | |
| 14156 std::swap( m_allocator, rhs.m_allocator ); | |
| 14157 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 14158 } | |
| 14159 return *this; | |
| 14160 } | |
| 14161 | |
| 14162 VULKAN_HPP_NAMESPACE::SwapchainKHR const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 14163 { | |
| 14164 return m_swapchainKHR; | |
| 14165 } | |
| 14166 | |
| 14167 VULKAN_HPP_NAMESPACE::SwapchainKHR const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 14168 { | |
| 14169 return std::move( m_swapchainKHR ); | |
| 14170 } | |
| 14171 | |
| 14172 operator VULKAN_HPP_NAMESPACE::SwapchainKHR() const VULKAN_HPP_NOEXCEPT | |
| 14173 { | |
| 14174 return m_swapchainKHR; | |
| 14175 } | |
| 14176 | |
| 14177 void clear() VULKAN_HPP_NOEXCEPT | |
| 14178 { | |
| 14179 if ( m_swapchainKHR ) | |
| 14180 { | |
| 14181 getDispatcher()->vkDestroySwapchainKHR( | |
| 14182 static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ), reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 14183 } | |
| 14184 m_device = nullptr; | |
| 14185 m_swapchainKHR = nullptr; | |
| 14186 m_allocator = nullptr; | |
| 14187 m_dispatcher = nullptr; | |
| 14188 } | |
| 14189 | |
| 14190 VULKAN_HPP_NAMESPACE::SwapchainKHR release() | |
| 14191 { | |
| 14192 m_device = nullptr; | |
| 14193 m_allocator = nullptr; | |
| 14194 m_dispatcher = nullptr; | |
| 14195 return exchange( m_swapchainKHR, nullptr ); | |
| 14196 } | |
| 14197 | |
| 14198 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 14199 { | |
| 14200 return m_device; | |
| 14201 } | |
| 14202 | |
| 14203 detail::DeviceDispatcher const * getDispatcher() const | |
| 14204 { | |
| 14205 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 14206 return m_dispatcher; | |
| 14207 } | |
| 14208 | |
| 14209 void swap( SwapchainKHR & rhs ) VULKAN_HPP_NOEXCEPT | |
| 14210 { | |
| 14211 std::swap( m_device, rhs.m_device ); | |
| 14212 std::swap( m_swapchainKHR, rhs.m_swapchainKHR ); | |
| 14213 std::swap( m_allocator, rhs.m_allocator ); | |
| 14214 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 14215 } | |
| 14216 | |
| 14217 //=== VK_KHR_swapchain === | |
| 14218 | |
| 14219 // wrapper function for command vkGetSwapchainImagesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainImagesKHR.html | |
| 14220 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::Image>>::type getImages() const; | |
| 14221 | |
| 14222 // wrapper function for command vkAcquireNextImageKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireNextImageKHR.html | |
| 14223 VULKAN_HPP_NODISCARD ResultValue<uint32_t> acquireNextImage( uint64_t timeout, | |
| 14224 VULKAN_HPP_NAMESPACE::Semaphore semaphore VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), | |
| 14225 VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const; | |
| 14226 | |
| 14227 //=== VK_EXT_display_control === | |
| 14228 | |
| 14229 // wrapper function for command vkGetSwapchainCounterEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainCounterEXT.html | |
| 14230 VULKAN_HPP_NODISCARD | |
| 14231 # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) | |
| 14232 ResultValue<uint64_t> | |
| 14233 # else | |
| 14234 typename ResultValueType<uint64_t>::type | |
| 14235 # endif | |
| 14236 getCounterEXT( SurfaceCounterFlagBitsEXT counter ) const; | |
| 14237 | |
| 14238 //=== VK_GOOGLE_display_timing === | |
| 14239 | |
| 14240 // wrapper function for command vkGetRefreshCycleDurationGOOGLE, see | |
| 14241 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRefreshCycleDurationGOOGLE.html | |
| 14242 VULKAN_HPP_NODISCARD typename ResultValueType<RefreshCycleDurationGOOGLE>::type getRefreshCycleDurationGOOGLE() const; | |
| 14243 | |
| 14244 // wrapper function for command vkGetPastPresentationTimingGOOGLE, see | |
| 14245 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPastPresentationTimingGOOGLE.html | |
| 14246 VULKAN_HPP_NODISCARD | |
| 14247 # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) | |
| 14248 ResultValue<std::vector<PastPresentationTimingGOOGLE>> | |
| 14249 # else | |
| 14250 typename ResultValueType<std::vector<PastPresentationTimingGOOGLE>>::type | |
| 14251 # endif | |
| 14252 getPastPresentationTimingGOOGLE() const; | |
| 14253 | |
| 14254 //=== VK_KHR_shared_presentable_image === | |
| 14255 | |
| 14256 // wrapper function for command vkGetSwapchainStatusKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainStatusKHR.html | |
| 14257 VULKAN_HPP_NODISCARD Result getStatus() const; | |
| 14258 | |
| 14259 //=== VK_AMD_display_native_hdr === | |
| 14260 | |
| 14261 // wrapper function for command vkSetLocalDimmingAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLocalDimmingAMD.html | |
| 14262 void setLocalDimmingAMD( Bool32 localDimmingEnable ) const VULKAN_HPP_NOEXCEPT; | |
| 14263 | |
| 14264 //=== VK_KHR_present_wait === | |
| 14265 | |
| 14266 // wrapper function for command vkWaitForPresentKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitForPresentKHR.html | |
| 14267 VULKAN_HPP_NODISCARD Result waitForPresent( uint64_t presentId, uint64_t timeout ) const; | |
| 14268 | |
| 14269 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 14270 //=== VK_EXT_full_screen_exclusive === | |
| 14271 | |
| 14272 // wrapper function for command vkAcquireFullScreenExclusiveModeEXT, see | |
| 14273 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireFullScreenExclusiveModeEXT.html | |
| 14274 typename ResultValueType<void>::type acquireFullScreenExclusiveModeEXT() const; | |
| 14275 | |
| 14276 // wrapper function for command vkReleaseFullScreenExclusiveModeEXT, see | |
| 14277 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseFullScreenExclusiveModeEXT.html | |
| 14278 typename ResultValueType<void>::type releaseFullScreenExclusiveModeEXT() const; | |
| 14279 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 14280 | |
| 14281 //=== VK_KHR_present_wait2 === | |
| 14282 | |
| 14283 // wrapper function for command vkWaitForPresent2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitForPresent2KHR.html | |
| 14284 VULKAN_HPP_NODISCARD Result waitForPresent2( const PresentWait2InfoKHR & presentWait2Info ) const; | |
| 14285 | |
| 14286 //=== VK_NV_low_latency2 === | |
| 14287 | |
| 14288 // wrapper function for command vkSetLatencySleepModeNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLatencySleepModeNV.html | |
| 14289 typename ResultValueType<void>::type setLatencySleepModeNV( const LatencySleepModeInfoNV & sleepModeInfo ) const; | |
| 14290 | |
| 14291 // wrapper function for command vkLatencySleepNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkLatencySleepNV.html | |
| 14292 typename ResultValueType<void>::type latencySleepNV( const LatencySleepInfoNV & sleepInfo ) const; | |
| 14293 | |
| 14294 // wrapper function for command vkSetLatencyMarkerNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLatencyMarkerNV.html | |
| 14295 void setLatencyMarkerNV( const SetLatencyMarkerInfoNV & latencyMarkerInfo ) const VULKAN_HPP_NOEXCEPT; | |
| 14296 | |
| 14297 // wrapper function for command vkGetLatencyTimingsNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetLatencyTimingsNV.html | |
| 14298 VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::LatencyTimingsFrameReportNV> getLatencyTimingsNV() const; | |
| 14299 | |
| 14300 private: | |
| 14301 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 14302 VULKAN_HPP_NAMESPACE::SwapchainKHR m_swapchainKHR = {}; | |
| 14303 const AllocationCallbacks * m_allocator = {}; | |
| 14304 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 14305 }; | |
| 14306 | |
| 14307 template <> | |
| 14308 struct isVulkanRAIIHandleType<SwapchainKHR> | |
| 14309 { | |
| 14310 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 14311 }; | |
| 14312 | |
| 14313 class SwapchainKHRs : public std::vector<SwapchainKHR> | |
| 14314 { | |
| 14315 public: | |
| 14316 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 14317 SwapchainKHRs( Device const & device, ArrayProxy<SwapchainCreateInfoKHR> const & createInfos, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 14318 { | |
| 14319 *this = device.createSharedSwapchainsKHR( createInfos, allocator ); | |
| 14320 } | |
| 14321 # endif | |
| 14322 | |
| 14323 SwapchainKHRs( std::nullptr_t ) {} | |
| 14324 | |
| 14325 SwapchainKHRs() = delete; | |
| 14326 SwapchainKHRs( SwapchainKHRs const & ) = delete; | |
| 14327 SwapchainKHRs( SwapchainKHRs && rhs ) = default; | |
| 14328 SwapchainKHRs & operator=( SwapchainKHRs const & ) = delete; | |
| 14329 SwapchainKHRs & operator=( SwapchainKHRs && rhs ) = default; | |
| 14330 | |
| 14331 private: | |
| 14332 SwapchainKHRs( std::vector<SwapchainKHR> && rhs ) | |
| 14333 { | |
| 14334 std::swap( *this, rhs ); | |
| 14335 } | |
| 14336 }; | |
| 14337 | |
| 14338 // wrapper class for handle VkTensorARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkTensorARM.html | |
| 14339 class TensorARM | |
| 14340 { | |
| 14341 public: | |
| 14342 using CType = VkTensorARM; | |
| 14343 using CppType = VULKAN_HPP_NAMESPACE::TensorARM; | |
| 14344 | |
| 14345 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eTensorARM; | |
| 14346 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eUnknown; | |
| 14347 | |
| 14348 public: | |
| 14349 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 14350 TensorARM( Device const & device, TensorCreateInfoARM const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 14351 { | |
| 14352 *this = device.createTensorARM( createInfo, allocator ); | |
| 14353 } | |
| 14354 # endif | |
| 14355 | |
| 14356 TensorARM( Device const & device, VkTensorARM tensor, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 14357 : m_device( device ) | |
| 14358 , m_tensorARM( tensor ) | |
| 14359 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 14360 , m_dispatcher( device.getDispatcher() ) | |
| 14361 { | |
| 14362 } | |
| 14363 | |
| 14364 TensorARM( std::nullptr_t ) {} | |
| 14365 | |
| 14366 ~TensorARM() | |
| 14367 { | |
| 14368 clear(); | |
| 14369 } | |
| 14370 | |
| 14371 TensorARM() = delete; | |
| 14372 TensorARM( TensorARM const & ) = delete; | |
| 14373 | |
| 14374 TensorARM( TensorARM && rhs ) VULKAN_HPP_NOEXCEPT | |
| 14375 : m_device( exchange( rhs.m_device, {} ) ) | |
| 14376 , m_tensorARM( exchange( rhs.m_tensorARM, {} ) ) | |
| 14377 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 14378 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 14379 { | |
| 14380 } | |
| 14381 | |
| 14382 TensorARM & operator=( TensorARM const & ) = delete; | |
| 14383 | |
| 14384 TensorARM & operator=( TensorARM && rhs ) VULKAN_HPP_NOEXCEPT | |
| 14385 { | |
| 14386 if ( this != &rhs ) | |
| 14387 { | |
| 14388 std::swap( m_device, rhs.m_device ); | |
| 14389 std::swap( m_tensorARM, rhs.m_tensorARM ); | |
| 14390 std::swap( m_allocator, rhs.m_allocator ); | |
| 14391 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 14392 } | |
| 14393 return *this; | |
| 14394 } | |
| 14395 | |
| 14396 VULKAN_HPP_NAMESPACE::TensorARM const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 14397 { | |
| 14398 return m_tensorARM; | |
| 14399 } | |
| 14400 | |
| 14401 VULKAN_HPP_NAMESPACE::TensorARM const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 14402 { | |
| 14403 return std::move( m_tensorARM ); | |
| 14404 } | |
| 14405 | |
| 14406 operator VULKAN_HPP_NAMESPACE::TensorARM() const VULKAN_HPP_NOEXCEPT | |
| 14407 { | |
| 14408 return m_tensorARM; | |
| 14409 } | |
| 14410 | |
| 14411 void clear() VULKAN_HPP_NOEXCEPT | |
| 14412 { | |
| 14413 if ( m_tensorARM ) | |
| 14414 { | |
| 14415 getDispatcher()->vkDestroyTensorARM( | |
| 14416 static_cast<VkDevice>( m_device ), static_cast<VkTensorARM>( m_tensorARM ), reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 14417 } | |
| 14418 m_device = nullptr; | |
| 14419 m_tensorARM = nullptr; | |
| 14420 m_allocator = nullptr; | |
| 14421 m_dispatcher = nullptr; | |
| 14422 } | |
| 14423 | |
| 14424 VULKAN_HPP_NAMESPACE::TensorARM release() | |
| 14425 { | |
| 14426 m_device = nullptr; | |
| 14427 m_allocator = nullptr; | |
| 14428 m_dispatcher = nullptr; | |
| 14429 return exchange( m_tensorARM, nullptr ); | |
| 14430 } | |
| 14431 | |
| 14432 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 14433 { | |
| 14434 return m_device; | |
| 14435 } | |
| 14436 | |
| 14437 detail::DeviceDispatcher const * getDispatcher() const | |
| 14438 { | |
| 14439 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 14440 return m_dispatcher; | |
| 14441 } | |
| 14442 | |
| 14443 void swap( TensorARM & rhs ) VULKAN_HPP_NOEXCEPT | |
| 14444 { | |
| 14445 std::swap( m_device, rhs.m_device ); | |
| 14446 std::swap( m_tensorARM, rhs.m_tensorARM ); | |
| 14447 std::swap( m_allocator, rhs.m_allocator ); | |
| 14448 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 14449 } | |
| 14450 | |
| 14451 private: | |
| 14452 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 14453 VULKAN_HPP_NAMESPACE::TensorARM m_tensorARM = {}; | |
| 14454 const AllocationCallbacks * m_allocator = {}; | |
| 14455 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 14456 }; | |
| 14457 | |
| 14458 template <> | |
| 14459 struct isVulkanRAIIHandleType<TensorARM> | |
| 14460 { | |
| 14461 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 14462 }; | |
| 14463 | |
| 14464 // wrapper class for handle VkTensorViewARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkTensorViewARM.html | |
| 14465 class TensorViewARM | |
| 14466 { | |
| 14467 public: | |
| 14468 using CType = VkTensorViewARM; | |
| 14469 using CppType = VULKAN_HPP_NAMESPACE::TensorViewARM; | |
| 14470 | |
| 14471 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eTensorViewARM; | |
| 14472 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eUnknown; | |
| 14473 | |
| 14474 public: | |
| 14475 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 14476 TensorViewARM( Device const & device, TensorViewCreateInfoARM const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 14477 { | |
| 14478 *this = device.createTensorViewARM( createInfo, allocator ); | |
| 14479 } | |
| 14480 # endif | |
| 14481 | |
| 14482 TensorViewARM( Device const & device, VkTensorViewARM tensorView, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 14483 : m_device( device ) | |
| 14484 , m_tensorViewARM( tensorView ) | |
| 14485 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 14486 , m_dispatcher( device.getDispatcher() ) | |
| 14487 { | |
| 14488 } | |
| 14489 | |
| 14490 TensorViewARM( std::nullptr_t ) {} | |
| 14491 | |
| 14492 ~TensorViewARM() | |
| 14493 { | |
| 14494 clear(); | |
| 14495 } | |
| 14496 | |
| 14497 TensorViewARM() = delete; | |
| 14498 TensorViewARM( TensorViewARM const & ) = delete; | |
| 14499 | |
| 14500 TensorViewARM( TensorViewARM && rhs ) VULKAN_HPP_NOEXCEPT | |
| 14501 : m_device( exchange( rhs.m_device, {} ) ) | |
| 14502 , m_tensorViewARM( exchange( rhs.m_tensorViewARM, {} ) ) | |
| 14503 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 14504 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 14505 { | |
| 14506 } | |
| 14507 | |
| 14508 TensorViewARM & operator=( TensorViewARM const & ) = delete; | |
| 14509 | |
| 14510 TensorViewARM & operator=( TensorViewARM && rhs ) VULKAN_HPP_NOEXCEPT | |
| 14511 { | |
| 14512 if ( this != &rhs ) | |
| 14513 { | |
| 14514 std::swap( m_device, rhs.m_device ); | |
| 14515 std::swap( m_tensorViewARM, rhs.m_tensorViewARM ); | |
| 14516 std::swap( m_allocator, rhs.m_allocator ); | |
| 14517 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 14518 } | |
| 14519 return *this; | |
| 14520 } | |
| 14521 | |
| 14522 VULKAN_HPP_NAMESPACE::TensorViewARM const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 14523 { | |
| 14524 return m_tensorViewARM; | |
| 14525 } | |
| 14526 | |
| 14527 VULKAN_HPP_NAMESPACE::TensorViewARM const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 14528 { | |
| 14529 return std::move( m_tensorViewARM ); | |
| 14530 } | |
| 14531 | |
| 14532 operator VULKAN_HPP_NAMESPACE::TensorViewARM() const VULKAN_HPP_NOEXCEPT | |
| 14533 { | |
| 14534 return m_tensorViewARM; | |
| 14535 } | |
| 14536 | |
| 14537 void clear() VULKAN_HPP_NOEXCEPT | |
| 14538 { | |
| 14539 if ( m_tensorViewARM ) | |
| 14540 { | |
| 14541 getDispatcher()->vkDestroyTensorViewARM( static_cast<VkDevice>( m_device ), | |
| 14542 static_cast<VkTensorViewARM>( m_tensorViewARM ), | |
| 14543 reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 14544 } | |
| 14545 m_device = nullptr; | |
| 14546 m_tensorViewARM = nullptr; | |
| 14547 m_allocator = nullptr; | |
| 14548 m_dispatcher = nullptr; | |
| 14549 } | |
| 14550 | |
| 14551 VULKAN_HPP_NAMESPACE::TensorViewARM release() | |
| 14552 { | |
| 14553 m_device = nullptr; | |
| 14554 m_allocator = nullptr; | |
| 14555 m_dispatcher = nullptr; | |
| 14556 return exchange( m_tensorViewARM, nullptr ); | |
| 14557 } | |
| 14558 | |
| 14559 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 14560 { | |
| 14561 return m_device; | |
| 14562 } | |
| 14563 | |
| 14564 detail::DeviceDispatcher const * getDispatcher() const | |
| 14565 { | |
| 14566 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 14567 return m_dispatcher; | |
| 14568 } | |
| 14569 | |
| 14570 void swap( TensorViewARM & rhs ) VULKAN_HPP_NOEXCEPT | |
| 14571 { | |
| 14572 std::swap( m_device, rhs.m_device ); | |
| 14573 std::swap( m_tensorViewARM, rhs.m_tensorViewARM ); | |
| 14574 std::swap( m_allocator, rhs.m_allocator ); | |
| 14575 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 14576 } | |
| 14577 | |
| 14578 private: | |
| 14579 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 14580 VULKAN_HPP_NAMESPACE::TensorViewARM m_tensorViewARM = {}; | |
| 14581 const AllocationCallbacks * m_allocator = {}; | |
| 14582 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 14583 }; | |
| 14584 | |
| 14585 template <> | |
| 14586 struct isVulkanRAIIHandleType<TensorViewARM> | |
| 14587 { | |
| 14588 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 14589 }; | |
| 14590 | |
| 14591 // wrapper class for handle VkValidationCacheEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkValidationCacheEXT.html | |
| 14592 class ValidationCacheEXT | |
| 14593 { | |
| 14594 public: | |
| 14595 using CType = VkValidationCacheEXT; | |
| 14596 using CppType = VULKAN_HPP_NAMESPACE::ValidationCacheEXT; | |
| 14597 | |
| 14598 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eValidationCacheEXT; | |
| 14599 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eValidationCacheEXT; | |
| 14600 | |
| 14601 public: | |
| 14602 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 14603 ValidationCacheEXT( Device const & device, ValidationCacheCreateInfoEXT const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 14604 { | |
| 14605 *this = device.createValidationCacheEXT( createInfo, allocator ); | |
| 14606 } | |
| 14607 # endif | |
| 14608 | |
| 14609 ValidationCacheEXT( Device const & device, VkValidationCacheEXT validationCache, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 14610 : m_device( device ) | |
| 14611 , m_validationCacheEXT( validationCache ) | |
| 14612 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 14613 , m_dispatcher( device.getDispatcher() ) | |
| 14614 { | |
| 14615 } | |
| 14616 | |
| 14617 ValidationCacheEXT( std::nullptr_t ) {} | |
| 14618 | |
| 14619 ~ValidationCacheEXT() | |
| 14620 { | |
| 14621 clear(); | |
| 14622 } | |
| 14623 | |
| 14624 ValidationCacheEXT() = delete; | |
| 14625 ValidationCacheEXT( ValidationCacheEXT const & ) = delete; | |
| 14626 | |
| 14627 ValidationCacheEXT( ValidationCacheEXT && rhs ) VULKAN_HPP_NOEXCEPT | |
| 14628 : m_device( exchange( rhs.m_device, {} ) ) | |
| 14629 , m_validationCacheEXT( exchange( rhs.m_validationCacheEXT, {} ) ) | |
| 14630 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 14631 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 14632 { | |
| 14633 } | |
| 14634 | |
| 14635 ValidationCacheEXT & operator=( ValidationCacheEXT const & ) = delete; | |
| 14636 | |
| 14637 ValidationCacheEXT & operator=( ValidationCacheEXT && rhs ) VULKAN_HPP_NOEXCEPT | |
| 14638 { | |
| 14639 if ( this != &rhs ) | |
| 14640 { | |
| 14641 std::swap( m_device, rhs.m_device ); | |
| 14642 std::swap( m_validationCacheEXT, rhs.m_validationCacheEXT ); | |
| 14643 std::swap( m_allocator, rhs.m_allocator ); | |
| 14644 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 14645 } | |
| 14646 return *this; | |
| 14647 } | |
| 14648 | |
| 14649 VULKAN_HPP_NAMESPACE::ValidationCacheEXT const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 14650 { | |
| 14651 return m_validationCacheEXT; | |
| 14652 } | |
| 14653 | |
| 14654 VULKAN_HPP_NAMESPACE::ValidationCacheEXT const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 14655 { | |
| 14656 return std::move( m_validationCacheEXT ); | |
| 14657 } | |
| 14658 | |
| 14659 operator VULKAN_HPP_NAMESPACE::ValidationCacheEXT() const VULKAN_HPP_NOEXCEPT | |
| 14660 { | |
| 14661 return m_validationCacheEXT; | |
| 14662 } | |
| 14663 | |
| 14664 void clear() VULKAN_HPP_NOEXCEPT | |
| 14665 { | |
| 14666 if ( m_validationCacheEXT ) | |
| 14667 { | |
| 14668 getDispatcher()->vkDestroyValidationCacheEXT( static_cast<VkDevice>( m_device ), | |
| 14669 static_cast<VkValidationCacheEXT>( m_validationCacheEXT ), | |
| 14670 reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 14671 } | |
| 14672 m_device = nullptr; | |
| 14673 m_validationCacheEXT = nullptr; | |
| 14674 m_allocator = nullptr; | |
| 14675 m_dispatcher = nullptr; | |
| 14676 } | |
| 14677 | |
| 14678 VULKAN_HPP_NAMESPACE::ValidationCacheEXT release() | |
| 14679 { | |
| 14680 m_device = nullptr; | |
| 14681 m_allocator = nullptr; | |
| 14682 m_dispatcher = nullptr; | |
| 14683 return exchange( m_validationCacheEXT, nullptr ); | |
| 14684 } | |
| 14685 | |
| 14686 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 14687 { | |
| 14688 return m_device; | |
| 14689 } | |
| 14690 | |
| 14691 detail::DeviceDispatcher const * getDispatcher() const | |
| 14692 { | |
| 14693 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 14694 return m_dispatcher; | |
| 14695 } | |
| 14696 | |
| 14697 void swap( ValidationCacheEXT & rhs ) VULKAN_HPP_NOEXCEPT | |
| 14698 { | |
| 14699 std::swap( m_device, rhs.m_device ); | |
| 14700 std::swap( m_validationCacheEXT, rhs.m_validationCacheEXT ); | |
| 14701 std::swap( m_allocator, rhs.m_allocator ); | |
| 14702 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 14703 } | |
| 14704 | |
| 14705 //=== VK_EXT_validation_cache === | |
| 14706 | |
| 14707 // wrapper function for command vkMergeValidationCachesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMergeValidationCachesEXT.html | |
| 14708 typename ResultValueType<void>::type merge( ArrayProxy<const VULKAN_HPP_NAMESPACE::ValidationCacheEXT> const & srcCaches ) const; | |
| 14709 | |
| 14710 // wrapper function for command vkGetValidationCacheDataEXT, see | |
| 14711 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetValidationCacheDataEXT.html | |
| 14712 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<uint8_t>>::type getData() const; | |
| 14713 | |
| 14714 private: | |
| 14715 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 14716 VULKAN_HPP_NAMESPACE::ValidationCacheEXT m_validationCacheEXT = {}; | |
| 14717 const AllocationCallbacks * m_allocator = {}; | |
| 14718 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 14719 }; | |
| 14720 | |
| 14721 template <> | |
| 14722 struct isVulkanRAIIHandleType<ValidationCacheEXT> | |
| 14723 { | |
| 14724 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 14725 }; | |
| 14726 | |
| 14727 // wrapper class for handle VkVideoSessionKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoSessionKHR.html | |
| 14728 class VideoSessionKHR | |
| 14729 { | |
| 14730 public: | |
| 14731 using CType = VkVideoSessionKHR; | |
| 14732 using CppType = VULKAN_HPP_NAMESPACE::VideoSessionKHR; | |
| 14733 | |
| 14734 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eVideoSessionKHR; | |
| 14735 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eUnknown; | |
| 14736 | |
| 14737 public: | |
| 14738 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 14739 VideoSessionKHR( Device const & device, VideoSessionCreateInfoKHR const & createInfo, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 14740 { | |
| 14741 *this = device.createVideoSessionKHR( createInfo, allocator ); | |
| 14742 } | |
| 14743 # endif | |
| 14744 | |
| 14745 VideoSessionKHR( Device const & device, VkVideoSessionKHR videoSession, Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 14746 : m_device( device ) | |
| 14747 , m_videoSessionKHR( videoSession ) | |
| 14748 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 14749 , m_dispatcher( device.getDispatcher() ) | |
| 14750 { | |
| 14751 } | |
| 14752 | |
| 14753 VideoSessionKHR( std::nullptr_t ) {} | |
| 14754 | |
| 14755 ~VideoSessionKHR() | |
| 14756 { | |
| 14757 clear(); | |
| 14758 } | |
| 14759 | |
| 14760 VideoSessionKHR() = delete; | |
| 14761 VideoSessionKHR( VideoSessionKHR const & ) = delete; | |
| 14762 | |
| 14763 VideoSessionKHR( VideoSessionKHR && rhs ) VULKAN_HPP_NOEXCEPT | |
| 14764 : m_device( exchange( rhs.m_device, {} ) ) | |
| 14765 , m_videoSessionKHR( exchange( rhs.m_videoSessionKHR, {} ) ) | |
| 14766 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 14767 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 14768 { | |
| 14769 } | |
| 14770 | |
| 14771 VideoSessionKHR & operator=( VideoSessionKHR const & ) = delete; | |
| 14772 | |
| 14773 VideoSessionKHR & operator=( VideoSessionKHR && rhs ) VULKAN_HPP_NOEXCEPT | |
| 14774 { | |
| 14775 if ( this != &rhs ) | |
| 14776 { | |
| 14777 std::swap( m_device, rhs.m_device ); | |
| 14778 std::swap( m_videoSessionKHR, rhs.m_videoSessionKHR ); | |
| 14779 std::swap( m_allocator, rhs.m_allocator ); | |
| 14780 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 14781 } | |
| 14782 return *this; | |
| 14783 } | |
| 14784 | |
| 14785 VULKAN_HPP_NAMESPACE::VideoSessionKHR const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 14786 { | |
| 14787 return m_videoSessionKHR; | |
| 14788 } | |
| 14789 | |
| 14790 VULKAN_HPP_NAMESPACE::VideoSessionKHR const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 14791 { | |
| 14792 return std::move( m_videoSessionKHR ); | |
| 14793 } | |
| 14794 | |
| 14795 operator VULKAN_HPP_NAMESPACE::VideoSessionKHR() const VULKAN_HPP_NOEXCEPT | |
| 14796 { | |
| 14797 return m_videoSessionKHR; | |
| 14798 } | |
| 14799 | |
| 14800 void clear() VULKAN_HPP_NOEXCEPT | |
| 14801 { | |
| 14802 if ( m_videoSessionKHR ) | |
| 14803 { | |
| 14804 getDispatcher()->vkDestroyVideoSessionKHR( static_cast<VkDevice>( m_device ), | |
| 14805 static_cast<VkVideoSessionKHR>( m_videoSessionKHR ), | |
| 14806 reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 14807 } | |
| 14808 m_device = nullptr; | |
| 14809 m_videoSessionKHR = nullptr; | |
| 14810 m_allocator = nullptr; | |
| 14811 m_dispatcher = nullptr; | |
| 14812 } | |
| 14813 | |
| 14814 VULKAN_HPP_NAMESPACE::VideoSessionKHR release() | |
| 14815 { | |
| 14816 m_device = nullptr; | |
| 14817 m_allocator = nullptr; | |
| 14818 m_dispatcher = nullptr; | |
| 14819 return exchange( m_videoSessionKHR, nullptr ); | |
| 14820 } | |
| 14821 | |
| 14822 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 14823 { | |
| 14824 return m_device; | |
| 14825 } | |
| 14826 | |
| 14827 detail::DeviceDispatcher const * getDispatcher() const | |
| 14828 { | |
| 14829 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 14830 return m_dispatcher; | |
| 14831 } | |
| 14832 | |
| 14833 void swap( VideoSessionKHR & rhs ) VULKAN_HPP_NOEXCEPT | |
| 14834 { | |
| 14835 std::swap( m_device, rhs.m_device ); | |
| 14836 std::swap( m_videoSessionKHR, rhs.m_videoSessionKHR ); | |
| 14837 std::swap( m_allocator, rhs.m_allocator ); | |
| 14838 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 14839 } | |
| 14840 | |
| 14841 //=== VK_KHR_video_queue === | |
| 14842 | |
| 14843 // wrapper function for command vkGetVideoSessionMemoryRequirementsKHR, see | |
| 14844 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetVideoSessionMemoryRequirementsKHR.html | |
| 14845 VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VideoSessionMemoryRequirementsKHR>>::type getMemoryRequirements() const; | |
| 14846 | |
| 14847 // wrapper function for command vkBindVideoSessionMemoryKHR, see | |
| 14848 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindVideoSessionMemoryKHR.html | |
| 14849 typename ResultValueType<void>::type bindMemory( ArrayProxy<const BindVideoSessionMemoryInfoKHR> const & bindSessionMemoryInfos ) const; | |
| 14850 | |
| 14851 private: | |
| 14852 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 14853 VULKAN_HPP_NAMESPACE::VideoSessionKHR m_videoSessionKHR = {}; | |
| 14854 const AllocationCallbacks * m_allocator = {}; | |
| 14855 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 14856 }; | |
| 14857 | |
| 14858 template <> | |
| 14859 struct isVulkanRAIIHandleType<VideoSessionKHR> | |
| 14860 { | |
| 14861 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 14862 }; | |
| 14863 | |
| 14864 // wrapper class for handle VkVideoSessionParametersKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoSessionParametersKHR.html | |
| 14865 class VideoSessionParametersKHR | |
| 14866 { | |
| 14867 public: | |
| 14868 using CType = VkVideoSessionParametersKHR; | |
| 14869 using CppType = VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR; | |
| 14870 | |
| 14871 static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eVideoSessionParametersKHR; | |
| 14872 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eUnknown; | |
| 14873 | |
| 14874 public: | |
| 14875 # if !defined( VULKAN_HPP_NO_EXCEPTIONS ) | |
| 14876 VideoSessionParametersKHR( Device const & device, | |
| 14877 VideoSessionParametersCreateInfoKHR const & createInfo, | |
| 14878 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 14879 { | |
| 14880 *this = device.createVideoSessionParametersKHR( createInfo, allocator ); | |
| 14881 } | |
| 14882 # endif | |
| 14883 | |
| 14884 VideoSessionParametersKHR( Device const & device, | |
| 14885 VkVideoSessionParametersKHR videoSessionParameters, | |
| 14886 Optional<const AllocationCallbacks> allocator = nullptr ) | |
| 14887 : m_device( device ) | |
| 14888 , m_videoSessionParametersKHR( videoSessionParameters ) | |
| 14889 , m_allocator( static_cast<const AllocationCallbacks *>( allocator ) ) | |
| 14890 , m_dispatcher( device.getDispatcher() ) | |
| 14891 { | |
| 14892 } | |
| 14893 | |
| 14894 VideoSessionParametersKHR( std::nullptr_t ) {} | |
| 14895 | |
| 14896 ~VideoSessionParametersKHR() | |
| 14897 { | |
| 14898 clear(); | |
| 14899 } | |
| 14900 | |
| 14901 VideoSessionParametersKHR() = delete; | |
| 14902 VideoSessionParametersKHR( VideoSessionParametersKHR const & ) = delete; | |
| 14903 | |
| 14904 VideoSessionParametersKHR( VideoSessionParametersKHR && rhs ) VULKAN_HPP_NOEXCEPT | |
| 14905 : m_device( exchange( rhs.m_device, {} ) ) | |
| 14906 , m_videoSessionParametersKHR( exchange( rhs.m_videoSessionParametersKHR, {} ) ) | |
| 14907 , m_allocator( exchange( rhs.m_allocator, {} ) ) | |
| 14908 , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) | |
| 14909 { | |
| 14910 } | |
| 14911 | |
| 14912 VideoSessionParametersKHR & operator=( VideoSessionParametersKHR const & ) = delete; | |
| 14913 | |
| 14914 VideoSessionParametersKHR & operator=( VideoSessionParametersKHR && rhs ) VULKAN_HPP_NOEXCEPT | |
| 14915 { | |
| 14916 if ( this != &rhs ) | |
| 14917 { | |
| 14918 std::swap( m_device, rhs.m_device ); | |
| 14919 std::swap( m_videoSessionParametersKHR, rhs.m_videoSessionParametersKHR ); | |
| 14920 std::swap( m_allocator, rhs.m_allocator ); | |
| 14921 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 14922 } | |
| 14923 return *this; | |
| 14924 } | |
| 14925 | |
| 14926 VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR const & operator*() const & VULKAN_HPP_NOEXCEPT | |
| 14927 { | |
| 14928 return m_videoSessionParametersKHR; | |
| 14929 } | |
| 14930 | |
| 14931 VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR const && operator*() const && VULKAN_HPP_NOEXCEPT | |
| 14932 { | |
| 14933 return std::move( m_videoSessionParametersKHR ); | |
| 14934 } | |
| 14935 | |
| 14936 operator VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR() const VULKAN_HPP_NOEXCEPT | |
| 14937 { | |
| 14938 return m_videoSessionParametersKHR; | |
| 14939 } | |
| 14940 | |
| 14941 void clear() VULKAN_HPP_NOEXCEPT | |
| 14942 { | |
| 14943 if ( m_videoSessionParametersKHR ) | |
| 14944 { | |
| 14945 getDispatcher()->vkDestroyVideoSessionParametersKHR( static_cast<VkDevice>( m_device ), | |
| 14946 static_cast<VkVideoSessionParametersKHR>( m_videoSessionParametersKHR ), | |
| 14947 reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) ); | |
| 14948 } | |
| 14949 m_device = nullptr; | |
| 14950 m_videoSessionParametersKHR = nullptr; | |
| 14951 m_allocator = nullptr; | |
| 14952 m_dispatcher = nullptr; | |
| 14953 } | |
| 14954 | |
| 14955 VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR release() | |
| 14956 { | |
| 14957 m_device = nullptr; | |
| 14958 m_allocator = nullptr; | |
| 14959 m_dispatcher = nullptr; | |
| 14960 return exchange( m_videoSessionParametersKHR, nullptr ); | |
| 14961 } | |
| 14962 | |
| 14963 VULKAN_HPP_NAMESPACE::Device getDevice() const | |
| 14964 { | |
| 14965 return m_device; | |
| 14966 } | |
| 14967 | |
| 14968 detail::DeviceDispatcher const * getDispatcher() const | |
| 14969 { | |
| 14970 VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); | |
| 14971 return m_dispatcher; | |
| 14972 } | |
| 14973 | |
| 14974 void swap( VideoSessionParametersKHR & rhs ) VULKAN_HPP_NOEXCEPT | |
| 14975 { | |
| 14976 std::swap( m_device, rhs.m_device ); | |
| 14977 std::swap( m_videoSessionParametersKHR, rhs.m_videoSessionParametersKHR ); | |
| 14978 std::swap( m_allocator, rhs.m_allocator ); | |
| 14979 std::swap( m_dispatcher, rhs.m_dispatcher ); | |
| 14980 } | |
| 14981 | |
| 14982 //=== VK_KHR_video_queue === | |
| 14983 | |
| 14984 // wrapper function for command vkUpdateVideoSessionParametersKHR, see | |
| 14985 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateVideoSessionParametersKHR.html | |
| 14986 typename ResultValueType<void>::type update( const VideoSessionParametersUpdateInfoKHR & updateInfo ) const; | |
| 14987 | |
| 14988 private: | |
| 14989 VULKAN_HPP_NAMESPACE::Device m_device = {}; | |
| 14990 VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR m_videoSessionParametersKHR = {}; | |
| 14991 const AllocationCallbacks * m_allocator = {}; | |
| 14992 detail::DeviceDispatcher const * m_dispatcher = nullptr; | |
| 14993 }; | |
| 14994 | |
| 14995 template <> | |
| 14996 struct isVulkanRAIIHandleType<VideoSessionParametersKHR> | |
| 14997 { | |
| 14998 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | |
| 14999 }; | |
| 15000 | |
| 15001 // operators to compare VULKAN_HPP_NAMESPACE::raii-handles | |
| 15002 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) | |
| 15003 template <typename T, typename std::enable_if<isVulkanRAIIHandleType<T>::value, bool>::type = 0> | |
| 15004 auto operator<=>( T const & a, T const & b ) VULKAN_HPP_NOEXCEPT | |
| 15005 { | |
| 15006 return *a <=> *b; | |
| 15007 } | |
| 15008 # else | |
| 15009 template <typename T, typename std::enable_if<isVulkanRAIIHandleType<T>::value, bool>::type = 0> | |
| 15010 bool operator<( T const & a, T const & b ) VULKAN_HPP_NOEXCEPT | |
| 15011 { | |
| 15012 return *a < *b; | |
| 15013 } | |
| 15014 # endif | |
| 15015 | |
| 15016 template <typename T, typename std::enable_if<isVulkanRAIIHandleType<T>::value, bool>::type = 0> | |
| 15017 bool operator==( T const & a, T const & b ) VULKAN_HPP_NOEXCEPT | |
| 15018 { | |
| 15019 return *a == *b; | |
| 15020 } | |
| 15021 | |
| 15022 template <typename T, typename std::enable_if<isVulkanRAIIHandleType<T>::value, bool>::type = 0> | |
| 15023 bool operator!=( T const & a, T const & b ) VULKAN_HPP_NOEXCEPT | |
| 15024 { | |
| 15025 return *a != *b; | |
| 15026 } | |
| 15027 | |
| 15028 template <typename T, typename std::enable_if<isVulkanRAIIHandleType<T>::value, bool>::type = 0> | |
| 15029 bool operator==( const T & v, std::nullptr_t ) VULKAN_HPP_NOEXCEPT | |
| 15030 { | |
| 15031 return !*v; | |
| 15032 } | |
| 15033 | |
| 15034 template <typename T, typename std::enable_if<isVulkanRAIIHandleType<T>::value, bool>::type = 0> | |
| 15035 bool operator==( std::nullptr_t, const T & v ) VULKAN_HPP_NOEXCEPT | |
| 15036 { | |
| 15037 return !*v; | |
| 15038 } | |
| 15039 | |
| 15040 template <typename T, typename std::enable_if<isVulkanRAIIHandleType<T>::value, bool>::type = 0> | |
| 15041 bool operator!=( const T & v, std::nullptr_t ) VULKAN_HPP_NOEXCEPT | |
| 15042 { | |
| 15043 return *v; | |
| 15044 } | |
| 15045 | |
| 15046 template <typename T, typename std::enable_if<isVulkanRAIIHandleType<T>::value, bool>::type = 0> | |
| 15047 bool operator!=( std::nullptr_t, const T & v ) VULKAN_HPP_NOEXCEPT | |
| 15048 { | |
| 15049 return *v; | |
| 15050 } | |
| 15051 | |
| 15052 //=========================== | |
| 15053 //=== COMMAND Definitions === | |
| 15054 //=========================== | |
| 15055 | |
| 15056 //=== VK_VERSION_1_0 === | |
| 15057 | |
| 15058 // wrapper function for command vkCreateInstance, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateInstance.html | |
| 15059 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<Instance>::type | |
| 15060 Context::createInstance( InstanceCreateInfo const & createInfo, | |
| 15061 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 15062 { | |
| 15063 VULKAN_HPP_NAMESPACE::Instance instance; | |
| 15064 Result result = static_cast<Result>( getDispatcher()->vkCreateInstance( reinterpret_cast<const VkInstanceCreateInfo *>( &createInfo ), | |
| 15065 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 15066 reinterpret_cast<VkInstance *>( &instance ) ) ); | |
| 15067 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Context::createInstance" ); | |
| 15068 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Instance( *this, *reinterpret_cast<VkInstance *>( &instance ), allocator ) ); | |
| 15069 } | |
| 15070 | |
| 15071 // wrapper function for command vkEnumeratePhysicalDevices, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDevices.html | |
| 15072 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<PhysicalDevice>>::type Instance::enumeratePhysicalDevices() const | |
| 15073 { | |
| 15074 std::vector<VULKAN_HPP_NAMESPACE::PhysicalDevice> physicalDevices; | |
| 15075 uint32_t physicalDeviceCount; | |
| 15076 Result result; | |
| 15077 do | |
| 15078 { | |
| 15079 result = static_cast<Result>( getDispatcher()->vkEnumeratePhysicalDevices( static_cast<VkInstance>( m_instance ), &physicalDeviceCount, nullptr ) ); | |
| 15080 if ( ( result == Result::eSuccess ) && physicalDeviceCount ) | |
| 15081 { | |
| 15082 physicalDevices.resize( physicalDeviceCount ); | |
| 15083 result = static_cast<Result>( getDispatcher()->vkEnumeratePhysicalDevices( | |
| 15084 static_cast<VkInstance>( m_instance ), &physicalDeviceCount, reinterpret_cast<VkPhysicalDevice *>( physicalDevices.data() ) ) ); | |
| 15085 } | |
| 15086 } while ( result == Result::eIncomplete ); | |
| 15087 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::enumeratePhysicalDevices" ); | |
| 15088 std::vector<PhysicalDevice> physicalDevicesRAII; | |
| 15089 if ( result == Result::eSuccess ) | |
| 15090 { | |
| 15091 physicalDevicesRAII.reserve( physicalDevices.size() ); | |
| 15092 for ( auto & physicalDevice : physicalDevices ) | |
| 15093 { | |
| 15094 physicalDevicesRAII.emplace_back( *this, *reinterpret_cast<VkPhysicalDevice *>( &physicalDevice ) ); | |
| 15095 } | |
| 15096 } | |
| 15097 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( physicalDevicesRAII ) ); | |
| 15098 } | |
| 15099 | |
| 15100 // wrapper function for command vkGetPhysicalDeviceFeatures, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures.html | |
| 15101 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE PhysicalDeviceFeatures PhysicalDevice::getFeatures() const VULKAN_HPP_NOEXCEPT | |
| 15102 { | |
| 15103 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceFeatures && "Function <vkGetPhysicalDeviceFeatures> requires <VK_VERSION_1_0>" ); | |
| 15104 | |
| 15105 PhysicalDeviceFeatures features; | |
| 15106 getDispatcher()->vkGetPhysicalDeviceFeatures( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 15107 reinterpret_cast<VkPhysicalDeviceFeatures *>( &features ) ); | |
| 15108 | |
| 15109 return features; | |
| 15110 } | |
| 15111 | |
| 15112 // wrapper function for command vkGetPhysicalDeviceFormatProperties, see | |
| 15113 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties.html | |
| 15114 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE FormatProperties PhysicalDevice::getFormatProperties( Format format ) const VULKAN_HPP_NOEXCEPT | |
| 15115 { | |
| 15116 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceFormatProperties && "Function <vkGetPhysicalDeviceFormatProperties> requires <VK_VERSION_1_0>" ); | |
| 15117 | |
| 15118 FormatProperties formatProperties; | |
| 15119 getDispatcher()->vkGetPhysicalDeviceFormatProperties( | |
| 15120 static_cast<VkPhysicalDevice>( m_physicalDevice ), static_cast<VkFormat>( format ), reinterpret_cast<VkFormatProperties *>( &formatProperties ) ); | |
| 15121 | |
| 15122 return formatProperties; | |
| 15123 } | |
| 15124 | |
| 15125 // wrapper function for command vkGetPhysicalDeviceImageFormatProperties, see | |
| 15126 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties.html | |
| 15127 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<ImageFormatProperties>::type | |
| 15128 PhysicalDevice::getImageFormatProperties( Format format, ImageType type, ImageTiling tiling, ImageUsageFlags usage, ImageCreateFlags flags ) const | |
| 15129 { | |
| 15130 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceImageFormatProperties && | |
| 15131 "Function <vkGetPhysicalDeviceImageFormatProperties> requires <VK_VERSION_1_0>" ); | |
| 15132 | |
| 15133 ImageFormatProperties imageFormatProperties; | |
| 15134 Result result = static_cast<Result>( | |
| 15135 getDispatcher()->vkGetPhysicalDeviceImageFormatProperties( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 15136 static_cast<VkFormat>( format ), | |
| 15137 static_cast<VkImageType>( type ), | |
| 15138 static_cast<VkImageTiling>( tiling ), | |
| 15139 static_cast<VkImageUsageFlags>( usage ), | |
| 15140 static_cast<VkImageCreateFlags>( flags ), | |
| 15141 reinterpret_cast<VkImageFormatProperties *>( &imageFormatProperties ) ) ); | |
| 15142 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties" ); | |
| 15143 | |
| 15144 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( imageFormatProperties ) ); | |
| 15145 } | |
| 15146 | |
| 15147 // wrapper function for command vkGetPhysicalDeviceProperties, see | |
| 15148 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties.html | |
| 15149 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE PhysicalDeviceProperties PhysicalDevice::getProperties() const VULKAN_HPP_NOEXCEPT | |
| 15150 { | |
| 15151 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceProperties && "Function <vkGetPhysicalDeviceProperties> requires <VK_VERSION_1_0>" ); | |
| 15152 | |
| 15153 PhysicalDeviceProperties properties; | |
| 15154 getDispatcher()->vkGetPhysicalDeviceProperties( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 15155 reinterpret_cast<VkPhysicalDeviceProperties *>( &properties ) ); | |
| 15156 | |
| 15157 return properties; | |
| 15158 } | |
| 15159 | |
| 15160 // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties, see | |
| 15161 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties.html | |
| 15162 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<QueueFamilyProperties> PhysicalDevice::getQueueFamilyProperties() const | |
| 15163 { | |
| 15164 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties && | |
| 15165 "Function <vkGetPhysicalDeviceQueueFamilyProperties> requires <VK_VERSION_1_0>" ); | |
| 15166 | |
| 15167 std::vector<QueueFamilyProperties> queueFamilyProperties; | |
| 15168 uint32_t queueFamilyPropertyCount; | |
| 15169 getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties( static_cast<VkPhysicalDevice>( m_physicalDevice ), &queueFamilyPropertyCount, nullptr ); | |
| 15170 queueFamilyProperties.resize( queueFamilyPropertyCount ); | |
| 15171 getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 15172 &queueFamilyPropertyCount, | |
| 15173 reinterpret_cast<VkQueueFamilyProperties *>( queueFamilyProperties.data() ) ); | |
| 15174 | |
| 15175 VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); | |
| 15176 if ( queueFamilyPropertyCount < queueFamilyProperties.size() ) | |
| 15177 { | |
| 15178 queueFamilyProperties.resize( queueFamilyPropertyCount ); | |
| 15179 } | |
| 15180 return queueFamilyProperties; | |
| 15181 } | |
| 15182 | |
| 15183 // wrapper function for command vkGetPhysicalDeviceMemoryProperties, see | |
| 15184 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties.html | |
| 15185 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE PhysicalDeviceMemoryProperties PhysicalDevice::getMemoryProperties() const VULKAN_HPP_NOEXCEPT | |
| 15186 { | |
| 15187 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceMemoryProperties && "Function <vkGetPhysicalDeviceMemoryProperties> requires <VK_VERSION_1_0>" ); | |
| 15188 | |
| 15189 PhysicalDeviceMemoryProperties memoryProperties; | |
| 15190 getDispatcher()->vkGetPhysicalDeviceMemoryProperties( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 15191 reinterpret_cast<VkPhysicalDeviceMemoryProperties *>( &memoryProperties ) ); | |
| 15192 | |
| 15193 return memoryProperties; | |
| 15194 } | |
| 15195 | |
| 15196 // wrapper function for command vkGetInstanceProcAddr, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetInstanceProcAddr.html | |
| 15197 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE PFN_VoidFunction Instance::getProcAddr( const std::string & name ) const VULKAN_HPP_NOEXCEPT | |
| 15198 { | |
| 15199 VULKAN_HPP_ASSERT( getDispatcher()->vkGetInstanceProcAddr && "Function <vkGetInstanceProcAddr> requires <VK_VERSION_1_0>" ); | |
| 15200 | |
| 15201 PFN_vkVoidFunction result = getDispatcher()->vkGetInstanceProcAddr( static_cast<VkInstance>( m_instance ), name.c_str() ); | |
| 15202 | |
| 15203 return result; | |
| 15204 } | |
| 15205 | |
| 15206 // wrapper function for command vkGetDeviceProcAddr, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceProcAddr.html | |
| 15207 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE PFN_VoidFunction Device::getProcAddr( const std::string & name ) const VULKAN_HPP_NOEXCEPT | |
| 15208 { | |
| 15209 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceProcAddr && "Function <vkGetDeviceProcAddr> requires <VK_VERSION_1_0>" ); | |
| 15210 | |
| 15211 PFN_vkVoidFunction result = getDispatcher()->vkGetDeviceProcAddr( static_cast<VkDevice>( m_device ), name.c_str() ); | |
| 15212 | |
| 15213 return result; | |
| 15214 } | |
| 15215 | |
| 15216 // wrapper function for command vkCreateDevice, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDevice.html | |
| 15217 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<Device>::type | |
| 15218 PhysicalDevice::createDevice( DeviceCreateInfo const & createInfo, | |
| 15219 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 15220 { | |
| 15221 VULKAN_HPP_NAMESPACE::Device device; | |
| 15222 Result result = static_cast<Result>( getDispatcher()->vkCreateDevice( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 15223 reinterpret_cast<const VkDeviceCreateInfo *>( &createInfo ), | |
| 15224 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 15225 reinterpret_cast<VkDevice *>( &device ) ) ); | |
| 15226 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::createDevice" ); | |
| 15227 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Device( *this, *reinterpret_cast<VkDevice *>( &device ), allocator ) ); | |
| 15228 } | |
| 15229 | |
| 15230 // wrapper function for command vkEnumerateInstanceExtensionProperties, see | |
| 15231 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceExtensionProperties.html | |
| 15232 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<ExtensionProperties>>::type | |
| 15233 Context::enumerateInstanceExtensionProperties( Optional<const std::string> layerName ) const | |
| 15234 { | |
| 15235 VULKAN_HPP_ASSERT( getDispatcher()->vkEnumerateInstanceExtensionProperties && | |
| 15236 "Function <vkEnumerateInstanceExtensionProperties> requires <VK_VERSION_1_0>" ); | |
| 15237 | |
| 15238 std::vector<ExtensionProperties> properties; | |
| 15239 uint32_t propertyCount; | |
| 15240 Result result; | |
| 15241 do | |
| 15242 { | |
| 15243 result = | |
| 15244 static_cast<Result>( getDispatcher()->vkEnumerateInstanceExtensionProperties( layerName ? layerName->c_str() : nullptr, &propertyCount, nullptr ) ); | |
| 15245 if ( ( result == Result::eSuccess ) && propertyCount ) | |
| 15246 { | |
| 15247 properties.resize( propertyCount ); | |
| 15248 result = static_cast<Result>( getDispatcher()->vkEnumerateInstanceExtensionProperties( | |
| 15249 layerName ? layerName->c_str() : nullptr, &propertyCount, reinterpret_cast<VkExtensionProperties *>( properties.data() ) ) ); | |
| 15250 } | |
| 15251 } while ( result == Result::eIncomplete ); | |
| 15252 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Context::enumerateInstanceExtensionProperties" ); | |
| 15253 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); | |
| 15254 if ( propertyCount < properties.size() ) | |
| 15255 { | |
| 15256 properties.resize( propertyCount ); | |
| 15257 } | |
| 15258 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); | |
| 15259 } | |
| 15260 | |
| 15261 // wrapper function for command vkEnumerateDeviceExtensionProperties, see | |
| 15262 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateDeviceExtensionProperties.html | |
| 15263 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<ExtensionProperties>>::type | |
| 15264 PhysicalDevice::enumerateDeviceExtensionProperties( Optional<const std::string> layerName ) const | |
| 15265 { | |
| 15266 VULKAN_HPP_ASSERT( getDispatcher()->vkEnumerateDeviceExtensionProperties && "Function <vkEnumerateDeviceExtensionProperties> requires <VK_VERSION_1_0>" ); | |
| 15267 | |
| 15268 std::vector<ExtensionProperties> properties; | |
| 15269 uint32_t propertyCount; | |
| 15270 Result result; | |
| 15271 do | |
| 15272 { | |
| 15273 result = static_cast<Result>( getDispatcher()->vkEnumerateDeviceExtensionProperties( | |
| 15274 static_cast<VkPhysicalDevice>( m_physicalDevice ), layerName ? layerName->c_str() : nullptr, &propertyCount, nullptr ) ); | |
| 15275 if ( ( result == Result::eSuccess ) && propertyCount ) | |
| 15276 { | |
| 15277 properties.resize( propertyCount ); | |
| 15278 result = | |
| 15279 static_cast<Result>( getDispatcher()->vkEnumerateDeviceExtensionProperties( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 15280 layerName ? layerName->c_str() : nullptr, | |
| 15281 &propertyCount, | |
| 15282 reinterpret_cast<VkExtensionProperties *>( properties.data() ) ) ); | |
| 15283 } | |
| 15284 } while ( result == Result::eIncomplete ); | |
| 15285 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::enumerateDeviceExtensionProperties" ); | |
| 15286 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); | |
| 15287 if ( propertyCount < properties.size() ) | |
| 15288 { | |
| 15289 properties.resize( propertyCount ); | |
| 15290 } | |
| 15291 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); | |
| 15292 } | |
| 15293 | |
| 15294 // wrapper function for command vkEnumerateInstanceLayerProperties, see | |
| 15295 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceLayerProperties.html | |
| 15296 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<LayerProperties>>::type Context::enumerateInstanceLayerProperties() const | |
| 15297 { | |
| 15298 VULKAN_HPP_ASSERT( getDispatcher()->vkEnumerateInstanceLayerProperties && "Function <vkEnumerateInstanceLayerProperties> requires <VK_VERSION_1_0>" ); | |
| 15299 | |
| 15300 std::vector<LayerProperties> properties; | |
| 15301 uint32_t propertyCount; | |
| 15302 Result result; | |
| 15303 do | |
| 15304 { | |
| 15305 result = static_cast<Result>( getDispatcher()->vkEnumerateInstanceLayerProperties( &propertyCount, nullptr ) ); | |
| 15306 if ( ( result == Result::eSuccess ) && propertyCount ) | |
| 15307 { | |
| 15308 properties.resize( propertyCount ); | |
| 15309 result = static_cast<Result>( | |
| 15310 getDispatcher()->vkEnumerateInstanceLayerProperties( &propertyCount, reinterpret_cast<VkLayerProperties *>( properties.data() ) ) ); | |
| 15311 } | |
| 15312 } while ( result == Result::eIncomplete ); | |
| 15313 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Context::enumerateInstanceLayerProperties" ); | |
| 15314 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); | |
| 15315 if ( propertyCount < properties.size() ) | |
| 15316 { | |
| 15317 properties.resize( propertyCount ); | |
| 15318 } | |
| 15319 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); | |
| 15320 } | |
| 15321 | |
| 15322 // wrapper function for command vkEnumerateDeviceLayerProperties, see | |
| 15323 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateDeviceLayerProperties.html | |
| 15324 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<LayerProperties>>::type PhysicalDevice::enumerateDeviceLayerProperties() const | |
| 15325 { | |
| 15326 VULKAN_HPP_ASSERT( getDispatcher()->vkEnumerateDeviceLayerProperties && "Function <vkEnumerateDeviceLayerProperties> requires <VK_VERSION_1_0>" ); | |
| 15327 | |
| 15328 std::vector<LayerProperties> properties; | |
| 15329 uint32_t propertyCount; | |
| 15330 Result result; | |
| 15331 do | |
| 15332 { | |
| 15333 result = static_cast<Result>( | |
| 15334 getDispatcher()->vkEnumerateDeviceLayerProperties( static_cast<VkPhysicalDevice>( m_physicalDevice ), &propertyCount, nullptr ) ); | |
| 15335 if ( ( result == Result::eSuccess ) && propertyCount ) | |
| 15336 { | |
| 15337 properties.resize( propertyCount ); | |
| 15338 result = static_cast<Result>( getDispatcher()->vkEnumerateDeviceLayerProperties( | |
| 15339 static_cast<VkPhysicalDevice>( m_physicalDevice ), &propertyCount, reinterpret_cast<VkLayerProperties *>( properties.data() ) ) ); | |
| 15340 } | |
| 15341 } while ( result == Result::eIncomplete ); | |
| 15342 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::enumerateDeviceLayerProperties" ); | |
| 15343 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); | |
| 15344 if ( propertyCount < properties.size() ) | |
| 15345 { | |
| 15346 properties.resize( propertyCount ); | |
| 15347 } | |
| 15348 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); | |
| 15349 } | |
| 15350 | |
| 15351 // wrapper function for command vkGetDeviceQueue, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceQueue.html | |
| 15352 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Queue Device::getQueue( uint32_t queueFamilyIndex, uint32_t queueIndex ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 15353 { | |
| 15354 VULKAN_HPP_NAMESPACE::Queue queue; | |
| 15355 getDispatcher()->vkGetDeviceQueue( static_cast<VkDevice>( m_device ), queueFamilyIndex, queueIndex, reinterpret_cast<VkQueue *>( &queue ) ); | |
| 15356 | |
| 15357 return Queue( *this, *reinterpret_cast<VkQueue *>( &queue ) ); | |
| 15358 } | |
| 15359 | |
| 15360 // wrapper function for command vkQueueSubmit, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSubmit.html | |
| 15361 VULKAN_HPP_INLINE typename ResultValueType<void>::type Queue::submit( ArrayProxy<const SubmitInfo> const & submits, | |
| 15362 VULKAN_HPP_NAMESPACE::Fence fence ) const | |
| 15363 { | |
| 15364 VULKAN_HPP_ASSERT( getDispatcher()->vkQueueSubmit && "Function <vkQueueSubmit> requires <VK_VERSION_1_0>" ); | |
| 15365 | |
| 15366 Result result = static_cast<Result>( getDispatcher()->vkQueueSubmit( | |
| 15367 static_cast<VkQueue>( m_queue ), submits.size(), reinterpret_cast<const VkSubmitInfo *>( submits.data() ), static_cast<VkFence>( fence ) ) ); | |
| 15368 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Queue::submit" ); | |
| 15369 | |
| 15370 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 15371 } | |
| 15372 | |
| 15373 // wrapper function for command vkQueueWaitIdle, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueWaitIdle.html | |
| 15374 VULKAN_HPP_INLINE typename ResultValueType<void>::type Queue::waitIdle() const | |
| 15375 { | |
| 15376 VULKAN_HPP_ASSERT( getDispatcher()->vkQueueWaitIdle && "Function <vkQueueWaitIdle> requires <VK_VERSION_1_0>" ); | |
| 15377 | |
| 15378 Result result = static_cast<Result>( getDispatcher()->vkQueueWaitIdle( static_cast<VkQueue>( m_queue ) ) ); | |
| 15379 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Queue::waitIdle" ); | |
| 15380 | |
| 15381 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 15382 } | |
| 15383 | |
| 15384 // wrapper function for command vkDeviceWaitIdle, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDeviceWaitIdle.html | |
| 15385 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::waitIdle() const | |
| 15386 { | |
| 15387 VULKAN_HPP_ASSERT( getDispatcher()->vkDeviceWaitIdle && "Function <vkDeviceWaitIdle> requires <VK_VERSION_1_0>" ); | |
| 15388 | |
| 15389 Result result = static_cast<Result>( getDispatcher()->vkDeviceWaitIdle( static_cast<VkDevice>( m_device ) ) ); | |
| 15390 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::waitIdle" ); | |
| 15391 | |
| 15392 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 15393 } | |
| 15394 | |
| 15395 // wrapper function for command vkAllocateMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateMemory.html | |
| 15396 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DeviceMemory>::type | |
| 15397 Device::allocateMemory( MemoryAllocateInfo const & allocateInfo, | |
| 15398 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 15399 { | |
| 15400 VULKAN_HPP_NAMESPACE::DeviceMemory memory; | |
| 15401 Result result = static_cast<Result>( getDispatcher()->vkAllocateMemory( static_cast<VkDevice>( m_device ), | |
| 15402 reinterpret_cast<const VkMemoryAllocateInfo *>( &allocateInfo ), | |
| 15403 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 15404 reinterpret_cast<VkDeviceMemory *>( &memory ) ) ); | |
| 15405 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::allocateMemory" ); | |
| 15406 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, DeviceMemory( *this, *reinterpret_cast<VkDeviceMemory *>( &memory ), allocator ) ); | |
| 15407 } | |
| 15408 | |
| 15409 // wrapper function for command vkMapMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMapMemory.html | |
| 15410 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<void *>::type | |
| 15411 DeviceMemory::mapMemory( DeviceSize offset, DeviceSize size, MemoryMapFlags flags ) const | |
| 15412 { | |
| 15413 VULKAN_HPP_ASSERT( getDispatcher()->vkMapMemory && "Function <vkMapMemory> requires <VK_VERSION_1_0>" ); | |
| 15414 | |
| 15415 void * pData; | |
| 15416 Result result = static_cast<Result>( getDispatcher()->vkMapMemory( static_cast<VkDevice>( m_device ), | |
| 15417 static_cast<VkDeviceMemory>( m_deviceMemory ), | |
| 15418 static_cast<VkDeviceSize>( offset ), | |
| 15419 static_cast<VkDeviceSize>( size ), | |
| 15420 static_cast<VkMemoryMapFlags>( flags ), | |
| 15421 &pData ) ); | |
| 15422 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::DeviceMemory::mapMemory" ); | |
| 15423 | |
| 15424 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pData ) ); | |
| 15425 } | |
| 15426 | |
| 15427 // wrapper function for command vkUnmapMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUnmapMemory.html | |
| 15428 VULKAN_HPP_INLINE void DeviceMemory::unmapMemory() const VULKAN_HPP_NOEXCEPT | |
| 15429 { | |
| 15430 VULKAN_HPP_ASSERT( getDispatcher()->vkUnmapMemory && "Function <vkUnmapMemory> requires <VK_VERSION_1_0>" ); | |
| 15431 | |
| 15432 getDispatcher()->vkUnmapMemory( static_cast<VkDevice>( m_device ), static_cast<VkDeviceMemory>( m_deviceMemory ) ); | |
| 15433 } | |
| 15434 | |
| 15435 // wrapper function for command vkFlushMappedMemoryRanges, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFlushMappedMemoryRanges.html | |
| 15436 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::flushMappedMemoryRanges( ArrayProxy<const MappedMemoryRange> const & memoryRanges ) const | |
| 15437 { | |
| 15438 VULKAN_HPP_ASSERT( getDispatcher()->vkFlushMappedMemoryRanges && "Function <vkFlushMappedMemoryRanges> requires <VK_VERSION_1_0>" ); | |
| 15439 | |
| 15440 Result result = static_cast<Result>( getDispatcher()->vkFlushMappedMemoryRanges( | |
| 15441 static_cast<VkDevice>( m_device ), memoryRanges.size(), reinterpret_cast<const VkMappedMemoryRange *>( memoryRanges.data() ) ) ); | |
| 15442 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::flushMappedMemoryRanges" ); | |
| 15443 | |
| 15444 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 15445 } | |
| 15446 | |
| 15447 // wrapper function for command vkInvalidateMappedMemoryRanges, see | |
| 15448 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkInvalidateMappedMemoryRanges.html | |
| 15449 VULKAN_HPP_INLINE typename ResultValueType<void>::type | |
| 15450 Device::invalidateMappedMemoryRanges( ArrayProxy<const MappedMemoryRange> const & memoryRanges ) const | |
| 15451 { | |
| 15452 VULKAN_HPP_ASSERT( getDispatcher()->vkInvalidateMappedMemoryRanges && "Function <vkInvalidateMappedMemoryRanges> requires <VK_VERSION_1_0>" ); | |
| 15453 | |
| 15454 Result result = static_cast<Result>( getDispatcher()->vkInvalidateMappedMemoryRanges( | |
| 15455 static_cast<VkDevice>( m_device ), memoryRanges.size(), reinterpret_cast<const VkMappedMemoryRange *>( memoryRanges.data() ) ) ); | |
| 15456 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::invalidateMappedMemoryRanges" ); | |
| 15457 | |
| 15458 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 15459 } | |
| 15460 | |
| 15461 // wrapper function for command vkGetDeviceMemoryCommitment, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMemoryCommitment.html | |
| 15462 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE DeviceSize DeviceMemory::getCommitment() const VULKAN_HPP_NOEXCEPT | |
| 15463 { | |
| 15464 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceMemoryCommitment && "Function <vkGetDeviceMemoryCommitment> requires <VK_VERSION_1_0>" ); | |
| 15465 | |
| 15466 DeviceSize committedMemoryInBytes; | |
| 15467 getDispatcher()->vkGetDeviceMemoryCommitment( | |
| 15468 static_cast<VkDevice>( m_device ), static_cast<VkDeviceMemory>( m_deviceMemory ), reinterpret_cast<VkDeviceSize *>( &committedMemoryInBytes ) ); | |
| 15469 | |
| 15470 return committedMemoryInBytes; | |
| 15471 } | |
| 15472 | |
| 15473 // wrapper function for command vkBindBufferMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindBufferMemory.html | |
| 15474 VULKAN_HPP_INLINE typename ResultValueType<void>::type Buffer::bindMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory, DeviceSize memoryOffset ) const | |
| 15475 { | |
| 15476 VULKAN_HPP_ASSERT( getDispatcher()->vkBindBufferMemory && "Function <vkBindBufferMemory> requires <VK_VERSION_1_0>" ); | |
| 15477 | |
| 15478 Result result = static_cast<Result>( getDispatcher()->vkBindBufferMemory( static_cast<VkDevice>( m_device ), | |
| 15479 static_cast<VkBuffer>( m_buffer ), | |
| 15480 static_cast<VkDeviceMemory>( memory ), | |
| 15481 static_cast<VkDeviceSize>( memoryOffset ) ) ); | |
| 15482 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Buffer::bindMemory" ); | |
| 15483 | |
| 15484 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 15485 } | |
| 15486 | |
| 15487 // wrapper function for command vkBindImageMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindImageMemory.html | |
| 15488 VULKAN_HPP_INLINE typename ResultValueType<void>::type Image::bindMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory, DeviceSize memoryOffset ) const | |
| 15489 { | |
| 15490 VULKAN_HPP_ASSERT( getDispatcher()->vkBindImageMemory && "Function <vkBindImageMemory> requires <VK_VERSION_1_0>" ); | |
| 15491 | |
| 15492 Result result = static_cast<Result>( getDispatcher()->vkBindImageMemory( static_cast<VkDevice>( m_device ), | |
| 15493 static_cast<VkImage>( m_image ), | |
| 15494 static_cast<VkDeviceMemory>( memory ), | |
| 15495 static_cast<VkDeviceSize>( memoryOffset ) ) ); | |
| 15496 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Image::bindMemory" ); | |
| 15497 | |
| 15498 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 15499 } | |
| 15500 | |
| 15501 // wrapper function for command vkGetBufferMemoryRequirements, see | |
| 15502 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements.html | |
| 15503 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements Buffer::getMemoryRequirements() const VULKAN_HPP_NOEXCEPT | |
| 15504 { | |
| 15505 VULKAN_HPP_ASSERT( getDispatcher()->vkGetBufferMemoryRequirements && "Function <vkGetBufferMemoryRequirements> requires <VK_VERSION_1_0>" ); | |
| 15506 | |
| 15507 MemoryRequirements memoryRequirements; | |
| 15508 getDispatcher()->vkGetBufferMemoryRequirements( | |
| 15509 static_cast<VkDevice>( m_device ), static_cast<VkBuffer>( m_buffer ), reinterpret_cast<VkMemoryRequirements *>( &memoryRequirements ) ); | |
| 15510 | |
| 15511 return memoryRequirements; | |
| 15512 } | |
| 15513 | |
| 15514 // wrapper function for command vkGetImageMemoryRequirements, see | |
| 15515 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements.html | |
| 15516 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements Image::getMemoryRequirements() const VULKAN_HPP_NOEXCEPT | |
| 15517 { | |
| 15518 VULKAN_HPP_ASSERT( getDispatcher()->vkGetImageMemoryRequirements && "Function <vkGetImageMemoryRequirements> requires <VK_VERSION_1_0>" ); | |
| 15519 | |
| 15520 MemoryRequirements memoryRequirements; | |
| 15521 getDispatcher()->vkGetImageMemoryRequirements( | |
| 15522 static_cast<VkDevice>( m_device ), static_cast<VkImage>( m_image ), reinterpret_cast<VkMemoryRequirements *>( &memoryRequirements ) ); | |
| 15523 | |
| 15524 return memoryRequirements; | |
| 15525 } | |
| 15526 | |
| 15527 // wrapper function for command vkGetImageSparseMemoryRequirements, see | |
| 15528 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements.html | |
| 15529 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<SparseImageMemoryRequirements> Image::getSparseMemoryRequirements() const | |
| 15530 { | |
| 15531 VULKAN_HPP_ASSERT( getDispatcher()->vkGetImageSparseMemoryRequirements && "Function <vkGetImageSparseMemoryRequirements> requires <VK_VERSION_1_0>" ); | |
| 15532 | |
| 15533 std::vector<SparseImageMemoryRequirements> sparseMemoryRequirements; | |
| 15534 uint32_t sparseMemoryRequirementCount; | |
| 15535 getDispatcher()->vkGetImageSparseMemoryRequirements( | |
| 15536 static_cast<VkDevice>( m_device ), static_cast<VkImage>( m_image ), &sparseMemoryRequirementCount, nullptr ); | |
| 15537 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); | |
| 15538 getDispatcher()->vkGetImageSparseMemoryRequirements( static_cast<VkDevice>( m_device ), | |
| 15539 static_cast<VkImage>( m_image ), | |
| 15540 &sparseMemoryRequirementCount, | |
| 15541 reinterpret_cast<VkSparseImageMemoryRequirements *>( sparseMemoryRequirements.data() ) ); | |
| 15542 | |
| 15543 VULKAN_HPP_ASSERT( sparseMemoryRequirementCount <= sparseMemoryRequirements.size() ); | |
| 15544 if ( sparseMemoryRequirementCount < sparseMemoryRequirements.size() ) | |
| 15545 { | |
| 15546 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); | |
| 15547 } | |
| 15548 return sparseMemoryRequirements; | |
| 15549 } | |
| 15550 | |
| 15551 // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties, see | |
| 15552 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties.html | |
| 15553 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<SparseImageFormatProperties> PhysicalDevice::getSparseImageFormatProperties( | |
| 15554 Format format, ImageType type, SampleCountFlagBits samples, ImageUsageFlags usage, ImageTiling tiling ) const | |
| 15555 { | |
| 15556 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties && | |
| 15557 "Function <vkGetPhysicalDeviceSparseImageFormatProperties> requires <VK_VERSION_1_0>" ); | |
| 15558 | |
| 15559 std::vector<SparseImageFormatProperties> properties; | |
| 15560 uint32_t propertyCount; | |
| 15561 getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 15562 static_cast<VkFormat>( format ), | |
| 15563 static_cast<VkImageType>( type ), | |
| 15564 static_cast<VkSampleCountFlagBits>( samples ), | |
| 15565 static_cast<VkImageUsageFlags>( usage ), | |
| 15566 static_cast<VkImageTiling>( tiling ), | |
| 15567 &propertyCount, | |
| 15568 nullptr ); | |
| 15569 properties.resize( propertyCount ); | |
| 15570 getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 15571 static_cast<VkFormat>( format ), | |
| 15572 static_cast<VkImageType>( type ), | |
| 15573 static_cast<VkSampleCountFlagBits>( samples ), | |
| 15574 static_cast<VkImageUsageFlags>( usage ), | |
| 15575 static_cast<VkImageTiling>( tiling ), | |
| 15576 &propertyCount, | |
| 15577 reinterpret_cast<VkSparseImageFormatProperties *>( properties.data() ) ); | |
| 15578 | |
| 15579 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); | |
| 15580 if ( propertyCount < properties.size() ) | |
| 15581 { | |
| 15582 properties.resize( propertyCount ); | |
| 15583 } | |
| 15584 return properties; | |
| 15585 } | |
| 15586 | |
| 15587 // wrapper function for command vkQueueBindSparse, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueBindSparse.html | |
| 15588 VULKAN_HPP_INLINE typename ResultValueType<void>::type Queue::bindSparse( ArrayProxy<const BindSparseInfo> const & bindInfo, | |
| 15589 VULKAN_HPP_NAMESPACE::Fence fence ) const | |
| 15590 { | |
| 15591 VULKAN_HPP_ASSERT( getDispatcher()->vkQueueBindSparse && "Function <vkQueueBindSparse> requires <VK_VERSION_1_0>" ); | |
| 15592 | |
| 15593 Result result = static_cast<Result>( getDispatcher()->vkQueueBindSparse( | |
| 15594 static_cast<VkQueue>( m_queue ), bindInfo.size(), reinterpret_cast<const VkBindSparseInfo *>( bindInfo.data() ), static_cast<VkFence>( fence ) ) ); | |
| 15595 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Queue::bindSparse" ); | |
| 15596 | |
| 15597 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 15598 } | |
| 15599 | |
| 15600 // wrapper function for command vkCreateFence, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateFence.html | |
| 15601 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<Fence>::type | |
| 15602 Device::createFence( FenceCreateInfo const & createInfo, Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 15603 { | |
| 15604 VULKAN_HPP_NAMESPACE::Fence fence; | |
| 15605 Result result = static_cast<Result>( getDispatcher()->vkCreateFence( static_cast<VkDevice>( m_device ), | |
| 15606 reinterpret_cast<const VkFenceCreateInfo *>( &createInfo ), | |
| 15607 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 15608 reinterpret_cast<VkFence *>( &fence ) ) ); | |
| 15609 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createFence" ); | |
| 15610 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Fence( *this, *reinterpret_cast<VkFence *>( &fence ), allocator ) ); | |
| 15611 } | |
| 15612 | |
| 15613 // wrapper function for command vkResetFences, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetFences.html | |
| 15614 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::resetFences( ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const & fences ) const | |
| 15615 { | |
| 15616 VULKAN_HPP_ASSERT( getDispatcher()->vkResetFences && "Function <vkResetFences> requires <VK_VERSION_1_0>" ); | |
| 15617 | |
| 15618 Result result = static_cast<Result>( | |
| 15619 getDispatcher()->vkResetFences( static_cast<VkDevice>( m_device ), fences.size(), reinterpret_cast<const VkFence *>( fences.data() ) ) ); | |
| 15620 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::resetFences" ); | |
| 15621 | |
| 15622 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 15623 } | |
| 15624 | |
| 15625 // wrapper function for command vkGetFenceStatus, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceStatus.html | |
| 15626 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Fence::getStatus() const | |
| 15627 { | |
| 15628 VULKAN_HPP_ASSERT( getDispatcher()->vkGetFenceStatus && "Function <vkGetFenceStatus> requires <VK_VERSION_1_0>" ); | |
| 15629 | |
| 15630 Result result = static_cast<Result>( getDispatcher()->vkGetFenceStatus( static_cast<VkDevice>( m_device ), static_cast<VkFence>( m_fence ) ) ); | |
| 15631 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Fence::getStatus", { Result::eSuccess, Result::eNotReady } ); | |
| 15632 | |
| 15633 return static_cast<Result>( result ); | |
| 15634 } | |
| 15635 | |
| 15636 // wrapper function for command vkWaitForFences, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitForFences.html | |
| 15637 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::waitForFences( ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const & fences, | |
| 15638 Bool32 waitAll, | |
| 15639 uint64_t timeout ) const | |
| 15640 { | |
| 15641 VULKAN_HPP_ASSERT( getDispatcher()->vkWaitForFences && "Function <vkWaitForFences> requires <VK_VERSION_1_0>" ); | |
| 15642 | |
| 15643 Result result = static_cast<Result>( getDispatcher()->vkWaitForFences( | |
| 15644 static_cast<VkDevice>( m_device ), fences.size(), reinterpret_cast<const VkFence *>( fences.data() ), static_cast<VkBool32>( waitAll ), timeout ) ); | |
| 15645 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::waitForFences", { Result::eSuccess, Result::eTimeout } ); | |
| 15646 | |
| 15647 return static_cast<Result>( result ); | |
| 15648 } | |
| 15649 | |
| 15650 // wrapper function for command vkCreateSemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSemaphore.html | |
| 15651 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<Semaphore>::type | |
| 15652 Device::createSemaphore( SemaphoreCreateInfo const & createInfo, | |
| 15653 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 15654 { | |
| 15655 VULKAN_HPP_NAMESPACE::Semaphore semaphore; | |
| 15656 Result result = static_cast<Result>( getDispatcher()->vkCreateSemaphore( static_cast<VkDevice>( m_device ), | |
| 15657 reinterpret_cast<const VkSemaphoreCreateInfo *>( &createInfo ), | |
| 15658 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 15659 reinterpret_cast<VkSemaphore *>( &semaphore ) ) ); | |
| 15660 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createSemaphore" ); | |
| 15661 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Semaphore( *this, *reinterpret_cast<VkSemaphore *>( &semaphore ), allocator ) ); | |
| 15662 } | |
| 15663 | |
| 15664 // wrapper function for command vkCreateQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateQueryPool.html | |
| 15665 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<QueryPool>::type | |
| 15666 Device::createQueryPool( QueryPoolCreateInfo const & createInfo, | |
| 15667 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 15668 { | |
| 15669 VULKAN_HPP_NAMESPACE::QueryPool queryPool; | |
| 15670 Result result = static_cast<Result>( getDispatcher()->vkCreateQueryPool( static_cast<VkDevice>( m_device ), | |
| 15671 reinterpret_cast<const VkQueryPoolCreateInfo *>( &createInfo ), | |
| 15672 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 15673 reinterpret_cast<VkQueryPool *>( &queryPool ) ) ); | |
| 15674 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createQueryPool" ); | |
| 15675 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, QueryPool( *this, *reinterpret_cast<VkQueryPool *>( &queryPool ), allocator ) ); | |
| 15676 } | |
| 15677 | |
| 15678 // wrapper function for command vkGetQueryPoolResults, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueryPoolResults.html | |
| 15679 template <typename DataType> | |
| 15680 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<DataType>> | |
| 15681 QueryPool::getResults( uint32_t firstQuery, uint32_t queryCount, size_t dataSize, DeviceSize stride, QueryResultFlags flags ) const | |
| 15682 { | |
| 15683 VULKAN_HPP_ASSERT( getDispatcher()->vkGetQueryPoolResults && "Function <vkGetQueryPoolResults> requires <VK_VERSION_1_0>" ); | |
| 15684 | |
| 15685 VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); | |
| 15686 std::vector<DataType> data( dataSize / sizeof( DataType ) ); | |
| 15687 Result result = static_cast<Result>( getDispatcher()->vkGetQueryPoolResults( static_cast<VkDevice>( m_device ), | |
| 15688 static_cast<VkQueryPool>( m_queryPool ), | |
| 15689 firstQuery, | |
| 15690 queryCount, | |
| 15691 data.size() * sizeof( DataType ), | |
| 15692 reinterpret_cast<void *>( data.data() ), | |
| 15693 static_cast<VkDeviceSize>( stride ), | |
| 15694 static_cast<VkQueryResultFlags>( flags ) ) ); | |
| 15695 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::QueryPool::getResults", { Result::eSuccess, Result::eNotReady } ); | |
| 15696 | |
| 15697 return ResultValue<std::vector<DataType>>( result, std::move( data ) ); | |
| 15698 } | |
| 15699 | |
| 15700 // wrapper function for command vkGetQueryPoolResults, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueryPoolResults.html | |
| 15701 template <typename DataType> | |
| 15702 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<DataType> | |
| 15703 QueryPool::getResult( uint32_t firstQuery, uint32_t queryCount, DeviceSize stride, QueryResultFlags flags ) const | |
| 15704 { | |
| 15705 VULKAN_HPP_ASSERT( getDispatcher()->vkGetQueryPoolResults && "Function <vkGetQueryPoolResults> requires <VK_VERSION_1_0>" ); | |
| 15706 | |
| 15707 DataType data; | |
| 15708 Result result = static_cast<Result>( getDispatcher()->vkGetQueryPoolResults( static_cast<VkDevice>( m_device ), | |
| 15709 static_cast<VkQueryPool>( m_queryPool ), | |
| 15710 firstQuery, | |
| 15711 queryCount, | |
| 15712 sizeof( DataType ), | |
| 15713 reinterpret_cast<void *>( &data ), | |
| 15714 static_cast<VkDeviceSize>( stride ), | |
| 15715 static_cast<VkQueryResultFlags>( flags ) ) ); | |
| 15716 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::QueryPool::getResult", { Result::eSuccess, Result::eNotReady } ); | |
| 15717 | |
| 15718 return ResultValue<DataType>( result, std::move( data ) ); | |
| 15719 } | |
| 15720 | |
| 15721 // wrapper function for command vkCreateBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBuffer.html | |
| 15722 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<Buffer>::type | |
| 15723 Device::createBuffer( BufferCreateInfo const & createInfo, Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 15724 { | |
| 15725 VULKAN_HPP_NAMESPACE::Buffer buffer; | |
| 15726 Result result = static_cast<Result>( getDispatcher()->vkCreateBuffer( static_cast<VkDevice>( m_device ), | |
| 15727 reinterpret_cast<const VkBufferCreateInfo *>( &createInfo ), | |
| 15728 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 15729 reinterpret_cast<VkBuffer *>( &buffer ) ) ); | |
| 15730 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createBuffer" ); | |
| 15731 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Buffer( *this, *reinterpret_cast<VkBuffer *>( &buffer ), allocator ) ); | |
| 15732 } | |
| 15733 | |
| 15734 // wrapper function for command vkCreateImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImage.html | |
| 15735 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<Image>::type | |
| 15736 Device::createImage( ImageCreateInfo const & createInfo, Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 15737 { | |
| 15738 VULKAN_HPP_NAMESPACE::Image image; | |
| 15739 Result result = static_cast<Result>( getDispatcher()->vkCreateImage( static_cast<VkDevice>( m_device ), | |
| 15740 reinterpret_cast<const VkImageCreateInfo *>( &createInfo ), | |
| 15741 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 15742 reinterpret_cast<VkImage *>( &image ) ) ); | |
| 15743 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createImage" ); | |
| 15744 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Image( *this, *reinterpret_cast<VkImage *>( &image ), allocator ) ); | |
| 15745 } | |
| 15746 | |
| 15747 // wrapper function for command vkGetImageSubresourceLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout.html | |
| 15748 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE SubresourceLayout Image::getSubresourceLayout( const ImageSubresource & subresource ) const VULKAN_HPP_NOEXCEPT | |
| 15749 { | |
| 15750 VULKAN_HPP_ASSERT( getDispatcher()->vkGetImageSubresourceLayout && "Function <vkGetImageSubresourceLayout> requires <VK_VERSION_1_0>" ); | |
| 15751 | |
| 15752 SubresourceLayout layout; | |
| 15753 getDispatcher()->vkGetImageSubresourceLayout( static_cast<VkDevice>( m_device ), | |
| 15754 static_cast<VkImage>( m_image ), | |
| 15755 reinterpret_cast<const VkImageSubresource *>( &subresource ), | |
| 15756 reinterpret_cast<VkSubresourceLayout *>( &layout ) ); | |
| 15757 | |
| 15758 return layout; | |
| 15759 } | |
| 15760 | |
| 15761 // wrapper function for command vkCreateImageView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImageView.html | |
| 15762 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<ImageView>::type | |
| 15763 Device::createImageView( ImageViewCreateInfo const & createInfo, | |
| 15764 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 15765 { | |
| 15766 VULKAN_HPP_NAMESPACE::ImageView view; | |
| 15767 Result result = static_cast<Result>( getDispatcher()->vkCreateImageView( static_cast<VkDevice>( m_device ), | |
| 15768 reinterpret_cast<const VkImageViewCreateInfo *>( &createInfo ), | |
| 15769 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 15770 reinterpret_cast<VkImageView *>( &view ) ) ); | |
| 15771 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createImageView" ); | |
| 15772 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, ImageView( *this, *reinterpret_cast<VkImageView *>( &view ), allocator ) ); | |
| 15773 } | |
| 15774 | |
| 15775 // wrapper function for command vkCreateCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCommandPool.html | |
| 15776 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<CommandPool>::type | |
| 15777 Device::createCommandPool( CommandPoolCreateInfo const & createInfo, | |
| 15778 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 15779 { | |
| 15780 VULKAN_HPP_NAMESPACE::CommandPool commandPool; | |
| 15781 Result result = static_cast<Result>( getDispatcher()->vkCreateCommandPool( static_cast<VkDevice>( m_device ), | |
| 15782 reinterpret_cast<const VkCommandPoolCreateInfo *>( &createInfo ), | |
| 15783 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 15784 reinterpret_cast<VkCommandPool *>( &commandPool ) ) ); | |
| 15785 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createCommandPool" ); | |
| 15786 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, CommandPool( *this, *reinterpret_cast<VkCommandPool *>( &commandPool ), allocator ) ); | |
| 15787 } | |
| 15788 | |
| 15789 // wrapper function for command vkResetCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetCommandPool.html | |
| 15790 VULKAN_HPP_INLINE typename ResultValueType<void>::type CommandPool::reset( CommandPoolResetFlags flags ) const | |
| 15791 { | |
| 15792 VULKAN_HPP_ASSERT( getDispatcher()->vkResetCommandPool && "Function <vkResetCommandPool> requires <VK_VERSION_1_0>" ); | |
| 15793 | |
| 15794 Result result = static_cast<Result>( getDispatcher()->vkResetCommandPool( | |
| 15795 static_cast<VkDevice>( m_device ), static_cast<VkCommandPool>( m_commandPool ), static_cast<VkCommandPoolResetFlags>( flags ) ) ); | |
| 15796 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::CommandPool::reset" ); | |
| 15797 | |
| 15798 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 15799 } | |
| 15800 | |
| 15801 // wrapper function for command vkAllocateCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateCommandBuffers.html | |
| 15802 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<CommandBuffer>>::type | |
| 15803 Device::allocateCommandBuffers( CommandBufferAllocateInfo const & allocateInfo ) const | |
| 15804 { | |
| 15805 std::vector<VULKAN_HPP_NAMESPACE::CommandBuffer> commandBuffers( allocateInfo.commandBufferCount ); | |
| 15806 Result result = static_cast<Result>( getDispatcher()->vkAllocateCommandBuffers( static_cast<VkDevice>( m_device ), | |
| 15807 reinterpret_cast<const VkCommandBufferAllocateInfo *>( &allocateInfo ), | |
| 15808 reinterpret_cast<VkCommandBuffer *>( commandBuffers.data() ) ) ); | |
| 15809 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::allocateCommandBuffers" ); | |
| 15810 std::vector<CommandBuffer> commandBuffersRAII; | |
| 15811 if ( result == Result::eSuccess ) | |
| 15812 { | |
| 15813 commandBuffersRAII.reserve( commandBuffers.size() ); | |
| 15814 for ( auto & commandBuffer : commandBuffers ) | |
| 15815 { | |
| 15816 commandBuffersRAII.emplace_back( | |
| 15817 *this, *reinterpret_cast<VkCommandBuffer *>( &commandBuffer ), static_cast<VkCommandPool>( allocateInfo.commandPool ) ); | |
| 15818 } | |
| 15819 } | |
| 15820 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( commandBuffersRAII ) ); | |
| 15821 } | |
| 15822 | |
| 15823 // wrapper function for command vkBeginCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBeginCommandBuffer.html | |
| 15824 VULKAN_HPP_INLINE typename ResultValueType<void>::type CommandBuffer::begin( const CommandBufferBeginInfo & beginInfo ) const | |
| 15825 { | |
| 15826 VULKAN_HPP_ASSERT( getDispatcher()->vkBeginCommandBuffer && "Function <vkBeginCommandBuffer> requires <VK_VERSION_1_0>" ); | |
| 15827 | |
| 15828 Result result = static_cast<Result>( getDispatcher()->vkBeginCommandBuffer( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 15829 reinterpret_cast<const VkCommandBufferBeginInfo *>( &beginInfo ) ) ); | |
| 15830 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::CommandBuffer::begin" ); | |
| 15831 | |
| 15832 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 15833 } | |
| 15834 | |
| 15835 // wrapper function for command vkEndCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEndCommandBuffer.html | |
| 15836 VULKAN_HPP_INLINE typename ResultValueType<void>::type CommandBuffer::end() const | |
| 15837 { | |
| 15838 VULKAN_HPP_ASSERT( getDispatcher()->vkEndCommandBuffer && "Function <vkEndCommandBuffer> requires <VK_VERSION_1_0>" ); | |
| 15839 | |
| 15840 Result result = static_cast<Result>( getDispatcher()->vkEndCommandBuffer( static_cast<VkCommandBuffer>( m_commandBuffer ) ) ); | |
| 15841 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::CommandBuffer::end" ); | |
| 15842 | |
| 15843 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 15844 } | |
| 15845 | |
| 15846 // wrapper function for command vkResetCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetCommandBuffer.html | |
| 15847 VULKAN_HPP_INLINE typename ResultValueType<void>::type CommandBuffer::reset( CommandBufferResetFlags flags ) const | |
| 15848 { | |
| 15849 VULKAN_HPP_ASSERT( getDispatcher()->vkResetCommandBuffer && "Function <vkResetCommandBuffer> requires <VK_VERSION_1_0>" ); | |
| 15850 | |
| 15851 Result result = static_cast<Result>( | |
| 15852 getDispatcher()->vkResetCommandBuffer( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkCommandBufferResetFlags>( flags ) ) ); | |
| 15853 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::CommandBuffer::reset" ); | |
| 15854 | |
| 15855 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 15856 } | |
| 15857 | |
| 15858 // wrapper function for command vkCmdCopyBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBuffer.html | |
| 15859 VULKAN_HPP_INLINE void CommandBuffer::copyBuffer( VULKAN_HPP_NAMESPACE::Buffer srcBuffer, | |
| 15860 VULKAN_HPP_NAMESPACE::Buffer dstBuffer, | |
| 15861 ArrayProxy<const BufferCopy> const & regions ) const VULKAN_HPP_NOEXCEPT | |
| 15862 { | |
| 15863 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyBuffer && "Function <vkCmdCopyBuffer> requires <VK_VERSION_1_0>" ); | |
| 15864 | |
| 15865 getDispatcher()->vkCmdCopyBuffer( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 15866 static_cast<VkBuffer>( srcBuffer ), | |
| 15867 static_cast<VkBuffer>( dstBuffer ), | |
| 15868 regions.size(), | |
| 15869 reinterpret_cast<const VkBufferCopy *>( regions.data() ) ); | |
| 15870 } | |
| 15871 | |
| 15872 // wrapper function for command vkCmdCopyImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImage.html | |
| 15873 VULKAN_HPP_INLINE void CommandBuffer::copyImage( VULKAN_HPP_NAMESPACE::Image srcImage, | |
| 15874 ImageLayout srcImageLayout, | |
| 15875 VULKAN_HPP_NAMESPACE::Image dstImage, | |
| 15876 ImageLayout dstImageLayout, | |
| 15877 ArrayProxy<const ImageCopy> const & regions ) const VULKAN_HPP_NOEXCEPT | |
| 15878 { | |
| 15879 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyImage && "Function <vkCmdCopyImage> requires <VK_VERSION_1_0>" ); | |
| 15880 | |
| 15881 getDispatcher()->vkCmdCopyImage( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 15882 static_cast<VkImage>( srcImage ), | |
| 15883 static_cast<VkImageLayout>( srcImageLayout ), | |
| 15884 static_cast<VkImage>( dstImage ), | |
| 15885 static_cast<VkImageLayout>( dstImageLayout ), | |
| 15886 regions.size(), | |
| 15887 reinterpret_cast<const VkImageCopy *>( regions.data() ) ); | |
| 15888 } | |
| 15889 | |
| 15890 // wrapper function for command vkCmdCopyBufferToImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBufferToImage.html | |
| 15891 VULKAN_HPP_INLINE void CommandBuffer::copyBufferToImage( VULKAN_HPP_NAMESPACE::Buffer srcBuffer, | |
| 15892 VULKAN_HPP_NAMESPACE::Image dstImage, | |
| 15893 ImageLayout dstImageLayout, | |
| 15894 ArrayProxy<const BufferImageCopy> const & regions ) const VULKAN_HPP_NOEXCEPT | |
| 15895 { | |
| 15896 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyBufferToImage && "Function <vkCmdCopyBufferToImage> requires <VK_VERSION_1_0>" ); | |
| 15897 | |
| 15898 getDispatcher()->vkCmdCopyBufferToImage( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 15899 static_cast<VkBuffer>( srcBuffer ), | |
| 15900 static_cast<VkImage>( dstImage ), | |
| 15901 static_cast<VkImageLayout>( dstImageLayout ), | |
| 15902 regions.size(), | |
| 15903 reinterpret_cast<const VkBufferImageCopy *>( regions.data() ) ); | |
| 15904 } | |
| 15905 | |
| 15906 // wrapper function for command vkCmdCopyImageToBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImageToBuffer.html | |
| 15907 VULKAN_HPP_INLINE void CommandBuffer::copyImageToBuffer( VULKAN_HPP_NAMESPACE::Image srcImage, | |
| 15908 ImageLayout srcImageLayout, | |
| 15909 VULKAN_HPP_NAMESPACE::Buffer dstBuffer, | |
| 15910 ArrayProxy<const BufferImageCopy> const & regions ) const VULKAN_HPP_NOEXCEPT | |
| 15911 { | |
| 15912 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyImageToBuffer && "Function <vkCmdCopyImageToBuffer> requires <VK_VERSION_1_0>" ); | |
| 15913 | |
| 15914 getDispatcher()->vkCmdCopyImageToBuffer( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 15915 static_cast<VkImage>( srcImage ), | |
| 15916 static_cast<VkImageLayout>( srcImageLayout ), | |
| 15917 static_cast<VkBuffer>( dstBuffer ), | |
| 15918 regions.size(), | |
| 15919 reinterpret_cast<const VkBufferImageCopy *>( regions.data() ) ); | |
| 15920 } | |
| 15921 | |
| 15922 // wrapper function for command vkCmdUpdateBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdUpdateBuffer.html | |
| 15923 template <typename DataType> | |
| 15924 VULKAN_HPP_INLINE void CommandBuffer::updateBuffer( VULKAN_HPP_NAMESPACE::Buffer dstBuffer, | |
| 15925 DeviceSize dstOffset, | |
| 15926 ArrayProxy<const DataType> const & data ) const VULKAN_HPP_NOEXCEPT | |
| 15927 { | |
| 15928 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdUpdateBuffer && "Function <vkCmdUpdateBuffer> requires <VK_VERSION_1_0>" ); | |
| 15929 | |
| 15930 getDispatcher()->vkCmdUpdateBuffer( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 15931 static_cast<VkBuffer>( dstBuffer ), | |
| 15932 static_cast<VkDeviceSize>( dstOffset ), | |
| 15933 data.size() * sizeof( DataType ), | |
| 15934 reinterpret_cast<const void *>( data.data() ) ); | |
| 15935 } | |
| 15936 | |
| 15937 // wrapper function for command vkCmdFillBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdFillBuffer.html | |
| 15938 VULKAN_HPP_INLINE void | |
| 15939 CommandBuffer::fillBuffer( VULKAN_HPP_NAMESPACE::Buffer dstBuffer, DeviceSize dstOffset, DeviceSize size, uint32_t data ) const VULKAN_HPP_NOEXCEPT | |
| 15940 { | |
| 15941 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdFillBuffer && "Function <vkCmdFillBuffer> requires <VK_VERSION_1_0>" ); | |
| 15942 | |
| 15943 getDispatcher()->vkCmdFillBuffer( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 15944 static_cast<VkBuffer>( dstBuffer ), | |
| 15945 static_cast<VkDeviceSize>( dstOffset ), | |
| 15946 static_cast<VkDeviceSize>( size ), | |
| 15947 data ); | |
| 15948 } | |
| 15949 | |
| 15950 // wrapper function for command vkCmdPipelineBarrier, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPipelineBarrier.html | |
| 15951 VULKAN_HPP_INLINE void CommandBuffer::pipelineBarrier( PipelineStageFlags srcStageMask, | |
| 15952 PipelineStageFlags dstStageMask, | |
| 15953 DependencyFlags dependencyFlags, | |
| 15954 ArrayProxy<const MemoryBarrier> const & memoryBarriers, | |
| 15955 ArrayProxy<const BufferMemoryBarrier> const & bufferMemoryBarriers, | |
| 15956 ArrayProxy<const ImageMemoryBarrier> const & imageMemoryBarriers ) const VULKAN_HPP_NOEXCEPT | |
| 15957 { | |
| 15958 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdPipelineBarrier && "Function <vkCmdPipelineBarrier> requires <VK_VERSION_1_0>" ); | |
| 15959 | |
| 15960 getDispatcher()->vkCmdPipelineBarrier( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 15961 static_cast<VkPipelineStageFlags>( srcStageMask ), | |
| 15962 static_cast<VkPipelineStageFlags>( dstStageMask ), | |
| 15963 static_cast<VkDependencyFlags>( dependencyFlags ), | |
| 15964 memoryBarriers.size(), | |
| 15965 reinterpret_cast<const VkMemoryBarrier *>( memoryBarriers.data() ), | |
| 15966 bufferMemoryBarriers.size(), | |
| 15967 reinterpret_cast<const VkBufferMemoryBarrier *>( bufferMemoryBarriers.data() ), | |
| 15968 imageMemoryBarriers.size(), | |
| 15969 reinterpret_cast<const VkImageMemoryBarrier *>( imageMemoryBarriers.data() ) ); | |
| 15970 } | |
| 15971 | |
| 15972 // wrapper function for command vkCmdBeginQuery, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginQuery.html | |
| 15973 VULKAN_HPP_INLINE void | |
| 15974 CommandBuffer::beginQuery( VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query, QueryControlFlags flags ) const VULKAN_HPP_NOEXCEPT | |
| 15975 { | |
| 15976 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBeginQuery && "Function <vkCmdBeginQuery> requires <VK_VERSION_1_0>" ); | |
| 15977 | |
| 15978 getDispatcher()->vkCmdBeginQuery( | |
| 15979 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkQueryPool>( queryPool ), query, static_cast<VkQueryControlFlags>( flags ) ); | |
| 15980 } | |
| 15981 | |
| 15982 // wrapper function for command vkCmdEndQuery, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndQuery.html | |
| 15983 VULKAN_HPP_INLINE void CommandBuffer::endQuery( VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT | |
| 15984 { | |
| 15985 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdEndQuery && "Function <vkCmdEndQuery> requires <VK_VERSION_1_0>" ); | |
| 15986 | |
| 15987 getDispatcher()->vkCmdEndQuery( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkQueryPool>( queryPool ), query ); | |
| 15988 } | |
| 15989 | |
| 15990 // wrapper function for command vkCmdResetQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResetQueryPool.html | |
| 15991 VULKAN_HPP_INLINE void | |
| 15992 CommandBuffer::resetQueryPool( VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT | |
| 15993 { | |
| 15994 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdResetQueryPool && "Function <vkCmdResetQueryPool> requires <VK_VERSION_1_0>" ); | |
| 15995 | |
| 15996 getDispatcher()->vkCmdResetQueryPool( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkQueryPool>( queryPool ), firstQuery, queryCount ); | |
| 15997 } | |
| 15998 | |
| 15999 // wrapper function for command vkCmdWriteTimestamp, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteTimestamp.html | |
| 16000 VULKAN_HPP_INLINE void | |
| 16001 CommandBuffer::writeTimestamp( PipelineStageFlagBits pipelineStage, VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT | |
| 16002 { | |
| 16003 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdWriteTimestamp && "Function <vkCmdWriteTimestamp> requires <VK_VERSION_1_0>" ); | |
| 16004 | |
| 16005 getDispatcher()->vkCmdWriteTimestamp( | |
| 16006 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkPipelineStageFlagBits>( pipelineStage ), static_cast<VkQueryPool>( queryPool ), query ); | |
| 16007 } | |
| 16008 | |
| 16009 // wrapper function for command vkCmdCopyQueryPoolResults, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyQueryPoolResults.html | |
| 16010 VULKAN_HPP_INLINE void CommandBuffer::copyQueryPoolResults( VULKAN_HPP_NAMESPACE::QueryPool queryPool, | |
| 16011 uint32_t firstQuery, | |
| 16012 uint32_t queryCount, | |
| 16013 VULKAN_HPP_NAMESPACE::Buffer dstBuffer, | |
| 16014 DeviceSize dstOffset, | |
| 16015 DeviceSize stride, | |
| 16016 QueryResultFlags flags ) const VULKAN_HPP_NOEXCEPT | |
| 16017 { | |
| 16018 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyQueryPoolResults && "Function <vkCmdCopyQueryPoolResults> requires <VK_VERSION_1_0>" ); | |
| 16019 | |
| 16020 getDispatcher()->vkCmdCopyQueryPoolResults( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 16021 static_cast<VkQueryPool>( queryPool ), | |
| 16022 firstQuery, | |
| 16023 queryCount, | |
| 16024 static_cast<VkBuffer>( dstBuffer ), | |
| 16025 static_cast<VkDeviceSize>( dstOffset ), | |
| 16026 static_cast<VkDeviceSize>( stride ), | |
| 16027 static_cast<VkQueryResultFlags>( flags ) ); | |
| 16028 } | |
| 16029 | |
| 16030 // wrapper function for command vkCmdExecuteCommands, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdExecuteCommands.html | |
| 16031 VULKAN_HPP_INLINE void | |
| 16032 CommandBuffer::executeCommands( ArrayProxy<const VULKAN_HPP_NAMESPACE::CommandBuffer> const & commandBuffers ) const VULKAN_HPP_NOEXCEPT | |
| 16033 { | |
| 16034 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdExecuteCommands && "Function <vkCmdExecuteCommands> requires <VK_VERSION_1_0>" ); | |
| 16035 | |
| 16036 getDispatcher()->vkCmdExecuteCommands( | |
| 16037 static_cast<VkCommandBuffer>( m_commandBuffer ), commandBuffers.size(), reinterpret_cast<const VkCommandBuffer *>( commandBuffers.data() ) ); | |
| 16038 } | |
| 16039 | |
| 16040 // wrapper function for command vkCreateEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateEvent.html | |
| 16041 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<Event>::type | |
| 16042 Device::createEvent( EventCreateInfo const & createInfo, Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 16043 { | |
| 16044 VULKAN_HPP_NAMESPACE::Event event; | |
| 16045 Result result = static_cast<Result>( getDispatcher()->vkCreateEvent( static_cast<VkDevice>( m_device ), | |
| 16046 reinterpret_cast<const VkEventCreateInfo *>( &createInfo ), | |
| 16047 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 16048 reinterpret_cast<VkEvent *>( &event ) ) ); | |
| 16049 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createEvent" ); | |
| 16050 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Event( *this, *reinterpret_cast<VkEvent *>( &event ), allocator ) ); | |
| 16051 } | |
| 16052 | |
| 16053 // wrapper function for command vkGetEventStatus, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetEventStatus.html | |
| 16054 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Event::getStatus() const | |
| 16055 { | |
| 16056 VULKAN_HPP_ASSERT( getDispatcher()->vkGetEventStatus && "Function <vkGetEventStatus> requires <VK_VERSION_1_0>" ); | |
| 16057 | |
| 16058 Result result = static_cast<Result>( getDispatcher()->vkGetEventStatus( static_cast<VkDevice>( m_device ), static_cast<VkEvent>( m_event ) ) ); | |
| 16059 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Event::getStatus", { Result::eEventSet, Result::eEventReset } ); | |
| 16060 | |
| 16061 return static_cast<Result>( result ); | |
| 16062 } | |
| 16063 | |
| 16064 // wrapper function for command vkSetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetEvent.html | |
| 16065 VULKAN_HPP_INLINE typename ResultValueType<void>::type Event::set() const | |
| 16066 { | |
| 16067 VULKAN_HPP_ASSERT( getDispatcher()->vkSetEvent && "Function <vkSetEvent> requires <VK_VERSION_1_0>" ); | |
| 16068 | |
| 16069 Result result = static_cast<Result>( getDispatcher()->vkSetEvent( static_cast<VkDevice>( m_device ), static_cast<VkEvent>( m_event ) ) ); | |
| 16070 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Event::set" ); | |
| 16071 | |
| 16072 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 16073 } | |
| 16074 | |
| 16075 // wrapper function for command vkResetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetEvent.html | |
| 16076 VULKAN_HPP_INLINE typename ResultValueType<void>::type Event::reset() const | |
| 16077 { | |
| 16078 VULKAN_HPP_ASSERT( getDispatcher()->vkResetEvent && "Function <vkResetEvent> requires <VK_VERSION_1_0>" ); | |
| 16079 | |
| 16080 Result result = static_cast<Result>( getDispatcher()->vkResetEvent( static_cast<VkDevice>( m_device ), static_cast<VkEvent>( m_event ) ) ); | |
| 16081 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Event::reset" ); | |
| 16082 | |
| 16083 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 16084 } | |
| 16085 | |
| 16086 // wrapper function for command vkCreateBufferView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBufferView.html | |
| 16087 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<BufferView>::type | |
| 16088 Device::createBufferView( BufferViewCreateInfo const & createInfo, | |
| 16089 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 16090 { | |
| 16091 VULKAN_HPP_NAMESPACE::BufferView view; | |
| 16092 Result result = static_cast<Result>( getDispatcher()->vkCreateBufferView( static_cast<VkDevice>( m_device ), | |
| 16093 reinterpret_cast<const VkBufferViewCreateInfo *>( &createInfo ), | |
| 16094 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 16095 reinterpret_cast<VkBufferView *>( &view ) ) ); | |
| 16096 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createBufferView" ); | |
| 16097 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, BufferView( *this, *reinterpret_cast<VkBufferView *>( &view ), allocator ) ); | |
| 16098 } | |
| 16099 | |
| 16100 // wrapper function for command vkCreateShaderModule, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShaderModule.html | |
| 16101 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<ShaderModule>::type | |
| 16102 Device::createShaderModule( ShaderModuleCreateInfo const & createInfo, | |
| 16103 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 16104 { | |
| 16105 VULKAN_HPP_NAMESPACE::ShaderModule shaderModule; | |
| 16106 Result result = static_cast<Result>( getDispatcher()->vkCreateShaderModule( static_cast<VkDevice>( m_device ), | |
| 16107 reinterpret_cast<const VkShaderModuleCreateInfo *>( &createInfo ), | |
| 16108 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 16109 reinterpret_cast<VkShaderModule *>( &shaderModule ) ) ); | |
| 16110 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createShaderModule" ); | |
| 16111 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, | |
| 16112 ShaderModule( *this, *reinterpret_cast<VkShaderModule *>( &shaderModule ), allocator ) ); | |
| 16113 } | |
| 16114 | |
| 16115 // wrapper function for command vkCreatePipelineCache, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineCache.html | |
| 16116 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<PipelineCache>::type | |
| 16117 Device::createPipelineCache( PipelineCacheCreateInfo const & createInfo, | |
| 16118 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 16119 { | |
| 16120 VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache; | |
| 16121 Result result = static_cast<Result>( getDispatcher()->vkCreatePipelineCache( static_cast<VkDevice>( m_device ), | |
| 16122 reinterpret_cast<const VkPipelineCacheCreateInfo *>( &createInfo ), | |
| 16123 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 16124 reinterpret_cast<VkPipelineCache *>( &pipelineCache ) ) ); | |
| 16125 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createPipelineCache" ); | |
| 16126 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, | |
| 16127 PipelineCache( *this, *reinterpret_cast<VkPipelineCache *>( &pipelineCache ), allocator ) ); | |
| 16128 } | |
| 16129 | |
| 16130 // wrapper function for command vkGetPipelineCacheData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineCacheData.html | |
| 16131 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<uint8_t>>::type PipelineCache::getData() const | |
| 16132 { | |
| 16133 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPipelineCacheData && "Function <vkGetPipelineCacheData> requires <VK_VERSION_1_0>" ); | |
| 16134 | |
| 16135 std::vector<uint8_t> data; | |
| 16136 size_t dataSize; | |
| 16137 Result result; | |
| 16138 do | |
| 16139 { | |
| 16140 result = static_cast<Result>( | |
| 16141 getDispatcher()->vkGetPipelineCacheData( static_cast<VkDevice>( m_device ), static_cast<VkPipelineCache>( m_pipelineCache ), &dataSize, nullptr ) ); | |
| 16142 if ( ( result == Result::eSuccess ) && dataSize ) | |
| 16143 { | |
| 16144 data.resize( dataSize ); | |
| 16145 result = static_cast<Result>( getDispatcher()->vkGetPipelineCacheData( | |
| 16146 static_cast<VkDevice>( m_device ), static_cast<VkPipelineCache>( m_pipelineCache ), &dataSize, reinterpret_cast<void *>( data.data() ) ) ); | |
| 16147 } | |
| 16148 } while ( result == Result::eIncomplete ); | |
| 16149 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PipelineCache::getData" ); | |
| 16150 VULKAN_HPP_ASSERT( dataSize <= data.size() ); | |
| 16151 if ( dataSize < data.size() ) | |
| 16152 { | |
| 16153 data.resize( dataSize ); | |
| 16154 } | |
| 16155 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); | |
| 16156 } | |
| 16157 | |
| 16158 // wrapper function for command vkMergePipelineCaches, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMergePipelineCaches.html | |
| 16159 VULKAN_HPP_INLINE typename ResultValueType<void>::type PipelineCache::merge( ArrayProxy<const VULKAN_HPP_NAMESPACE::PipelineCache> const & srcCaches ) const | |
| 16160 { | |
| 16161 VULKAN_HPP_ASSERT( getDispatcher()->vkMergePipelineCaches && "Function <vkMergePipelineCaches> requires <VK_VERSION_1_0>" ); | |
| 16162 | |
| 16163 Result result = static_cast<Result>( getDispatcher()->vkMergePipelineCaches( static_cast<VkDevice>( m_device ), | |
| 16164 static_cast<VkPipelineCache>( m_pipelineCache ), | |
| 16165 srcCaches.size(), | |
| 16166 reinterpret_cast<const VkPipelineCache *>( srcCaches.data() ) ) ); | |
| 16167 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PipelineCache::merge" ); | |
| 16168 | |
| 16169 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 16170 } | |
| 16171 | |
| 16172 // wrapper function for command vkCreateComputePipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateComputePipelines.html | |
| 16173 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<Pipeline>>::type | |
| 16174 Device::createComputePipelines( Optional<const PipelineCache> const & pipelineCache, | |
| 16175 ArrayProxy<ComputePipelineCreateInfo> const & createInfos, | |
| 16176 Optional<const AllocationCallbacks> allocator ) const | |
| 16177 { | |
| 16178 std::vector<VULKAN_HPP_NAMESPACE::Pipeline> pipelines( createInfos.size() ); | |
| 16179 Result result = | |
| 16180 static_cast<Result>( getDispatcher()->vkCreateComputePipelines( static_cast<VkDevice>( m_device ), | |
| 16181 pipelineCache ? static_cast<VkPipelineCache>( **pipelineCache ) : 0, | |
| 16182 createInfos.size(), | |
| 16183 reinterpret_cast<const VkComputePipelineCreateInfo *>( createInfos.data() ), | |
| 16184 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 16185 reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); | |
| 16186 VULKAN_HPP_NAMESPACE::detail::resultCheck( | |
| 16187 result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createComputePipelines", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); | |
| 16188 std::vector<Pipeline> pipelinesRAII; | |
| 16189 if ( result == Result::eSuccess ) | |
| 16190 { | |
| 16191 pipelinesRAII.reserve( pipelines.size() ); | |
| 16192 for ( auto & pipeline : pipelines ) | |
| 16193 { | |
| 16194 pipelinesRAII.emplace_back( *this, *reinterpret_cast<VkPipeline *>( &pipeline ), allocator, result ); | |
| 16195 } | |
| 16196 } | |
| 16197 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pipelinesRAII ) ); | |
| 16198 } | |
| 16199 | |
| 16200 // wrapper function for command vkCreateComputePipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateComputePipelines.html | |
| 16201 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<Pipeline>::type | |
| 16202 Device::createComputePipeline( Optional<const PipelineCache> const & pipelineCache, | |
| 16203 ComputePipelineCreateInfo const & createInfo, | |
| 16204 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 16205 { | |
| 16206 VULKAN_HPP_NAMESPACE::Pipeline pipeline; | |
| 16207 Result result = static_cast<Result>( getDispatcher()->vkCreateComputePipelines( static_cast<VkDevice>( m_device ), | |
| 16208 pipelineCache ? static_cast<VkPipelineCache>( **pipelineCache ) : 0, | |
| 16209 1, | |
| 16210 reinterpret_cast<const VkComputePipelineCreateInfo *>( &createInfo ), | |
| 16211 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 16212 reinterpret_cast<VkPipeline *>( &pipeline ) ) ); | |
| 16213 VULKAN_HPP_NAMESPACE::detail::resultCheck( | |
| 16214 result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createComputePipeline", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); | |
| 16215 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Pipeline( *this, *reinterpret_cast<VkPipeline *>( &pipeline ), allocator, result ) ); | |
| 16216 } | |
| 16217 | |
| 16218 // wrapper function for command vkCreatePipelineLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineLayout.html | |
| 16219 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<PipelineLayout>::type | |
| 16220 Device::createPipelineLayout( PipelineLayoutCreateInfo const & createInfo, | |
| 16221 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 16222 { | |
| 16223 VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout; | |
| 16224 Result result = static_cast<Result>( getDispatcher()->vkCreatePipelineLayout( static_cast<VkDevice>( m_device ), | |
| 16225 reinterpret_cast<const VkPipelineLayoutCreateInfo *>( &createInfo ), | |
| 16226 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 16227 reinterpret_cast<VkPipelineLayout *>( &pipelineLayout ) ) ); | |
| 16228 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createPipelineLayout" ); | |
| 16229 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( | |
| 16230 result, PipelineLayout( *this, *reinterpret_cast<VkPipelineLayout *>( &pipelineLayout ), allocator ) ); | |
| 16231 } | |
| 16232 | |
| 16233 // wrapper function for command vkCreateSampler, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSampler.html | |
| 16234 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<Sampler>::type | |
| 16235 Device::createSampler( SamplerCreateInfo const & createInfo, Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 16236 { | |
| 16237 VULKAN_HPP_NAMESPACE::Sampler sampler; | |
| 16238 Result result = static_cast<Result>( getDispatcher()->vkCreateSampler( static_cast<VkDevice>( m_device ), | |
| 16239 reinterpret_cast<const VkSamplerCreateInfo *>( &createInfo ), | |
| 16240 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 16241 reinterpret_cast<VkSampler *>( &sampler ) ) ); | |
| 16242 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createSampler" ); | |
| 16243 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Sampler( *this, *reinterpret_cast<VkSampler *>( &sampler ), allocator ) ); | |
| 16244 } | |
| 16245 | |
| 16246 // wrapper function for command vkCreateDescriptorSetLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorSetLayout.html | |
| 16247 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DescriptorSetLayout>::type | |
| 16248 Device::createDescriptorSetLayout( DescriptorSetLayoutCreateInfo const & createInfo, | |
| 16249 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 16250 { | |
| 16251 VULKAN_HPP_NAMESPACE::DescriptorSetLayout setLayout; | |
| 16252 Result result = | |
| 16253 static_cast<Result>( getDispatcher()->vkCreateDescriptorSetLayout( static_cast<VkDevice>( m_device ), | |
| 16254 reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( &createInfo ), | |
| 16255 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 16256 reinterpret_cast<VkDescriptorSetLayout *>( &setLayout ) ) ); | |
| 16257 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createDescriptorSetLayout" ); | |
| 16258 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( | |
| 16259 result, DescriptorSetLayout( *this, *reinterpret_cast<VkDescriptorSetLayout *>( &setLayout ), allocator ) ); | |
| 16260 } | |
| 16261 | |
| 16262 // wrapper function for command vkCreateDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorPool.html | |
| 16263 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DescriptorPool>::type | |
| 16264 Device::createDescriptorPool( DescriptorPoolCreateInfo const & createInfo, | |
| 16265 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 16266 { | |
| 16267 VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool; | |
| 16268 Result result = static_cast<Result>( getDispatcher()->vkCreateDescriptorPool( static_cast<VkDevice>( m_device ), | |
| 16269 reinterpret_cast<const VkDescriptorPoolCreateInfo *>( &createInfo ), | |
| 16270 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 16271 reinterpret_cast<VkDescriptorPool *>( &descriptorPool ) ) ); | |
| 16272 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createDescriptorPool" ); | |
| 16273 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( | |
| 16274 result, DescriptorPool( *this, *reinterpret_cast<VkDescriptorPool *>( &descriptorPool ), allocator ) ); | |
| 16275 } | |
| 16276 | |
| 16277 // wrapper function for command vkResetDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetDescriptorPool.html | |
| 16278 VULKAN_HPP_INLINE typename ResultValueType<void>::type DescriptorPool::reset( DescriptorPoolResetFlags flags ) const | |
| 16279 { | |
| 16280 VULKAN_HPP_ASSERT( getDispatcher()->vkResetDescriptorPool && "Function <vkResetDescriptorPool> requires <VK_VERSION_1_0>" ); | |
| 16281 | |
| 16282 Result result = static_cast<Result>( getDispatcher()->vkResetDescriptorPool( | |
| 16283 static_cast<VkDevice>( m_device ), static_cast<VkDescriptorPool>( m_descriptorPool ), static_cast<VkDescriptorPoolResetFlags>( flags ) ) ); | |
| 16284 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::DescriptorPool::reset" ); | |
| 16285 | |
| 16286 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 16287 } | |
| 16288 | |
| 16289 // wrapper function for command vkAllocateDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateDescriptorSets.html | |
| 16290 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DescriptorSet>>::type | |
| 16291 Device::allocateDescriptorSets( DescriptorSetAllocateInfo const & allocateInfo ) const | |
| 16292 { | |
| 16293 std::vector<VULKAN_HPP_NAMESPACE::DescriptorSet> descriptorSets( allocateInfo.descriptorSetCount ); | |
| 16294 Result result = static_cast<Result>( getDispatcher()->vkAllocateDescriptorSets( static_cast<VkDevice>( m_device ), | |
| 16295 reinterpret_cast<const VkDescriptorSetAllocateInfo *>( &allocateInfo ), | |
| 16296 reinterpret_cast<VkDescriptorSet *>( descriptorSets.data() ) ) ); | |
| 16297 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::allocateDescriptorSets" ); | |
| 16298 std::vector<DescriptorSet> descriptorSetsRAII; | |
| 16299 if ( result == Result::eSuccess ) | |
| 16300 { | |
| 16301 descriptorSetsRAII.reserve( descriptorSets.size() ); | |
| 16302 for ( auto & descriptorSet : descriptorSets ) | |
| 16303 { | |
| 16304 descriptorSetsRAII.emplace_back( | |
| 16305 *this, *reinterpret_cast<VkDescriptorSet *>( &descriptorSet ), static_cast<VkDescriptorPool>( allocateInfo.descriptorPool ) ); | |
| 16306 } | |
| 16307 } | |
| 16308 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( descriptorSetsRAII ) ); | |
| 16309 } | |
| 16310 | |
| 16311 // wrapper function for command vkUpdateDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateDescriptorSets.html | |
| 16312 VULKAN_HPP_INLINE void Device::updateDescriptorSets( ArrayProxy<const WriteDescriptorSet> const & descriptorWrites, | |
| 16313 ArrayProxy<const CopyDescriptorSet> const & descriptorCopies ) const VULKAN_HPP_NOEXCEPT | |
| 16314 { | |
| 16315 VULKAN_HPP_ASSERT( getDispatcher()->vkUpdateDescriptorSets && "Function <vkUpdateDescriptorSets> requires <VK_VERSION_1_0>" ); | |
| 16316 | |
| 16317 getDispatcher()->vkUpdateDescriptorSets( static_cast<VkDevice>( m_device ), | |
| 16318 descriptorWrites.size(), | |
| 16319 reinterpret_cast<const VkWriteDescriptorSet *>( descriptorWrites.data() ), | |
| 16320 descriptorCopies.size(), | |
| 16321 reinterpret_cast<const VkCopyDescriptorSet *>( descriptorCopies.data() ) ); | |
| 16322 } | |
| 16323 | |
| 16324 // wrapper function for command vkCmdBindPipeline, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindPipeline.html | |
| 16325 VULKAN_HPP_INLINE void CommandBuffer::bindPipeline( PipelineBindPoint pipelineBindPoint, VULKAN_HPP_NAMESPACE::Pipeline pipeline ) const VULKAN_HPP_NOEXCEPT | |
| 16326 { | |
| 16327 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBindPipeline && "Function <vkCmdBindPipeline> requires <VK_VERSION_1_0>" ); | |
| 16328 | |
| 16329 getDispatcher()->vkCmdBindPipeline( | |
| 16330 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkPipelineBindPoint>( pipelineBindPoint ), static_cast<VkPipeline>( pipeline ) ); | |
| 16331 } | |
| 16332 | |
| 16333 // wrapper function for command vkCmdBindDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorSets.html | |
| 16334 VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorSets( PipelineBindPoint pipelineBindPoint, | |
| 16335 VULKAN_HPP_NAMESPACE::PipelineLayout layout, | |
| 16336 uint32_t firstSet, | |
| 16337 ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorSet> const & descriptorSets, | |
| 16338 ArrayProxy<const uint32_t> const & dynamicOffsets ) const VULKAN_HPP_NOEXCEPT | |
| 16339 { | |
| 16340 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBindDescriptorSets && "Function <vkCmdBindDescriptorSets> requires <VK_VERSION_1_0>" ); | |
| 16341 | |
| 16342 getDispatcher()->vkCmdBindDescriptorSets( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 16343 static_cast<VkPipelineBindPoint>( pipelineBindPoint ), | |
| 16344 static_cast<VkPipelineLayout>( layout ), | |
| 16345 firstSet, | |
| 16346 descriptorSets.size(), | |
| 16347 reinterpret_cast<const VkDescriptorSet *>( descriptorSets.data() ), | |
| 16348 dynamicOffsets.size(), | |
| 16349 dynamicOffsets.data() ); | |
| 16350 } | |
| 16351 | |
| 16352 // wrapper function for command vkCmdClearColorImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdClearColorImage.html | |
| 16353 VULKAN_HPP_INLINE void CommandBuffer::clearColorImage( VULKAN_HPP_NAMESPACE::Image image, | |
| 16354 ImageLayout imageLayout, | |
| 16355 const ClearColorValue & color, | |
| 16356 ArrayProxy<const ImageSubresourceRange> const & ranges ) const VULKAN_HPP_NOEXCEPT | |
| 16357 { | |
| 16358 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdClearColorImage && "Function <vkCmdClearColorImage> requires <VK_VERSION_1_0>" ); | |
| 16359 | |
| 16360 getDispatcher()->vkCmdClearColorImage( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 16361 static_cast<VkImage>( image ), | |
| 16362 static_cast<VkImageLayout>( imageLayout ), | |
| 16363 reinterpret_cast<const VkClearColorValue *>( &color ), | |
| 16364 ranges.size(), | |
| 16365 reinterpret_cast<const VkImageSubresourceRange *>( ranges.data() ) ); | |
| 16366 } | |
| 16367 | |
| 16368 // wrapper function for command vkCmdDispatch, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatch.html | |
| 16369 VULKAN_HPP_INLINE void CommandBuffer::dispatch( uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT | |
| 16370 { | |
| 16371 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDispatch && "Function <vkCmdDispatch> requires <VK_VERSION_1_0>" ); | |
| 16372 | |
| 16373 getDispatcher()->vkCmdDispatch( static_cast<VkCommandBuffer>( m_commandBuffer ), groupCountX, groupCountY, groupCountZ ); | |
| 16374 } | |
| 16375 | |
| 16376 // wrapper function for command vkCmdDispatchIndirect, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchIndirect.html | |
| 16377 VULKAN_HPP_INLINE void CommandBuffer::dispatchIndirect( VULKAN_HPP_NAMESPACE::Buffer buffer, DeviceSize offset ) const VULKAN_HPP_NOEXCEPT | |
| 16378 { | |
| 16379 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDispatchIndirect && "Function <vkCmdDispatchIndirect> requires <VK_VERSION_1_0>" ); | |
| 16380 | |
| 16381 getDispatcher()->vkCmdDispatchIndirect( | |
| 16382 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBuffer>( buffer ), static_cast<VkDeviceSize>( offset ) ); | |
| 16383 } | |
| 16384 | |
| 16385 // wrapper function for command vkCmdSetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetEvent.html | |
| 16386 VULKAN_HPP_INLINE void CommandBuffer::setEvent( VULKAN_HPP_NAMESPACE::Event event, PipelineStageFlags stageMask ) const VULKAN_HPP_NOEXCEPT | |
| 16387 { | |
| 16388 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetEvent && "Function <vkCmdSetEvent> requires <VK_VERSION_1_0>" ); | |
| 16389 | |
| 16390 getDispatcher()->vkCmdSetEvent( | |
| 16391 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkEvent>( event ), static_cast<VkPipelineStageFlags>( stageMask ) ); | |
| 16392 } | |
| 16393 | |
| 16394 // wrapper function for command vkCmdResetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResetEvent.html | |
| 16395 VULKAN_HPP_INLINE void CommandBuffer::resetEvent( VULKAN_HPP_NAMESPACE::Event event, PipelineStageFlags stageMask ) const VULKAN_HPP_NOEXCEPT | |
| 16396 { | |
| 16397 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdResetEvent && "Function <vkCmdResetEvent> requires <VK_VERSION_1_0>" ); | |
| 16398 | |
| 16399 getDispatcher()->vkCmdResetEvent( | |
| 16400 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkEvent>( event ), static_cast<VkPipelineStageFlags>( stageMask ) ); | |
| 16401 } | |
| 16402 | |
| 16403 // wrapper function for command vkCmdWaitEvents, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWaitEvents.html | |
| 16404 VULKAN_HPP_INLINE void CommandBuffer::waitEvents( ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const & events, | |
| 16405 PipelineStageFlags srcStageMask, | |
| 16406 PipelineStageFlags dstStageMask, | |
| 16407 ArrayProxy<const MemoryBarrier> const & memoryBarriers, | |
| 16408 ArrayProxy<const BufferMemoryBarrier> const & bufferMemoryBarriers, | |
| 16409 ArrayProxy<const ImageMemoryBarrier> const & imageMemoryBarriers ) const VULKAN_HPP_NOEXCEPT | |
| 16410 { | |
| 16411 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdWaitEvents && "Function <vkCmdWaitEvents> requires <VK_VERSION_1_0>" ); | |
| 16412 | |
| 16413 getDispatcher()->vkCmdWaitEvents( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 16414 events.size(), | |
| 16415 reinterpret_cast<const VkEvent *>( events.data() ), | |
| 16416 static_cast<VkPipelineStageFlags>( srcStageMask ), | |
| 16417 static_cast<VkPipelineStageFlags>( dstStageMask ), | |
| 16418 memoryBarriers.size(), | |
| 16419 reinterpret_cast<const VkMemoryBarrier *>( memoryBarriers.data() ), | |
| 16420 bufferMemoryBarriers.size(), | |
| 16421 reinterpret_cast<const VkBufferMemoryBarrier *>( bufferMemoryBarriers.data() ), | |
| 16422 imageMemoryBarriers.size(), | |
| 16423 reinterpret_cast<const VkImageMemoryBarrier *>( imageMemoryBarriers.data() ) ); | |
| 16424 } | |
| 16425 | |
| 16426 // wrapper function for command vkCmdPushConstants, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushConstants.html | |
| 16427 template <typename ValuesType> | |
| 16428 VULKAN_HPP_INLINE void CommandBuffer::pushConstants( VULKAN_HPP_NAMESPACE::PipelineLayout layout, | |
| 16429 ShaderStageFlags stageFlags, | |
| 16430 uint32_t offset, | |
| 16431 ArrayProxy<const ValuesType> const & values ) const VULKAN_HPP_NOEXCEPT | |
| 16432 { | |
| 16433 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdPushConstants && "Function <vkCmdPushConstants> requires <VK_VERSION_1_0>" ); | |
| 16434 | |
| 16435 getDispatcher()->vkCmdPushConstants( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 16436 static_cast<VkPipelineLayout>( layout ), | |
| 16437 static_cast<VkShaderStageFlags>( stageFlags ), | |
| 16438 offset, | |
| 16439 values.size() * sizeof( ValuesType ), | |
| 16440 reinterpret_cast<const void *>( values.data() ) ); | |
| 16441 } | |
| 16442 | |
| 16443 // wrapper function for command vkCreateGraphicsPipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGraphicsPipelines.html | |
| 16444 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<Pipeline>>::type | |
| 16445 Device::createGraphicsPipelines( Optional<const PipelineCache> const & pipelineCache, | |
| 16446 ArrayProxy<GraphicsPipelineCreateInfo> const & createInfos, | |
| 16447 Optional<const AllocationCallbacks> allocator ) const | |
| 16448 { | |
| 16449 std::vector<VULKAN_HPP_NAMESPACE::Pipeline> pipelines( createInfos.size() ); | |
| 16450 Result result = | |
| 16451 static_cast<Result>( getDispatcher()->vkCreateGraphicsPipelines( static_cast<VkDevice>( m_device ), | |
| 16452 pipelineCache ? static_cast<VkPipelineCache>( **pipelineCache ) : 0, | |
| 16453 createInfos.size(), | |
| 16454 reinterpret_cast<const VkGraphicsPipelineCreateInfo *>( createInfos.data() ), | |
| 16455 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 16456 reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); | |
| 16457 VULKAN_HPP_NAMESPACE::detail::resultCheck( | |
| 16458 result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createGraphicsPipelines", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); | |
| 16459 std::vector<Pipeline> pipelinesRAII; | |
| 16460 if ( result == Result::eSuccess ) | |
| 16461 { | |
| 16462 pipelinesRAII.reserve( pipelines.size() ); | |
| 16463 for ( auto & pipeline : pipelines ) | |
| 16464 { | |
| 16465 pipelinesRAII.emplace_back( *this, *reinterpret_cast<VkPipeline *>( &pipeline ), allocator, result ); | |
| 16466 } | |
| 16467 } | |
| 16468 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pipelinesRAII ) ); | |
| 16469 } | |
| 16470 | |
| 16471 // wrapper function for command vkCreateGraphicsPipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGraphicsPipelines.html | |
| 16472 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<Pipeline>::type | |
| 16473 Device::createGraphicsPipeline( Optional<const PipelineCache> const & pipelineCache, | |
| 16474 GraphicsPipelineCreateInfo const & createInfo, | |
| 16475 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 16476 { | |
| 16477 VULKAN_HPP_NAMESPACE::Pipeline pipeline; | |
| 16478 Result result = static_cast<Result>( getDispatcher()->vkCreateGraphicsPipelines( static_cast<VkDevice>( m_device ), | |
| 16479 pipelineCache ? static_cast<VkPipelineCache>( **pipelineCache ) : 0, | |
| 16480 1, | |
| 16481 reinterpret_cast<const VkGraphicsPipelineCreateInfo *>( &createInfo ), | |
| 16482 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 16483 reinterpret_cast<VkPipeline *>( &pipeline ) ) ); | |
| 16484 VULKAN_HPP_NAMESPACE::detail::resultCheck( | |
| 16485 result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createGraphicsPipeline", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); | |
| 16486 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Pipeline( *this, *reinterpret_cast<VkPipeline *>( &pipeline ), allocator, result ) ); | |
| 16487 } | |
| 16488 | |
| 16489 // wrapper function for command vkCreateFramebuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateFramebuffer.html | |
| 16490 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<Framebuffer>::type | |
| 16491 Device::createFramebuffer( FramebufferCreateInfo const & createInfo, | |
| 16492 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 16493 { | |
| 16494 VULKAN_HPP_NAMESPACE::Framebuffer framebuffer; | |
| 16495 Result result = static_cast<Result>( getDispatcher()->vkCreateFramebuffer( static_cast<VkDevice>( m_device ), | |
| 16496 reinterpret_cast<const VkFramebufferCreateInfo *>( &createInfo ), | |
| 16497 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 16498 reinterpret_cast<VkFramebuffer *>( &framebuffer ) ) ); | |
| 16499 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createFramebuffer" ); | |
| 16500 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Framebuffer( *this, *reinterpret_cast<VkFramebuffer *>( &framebuffer ), allocator ) ); | |
| 16501 } | |
| 16502 | |
| 16503 // wrapper function for command vkCreateRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass.html | |
| 16504 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<RenderPass>::type | |
| 16505 Device::createRenderPass( RenderPassCreateInfo const & createInfo, | |
| 16506 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 16507 { | |
| 16508 VULKAN_HPP_NAMESPACE::RenderPass renderPass; | |
| 16509 Result result = static_cast<Result>( getDispatcher()->vkCreateRenderPass( static_cast<VkDevice>( m_device ), | |
| 16510 reinterpret_cast<const VkRenderPassCreateInfo *>( &createInfo ), | |
| 16511 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 16512 reinterpret_cast<VkRenderPass *>( &renderPass ) ) ); | |
| 16513 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createRenderPass" ); | |
| 16514 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, RenderPass( *this, *reinterpret_cast<VkRenderPass *>( &renderPass ), allocator ) ); | |
| 16515 } | |
| 16516 | |
| 16517 // wrapper function for command vkGetRenderAreaGranularity, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRenderAreaGranularity.html | |
| 16518 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Extent2D RenderPass::getRenderAreaGranularity() const VULKAN_HPP_NOEXCEPT | |
| 16519 { | |
| 16520 VULKAN_HPP_ASSERT( getDispatcher()->vkGetRenderAreaGranularity && "Function <vkGetRenderAreaGranularity> requires <VK_VERSION_1_0>" ); | |
| 16521 | |
| 16522 Extent2D granularity; | |
| 16523 getDispatcher()->vkGetRenderAreaGranularity( | |
| 16524 static_cast<VkDevice>( m_device ), static_cast<VkRenderPass>( m_renderPass ), reinterpret_cast<VkExtent2D *>( &granularity ) ); | |
| 16525 | |
| 16526 return granularity; | |
| 16527 } | |
| 16528 | |
| 16529 // wrapper function for command vkCmdSetViewport, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewport.html | |
| 16530 VULKAN_HPP_INLINE void CommandBuffer::setViewport( uint32_t firstViewport, ArrayProxy<const Viewport> const & viewports ) const VULKAN_HPP_NOEXCEPT | |
| 16531 { | |
| 16532 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetViewport && "Function <vkCmdSetViewport> requires <VK_VERSION_1_0>" ); | |
| 16533 | |
| 16534 getDispatcher()->vkCmdSetViewport( | |
| 16535 static_cast<VkCommandBuffer>( m_commandBuffer ), firstViewport, viewports.size(), reinterpret_cast<const VkViewport *>( viewports.data() ) ); | |
| 16536 } | |
| 16537 | |
| 16538 // wrapper function for command vkCmdSetScissor, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetScissor.html | |
| 16539 VULKAN_HPP_INLINE void CommandBuffer::setScissor( uint32_t firstScissor, ArrayProxy<const Rect2D> const & scissors ) const VULKAN_HPP_NOEXCEPT | |
| 16540 { | |
| 16541 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetScissor && "Function <vkCmdSetScissor> requires <VK_VERSION_1_0>" ); | |
| 16542 | |
| 16543 getDispatcher()->vkCmdSetScissor( | |
| 16544 static_cast<VkCommandBuffer>( m_commandBuffer ), firstScissor, scissors.size(), reinterpret_cast<const VkRect2D *>( scissors.data() ) ); | |
| 16545 } | |
| 16546 | |
| 16547 // wrapper function for command vkCmdSetLineWidth, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineWidth.html | |
| 16548 VULKAN_HPP_INLINE void CommandBuffer::setLineWidth( float lineWidth ) const VULKAN_HPP_NOEXCEPT | |
| 16549 { | |
| 16550 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetLineWidth && "Function <vkCmdSetLineWidth> requires <VK_VERSION_1_0>" ); | |
| 16551 | |
| 16552 getDispatcher()->vkCmdSetLineWidth( static_cast<VkCommandBuffer>( m_commandBuffer ), lineWidth ); | |
| 16553 } | |
| 16554 | |
| 16555 // wrapper function for command vkCmdSetDepthBias, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBias.html | |
| 16556 VULKAN_HPP_INLINE void | |
| 16557 CommandBuffer::setDepthBias( float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor ) const VULKAN_HPP_NOEXCEPT | |
| 16558 { | |
| 16559 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDepthBias && "Function <vkCmdSetDepthBias> requires <VK_VERSION_1_0>" ); | |
| 16560 | |
| 16561 getDispatcher()->vkCmdSetDepthBias( static_cast<VkCommandBuffer>( m_commandBuffer ), depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor ); | |
| 16562 } | |
| 16563 | |
| 16564 // wrapper function for command vkCmdSetBlendConstants, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetBlendConstants.html | |
| 16565 VULKAN_HPP_INLINE void CommandBuffer::setBlendConstants( const float blendConstants[4] ) const VULKAN_HPP_NOEXCEPT | |
| 16566 { | |
| 16567 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetBlendConstants && "Function <vkCmdSetBlendConstants> requires <VK_VERSION_1_0>" ); | |
| 16568 | |
| 16569 getDispatcher()->vkCmdSetBlendConstants( static_cast<VkCommandBuffer>( m_commandBuffer ), blendConstants ); | |
| 16570 } | |
| 16571 | |
| 16572 // wrapper function for command vkCmdSetDepthBounds, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBounds.html | |
| 16573 VULKAN_HPP_INLINE void CommandBuffer::setDepthBounds( float minDepthBounds, float maxDepthBounds ) const VULKAN_HPP_NOEXCEPT | |
| 16574 { | |
| 16575 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDepthBounds && "Function <vkCmdSetDepthBounds> requires <VK_VERSION_1_0>" ); | |
| 16576 | |
| 16577 getDispatcher()->vkCmdSetDepthBounds( static_cast<VkCommandBuffer>( m_commandBuffer ), minDepthBounds, maxDepthBounds ); | |
| 16578 } | |
| 16579 | |
| 16580 // wrapper function for command vkCmdSetStencilCompareMask, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilCompareMask.html | |
| 16581 VULKAN_HPP_INLINE void CommandBuffer::setStencilCompareMask( StencilFaceFlags faceMask, uint32_t compareMask ) const VULKAN_HPP_NOEXCEPT | |
| 16582 { | |
| 16583 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetStencilCompareMask && "Function <vkCmdSetStencilCompareMask> requires <VK_VERSION_1_0>" ); | |
| 16584 | |
| 16585 getDispatcher()->vkCmdSetStencilCompareMask( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkStencilFaceFlags>( faceMask ), compareMask ); | |
| 16586 } | |
| 16587 | |
| 16588 // wrapper function for command vkCmdSetStencilWriteMask, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilWriteMask.html | |
| 16589 VULKAN_HPP_INLINE void CommandBuffer::setStencilWriteMask( StencilFaceFlags faceMask, uint32_t writeMask ) const VULKAN_HPP_NOEXCEPT | |
| 16590 { | |
| 16591 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetStencilWriteMask && "Function <vkCmdSetStencilWriteMask> requires <VK_VERSION_1_0>" ); | |
| 16592 | |
| 16593 getDispatcher()->vkCmdSetStencilWriteMask( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkStencilFaceFlags>( faceMask ), writeMask ); | |
| 16594 } | |
| 16595 | |
| 16596 // wrapper function for command vkCmdSetStencilReference, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilReference.html | |
| 16597 VULKAN_HPP_INLINE void CommandBuffer::setStencilReference( StencilFaceFlags faceMask, uint32_t reference ) const VULKAN_HPP_NOEXCEPT | |
| 16598 { | |
| 16599 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetStencilReference && "Function <vkCmdSetStencilReference> requires <VK_VERSION_1_0>" ); | |
| 16600 | |
| 16601 getDispatcher()->vkCmdSetStencilReference( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkStencilFaceFlags>( faceMask ), reference ); | |
| 16602 } | |
| 16603 | |
| 16604 // wrapper function for command vkCmdBindIndexBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindIndexBuffer.html | |
| 16605 VULKAN_HPP_INLINE void | |
| 16606 CommandBuffer::bindIndexBuffer( VULKAN_HPP_NAMESPACE::Buffer buffer, DeviceSize offset, IndexType indexType ) const VULKAN_HPP_NOEXCEPT | |
| 16607 { | |
| 16608 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBindIndexBuffer && "Function <vkCmdBindIndexBuffer> requires <VK_VERSION_1_0>" ); | |
| 16609 | |
| 16610 getDispatcher()->vkCmdBindIndexBuffer( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 16611 static_cast<VkBuffer>( buffer ), | |
| 16612 static_cast<VkDeviceSize>( offset ), | |
| 16613 static_cast<VkIndexType>( indexType ) ); | |
| 16614 } | |
| 16615 | |
| 16616 // wrapper function for command vkCmdBindVertexBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindVertexBuffers.html | |
| 16617 VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers( uint32_t firstBinding, | |
| 16618 ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers, | |
| 16619 ArrayProxy<const DeviceSize> const & offsets ) const | |
| 16620 { | |
| 16621 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBindVertexBuffers && "Function <vkCmdBindVertexBuffers> requires <VK_VERSION_1_0>" ); | |
| 16622 # ifdef VULKAN_HPP_NO_EXCEPTIONS | |
| 16623 VULKAN_HPP_ASSERT( buffers.size() == offsets.size() ); | |
| 16624 # else | |
| 16625 if ( buffers.size() != offsets.size() ) | |
| 16626 { | |
| 16627 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindVertexBuffers: buffers.size() != offsets.size()" ); | |
| 16628 } | |
| 16629 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ | |
| 16630 | |
| 16631 getDispatcher()->vkCmdBindVertexBuffers( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 16632 firstBinding, | |
| 16633 buffers.size(), | |
| 16634 reinterpret_cast<const VkBuffer *>( buffers.data() ), | |
| 16635 reinterpret_cast<const VkDeviceSize *>( offsets.data() ) ); | |
| 16636 } | |
| 16637 | |
| 16638 // wrapper function for command vkCmdDraw, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDraw.html | |
| 16639 VULKAN_HPP_INLINE void | |
| 16640 CommandBuffer::draw( uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance ) const VULKAN_HPP_NOEXCEPT | |
| 16641 { | |
| 16642 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDraw && "Function <vkCmdDraw> requires <VK_VERSION_1_0>" ); | |
| 16643 | |
| 16644 getDispatcher()->vkCmdDraw( static_cast<VkCommandBuffer>( m_commandBuffer ), vertexCount, instanceCount, firstVertex, firstInstance ); | |
| 16645 } | |
| 16646 | |
| 16647 // wrapper function for command vkCmdDrawIndexed, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexed.html | |
| 16648 VULKAN_HPP_INLINE void CommandBuffer::drawIndexed( | |
| 16649 uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance ) const VULKAN_HPP_NOEXCEPT | |
| 16650 { | |
| 16651 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDrawIndexed && "Function <vkCmdDrawIndexed> requires <VK_VERSION_1_0>" ); | |
| 16652 | |
| 16653 getDispatcher()->vkCmdDrawIndexed( static_cast<VkCommandBuffer>( m_commandBuffer ), indexCount, instanceCount, firstIndex, vertexOffset, firstInstance ); | |
| 16654 } | |
| 16655 | |
| 16656 // wrapper function for command vkCmdDrawIndirect, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirect.html | |
| 16657 VULKAN_HPP_INLINE void | |
| 16658 CommandBuffer::drawIndirect( VULKAN_HPP_NAMESPACE::Buffer buffer, DeviceSize offset, uint32_t drawCount, uint32_t stride ) const VULKAN_HPP_NOEXCEPT | |
| 16659 { | |
| 16660 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDrawIndirect && "Function <vkCmdDrawIndirect> requires <VK_VERSION_1_0>" ); | |
| 16661 | |
| 16662 getDispatcher()->vkCmdDrawIndirect( | |
| 16663 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBuffer>( buffer ), static_cast<VkDeviceSize>( offset ), drawCount, stride ); | |
| 16664 } | |
| 16665 | |
| 16666 // wrapper function for command vkCmdDrawIndexedIndirect, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexedIndirect.html | |
| 16667 VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirect( VULKAN_HPP_NAMESPACE::Buffer buffer, | |
| 16668 DeviceSize offset, | |
| 16669 uint32_t drawCount, | |
| 16670 uint32_t stride ) const VULKAN_HPP_NOEXCEPT | |
| 16671 { | |
| 16672 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDrawIndexedIndirect && "Function <vkCmdDrawIndexedIndirect> requires <VK_VERSION_1_0>" ); | |
| 16673 | |
| 16674 getDispatcher()->vkCmdDrawIndexedIndirect( | |
| 16675 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBuffer>( buffer ), static_cast<VkDeviceSize>( offset ), drawCount, stride ); | |
| 16676 } | |
| 16677 | |
| 16678 // wrapper function for command vkCmdBlitImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBlitImage.html | |
| 16679 VULKAN_HPP_INLINE void CommandBuffer::blitImage( VULKAN_HPP_NAMESPACE::Image srcImage, | |
| 16680 ImageLayout srcImageLayout, | |
| 16681 VULKAN_HPP_NAMESPACE::Image dstImage, | |
| 16682 ImageLayout dstImageLayout, | |
| 16683 ArrayProxy<const ImageBlit> const & regions, | |
| 16684 Filter filter ) const VULKAN_HPP_NOEXCEPT | |
| 16685 { | |
| 16686 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBlitImage && "Function <vkCmdBlitImage> requires <VK_VERSION_1_0>" ); | |
| 16687 | |
| 16688 getDispatcher()->vkCmdBlitImage( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 16689 static_cast<VkImage>( srcImage ), | |
| 16690 static_cast<VkImageLayout>( srcImageLayout ), | |
| 16691 static_cast<VkImage>( dstImage ), | |
| 16692 static_cast<VkImageLayout>( dstImageLayout ), | |
| 16693 regions.size(), | |
| 16694 reinterpret_cast<const VkImageBlit *>( regions.data() ), | |
| 16695 static_cast<VkFilter>( filter ) ); | |
| 16696 } | |
| 16697 | |
| 16698 // wrapper function for command vkCmdClearDepthStencilImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdClearDepthStencilImage.html | |
| 16699 VULKAN_HPP_INLINE void CommandBuffer::clearDepthStencilImage( VULKAN_HPP_NAMESPACE::Image image, | |
| 16700 ImageLayout imageLayout, | |
| 16701 const ClearDepthStencilValue & depthStencil, | |
| 16702 ArrayProxy<const ImageSubresourceRange> const & ranges ) const VULKAN_HPP_NOEXCEPT | |
| 16703 { | |
| 16704 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdClearDepthStencilImage && "Function <vkCmdClearDepthStencilImage> requires <VK_VERSION_1_0>" ); | |
| 16705 | |
| 16706 getDispatcher()->vkCmdClearDepthStencilImage( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 16707 static_cast<VkImage>( image ), | |
| 16708 static_cast<VkImageLayout>( imageLayout ), | |
| 16709 reinterpret_cast<const VkClearDepthStencilValue *>( &depthStencil ), | |
| 16710 ranges.size(), | |
| 16711 reinterpret_cast<const VkImageSubresourceRange *>( ranges.data() ) ); | |
| 16712 } | |
| 16713 | |
| 16714 // wrapper function for command vkCmdClearAttachments, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdClearAttachments.html | |
| 16715 VULKAN_HPP_INLINE void CommandBuffer::clearAttachments( ArrayProxy<const ClearAttachment> const & attachments, | |
| 16716 ArrayProxy<const ClearRect> const & rects ) const VULKAN_HPP_NOEXCEPT | |
| 16717 { | |
| 16718 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdClearAttachments && "Function <vkCmdClearAttachments> requires <VK_VERSION_1_0>" ); | |
| 16719 | |
| 16720 getDispatcher()->vkCmdClearAttachments( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 16721 attachments.size(), | |
| 16722 reinterpret_cast<const VkClearAttachment *>( attachments.data() ), | |
| 16723 rects.size(), | |
| 16724 reinterpret_cast<const VkClearRect *>( rects.data() ) ); | |
| 16725 } | |
| 16726 | |
| 16727 // wrapper function for command vkCmdResolveImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResolveImage.html | |
| 16728 VULKAN_HPP_INLINE void CommandBuffer::resolveImage( VULKAN_HPP_NAMESPACE::Image srcImage, | |
| 16729 ImageLayout srcImageLayout, | |
| 16730 VULKAN_HPP_NAMESPACE::Image dstImage, | |
| 16731 ImageLayout dstImageLayout, | |
| 16732 ArrayProxy<const ImageResolve> const & regions ) const VULKAN_HPP_NOEXCEPT | |
| 16733 { | |
| 16734 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdResolveImage && "Function <vkCmdResolveImage> requires <VK_VERSION_1_0>" ); | |
| 16735 | |
| 16736 getDispatcher()->vkCmdResolveImage( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 16737 static_cast<VkImage>( srcImage ), | |
| 16738 static_cast<VkImageLayout>( srcImageLayout ), | |
| 16739 static_cast<VkImage>( dstImage ), | |
| 16740 static_cast<VkImageLayout>( dstImageLayout ), | |
| 16741 regions.size(), | |
| 16742 reinterpret_cast<const VkImageResolve *>( regions.data() ) ); | |
| 16743 } | |
| 16744 | |
| 16745 // wrapper function for command vkCmdBeginRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderPass.html | |
| 16746 VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass( const RenderPassBeginInfo & renderPassBegin, SubpassContents contents ) const VULKAN_HPP_NOEXCEPT | |
| 16747 { | |
| 16748 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBeginRenderPass && "Function <vkCmdBeginRenderPass> requires <VK_VERSION_1_0>" ); | |
| 16749 | |
| 16750 getDispatcher()->vkCmdBeginRenderPass( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 16751 reinterpret_cast<const VkRenderPassBeginInfo *>( &renderPassBegin ), | |
| 16752 static_cast<VkSubpassContents>( contents ) ); | |
| 16753 } | |
| 16754 | |
| 16755 // wrapper function for command vkCmdNextSubpass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdNextSubpass.html | |
| 16756 VULKAN_HPP_INLINE void CommandBuffer::nextSubpass( SubpassContents contents ) const VULKAN_HPP_NOEXCEPT | |
| 16757 { | |
| 16758 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdNextSubpass && "Function <vkCmdNextSubpass> requires <VK_VERSION_1_0>" ); | |
| 16759 | |
| 16760 getDispatcher()->vkCmdNextSubpass( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkSubpassContents>( contents ) ); | |
| 16761 } | |
| 16762 | |
| 16763 // wrapper function for command vkCmdEndRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRenderPass.html | |
| 16764 VULKAN_HPP_INLINE void CommandBuffer::endRenderPass() const VULKAN_HPP_NOEXCEPT | |
| 16765 { | |
| 16766 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdEndRenderPass && "Function <vkCmdEndRenderPass> requires <VK_VERSION_1_0>" ); | |
| 16767 | |
| 16768 getDispatcher()->vkCmdEndRenderPass( static_cast<VkCommandBuffer>( m_commandBuffer ) ); | |
| 16769 } | |
| 16770 | |
| 16771 //=== VK_VERSION_1_1 === | |
| 16772 | |
| 16773 // wrapper function for command vkEnumerateInstanceVersion, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceVersion.html | |
| 16774 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<uint32_t>::type Context::enumerateInstanceVersion() const | |
| 16775 { | |
| 16776 VULKAN_HPP_ASSERT( getDispatcher()->vkEnumerateInstanceVersion && "Function <vkEnumerateInstanceVersion> requires <VK_VERSION_1_1>" ); | |
| 16777 | |
| 16778 uint32_t apiVersion; | |
| 16779 Result result = static_cast<Result>( getDispatcher()->vkEnumerateInstanceVersion( &apiVersion ) ); | |
| 16780 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Context::enumerateInstanceVersion" ); | |
| 16781 | |
| 16782 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( apiVersion ) ); | |
| 16783 } | |
| 16784 | |
| 16785 // wrapper function for command vkBindBufferMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindBufferMemory2.html | |
| 16786 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::bindBufferMemory2( ArrayProxy<const BindBufferMemoryInfo> const & bindInfos ) const | |
| 16787 { | |
| 16788 VULKAN_HPP_ASSERT( getDispatcher()->vkBindBufferMemory2 && "Function <vkBindBufferMemory2> requires <VK_KHR_bind_memory2> or <VK_VERSION_1_1>" ); | |
| 16789 | |
| 16790 Result result = static_cast<Result>( getDispatcher()->vkBindBufferMemory2( | |
| 16791 static_cast<VkDevice>( m_device ), bindInfos.size(), reinterpret_cast<const VkBindBufferMemoryInfo *>( bindInfos.data() ) ) ); | |
| 16792 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::bindBufferMemory2" ); | |
| 16793 | |
| 16794 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 16795 } | |
| 16796 | |
| 16797 // wrapper function for command vkBindImageMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindImageMemory2.html | |
| 16798 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::bindImageMemory2( ArrayProxy<const BindImageMemoryInfo> const & bindInfos ) const | |
| 16799 { | |
| 16800 VULKAN_HPP_ASSERT( getDispatcher()->vkBindImageMemory2 && "Function <vkBindImageMemory2> requires <VK_KHR_bind_memory2> or <VK_VERSION_1_1>" ); | |
| 16801 | |
| 16802 Result result = static_cast<Result>( getDispatcher()->vkBindImageMemory2( | |
| 16803 static_cast<VkDevice>( m_device ), bindInfos.size(), reinterpret_cast<const VkBindImageMemoryInfo *>( bindInfos.data() ) ) ); | |
| 16804 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::bindImageMemory2" ); | |
| 16805 | |
| 16806 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 16807 } | |
| 16808 | |
| 16809 // wrapper function for command vkGetDeviceGroupPeerMemoryFeatures, see | |
| 16810 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupPeerMemoryFeatures.html | |
| 16811 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE PeerMemoryFeatureFlags Device::getGroupPeerMemoryFeatures( uint32_t heapIndex, | |
| 16812 uint32_t localDeviceIndex, | |
| 16813 uint32_t remoteDeviceIndex ) const VULKAN_HPP_NOEXCEPT | |
| 16814 { | |
| 16815 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceGroupPeerMemoryFeatures && | |
| 16816 "Function <vkGetDeviceGroupPeerMemoryFeatures> requires <VK_KHR_device_group> or <VK_VERSION_1_1>" ); | |
| 16817 | |
| 16818 PeerMemoryFeatureFlags peerMemoryFeatures; | |
| 16819 getDispatcher()->vkGetDeviceGroupPeerMemoryFeatures( static_cast<VkDevice>( m_device ), | |
| 16820 heapIndex, | |
| 16821 localDeviceIndex, | |
| 16822 remoteDeviceIndex, | |
| 16823 reinterpret_cast<VkPeerMemoryFeatureFlags *>( &peerMemoryFeatures ) ); | |
| 16824 | |
| 16825 return peerMemoryFeatures; | |
| 16826 } | |
| 16827 | |
| 16828 // wrapper function for command vkCmdSetDeviceMask, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDeviceMask.html | |
| 16829 VULKAN_HPP_INLINE void CommandBuffer::setDeviceMask( uint32_t deviceMask ) const VULKAN_HPP_NOEXCEPT | |
| 16830 { | |
| 16831 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDeviceMask && "Function <vkCmdSetDeviceMask> requires <VK_KHR_device_group> or <VK_VERSION_1_1>" ); | |
| 16832 | |
| 16833 getDispatcher()->vkCmdSetDeviceMask( static_cast<VkCommandBuffer>( m_commandBuffer ), deviceMask ); | |
| 16834 } | |
| 16835 | |
| 16836 // wrapper function for command vkEnumeratePhysicalDeviceGroups, see | |
| 16837 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceGroups.html | |
| 16838 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<PhysicalDeviceGroupProperties>>::type | |
| 16839 Instance::enumeratePhysicalDeviceGroups() const | |
| 16840 { | |
| 16841 VULKAN_HPP_ASSERT( getDispatcher()->vkEnumeratePhysicalDeviceGroups && | |
| 16842 "Function <vkEnumeratePhysicalDeviceGroups> requires <VK_KHR_device_group_creation> or <VK_VERSION_1_1>" ); | |
| 16843 | |
| 16844 std::vector<PhysicalDeviceGroupProperties> physicalDeviceGroupProperties; | |
| 16845 uint32_t physicalDeviceGroupCount; | |
| 16846 Result result; | |
| 16847 do | |
| 16848 { | |
| 16849 result = | |
| 16850 static_cast<Result>( getDispatcher()->vkEnumeratePhysicalDeviceGroups( static_cast<VkInstance>( m_instance ), &physicalDeviceGroupCount, nullptr ) ); | |
| 16851 if ( ( result == Result::eSuccess ) && physicalDeviceGroupCount ) | |
| 16852 { | |
| 16853 physicalDeviceGroupProperties.resize( physicalDeviceGroupCount ); | |
| 16854 result = static_cast<Result>( | |
| 16855 getDispatcher()->vkEnumeratePhysicalDeviceGroups( static_cast<VkInstance>( m_instance ), | |
| 16856 &physicalDeviceGroupCount, | |
| 16857 reinterpret_cast<VkPhysicalDeviceGroupProperties *>( physicalDeviceGroupProperties.data() ) ) ); | |
| 16858 } | |
| 16859 } while ( result == Result::eIncomplete ); | |
| 16860 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::enumeratePhysicalDeviceGroups" ); | |
| 16861 VULKAN_HPP_ASSERT( physicalDeviceGroupCount <= physicalDeviceGroupProperties.size() ); | |
| 16862 if ( physicalDeviceGroupCount < physicalDeviceGroupProperties.size() ) | |
| 16863 { | |
| 16864 physicalDeviceGroupProperties.resize( physicalDeviceGroupCount ); | |
| 16865 } | |
| 16866 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( physicalDeviceGroupProperties ) ); | |
| 16867 } | |
| 16868 | |
| 16869 // wrapper function for command vkGetImageMemoryRequirements2, see | |
| 16870 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements2.html | |
| 16871 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 | |
| 16872 Device::getImageMemoryRequirements2( const ImageMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT | |
| 16873 { | |
| 16874 VULKAN_HPP_ASSERT( getDispatcher()->vkGetImageMemoryRequirements2 && | |
| 16875 "Function <vkGetImageMemoryRequirements2> requires <VK_KHR_get_memory_requirements2> or <VK_VERSION_1_1>" ); | |
| 16876 | |
| 16877 MemoryRequirements2 memoryRequirements; | |
| 16878 getDispatcher()->vkGetImageMemoryRequirements2( static_cast<VkDevice>( m_device ), | |
| 16879 reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>( &info ), | |
| 16880 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); | |
| 16881 | |
| 16882 return memoryRequirements; | |
| 16883 } | |
| 16884 | |
| 16885 // wrapper function for command vkGetImageMemoryRequirements2, see | |
| 16886 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements2.html | |
| 16887 template <typename X, typename Y, typename... Z> | |
| 16888 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> | |
| 16889 Device::getImageMemoryRequirements2( const ImageMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT | |
| 16890 { | |
| 16891 VULKAN_HPP_ASSERT( getDispatcher()->vkGetImageMemoryRequirements2 && | |
| 16892 "Function <vkGetImageMemoryRequirements2> requires <VK_KHR_get_memory_requirements2> or <VK_VERSION_1_1>" ); | |
| 16893 | |
| 16894 StructureChain<X, Y, Z...> structureChain; | |
| 16895 MemoryRequirements2 & memoryRequirements = structureChain.template get<MemoryRequirements2>(); | |
| 16896 getDispatcher()->vkGetImageMemoryRequirements2( static_cast<VkDevice>( m_device ), | |
| 16897 reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>( &info ), | |
| 16898 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); | |
| 16899 | |
| 16900 return structureChain; | |
| 16901 } | |
| 16902 | |
| 16903 // wrapper function for command vkGetBufferMemoryRequirements2, see | |
| 16904 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements2.html | |
| 16905 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 | |
| 16906 Device::getBufferMemoryRequirements2( const BufferMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT | |
| 16907 { | |
| 16908 VULKAN_HPP_ASSERT( getDispatcher()->vkGetBufferMemoryRequirements2 && | |
| 16909 "Function <vkGetBufferMemoryRequirements2> requires <VK_KHR_get_memory_requirements2> or <VK_VERSION_1_1>" ); | |
| 16910 | |
| 16911 MemoryRequirements2 memoryRequirements; | |
| 16912 getDispatcher()->vkGetBufferMemoryRequirements2( static_cast<VkDevice>( m_device ), | |
| 16913 reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>( &info ), | |
| 16914 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); | |
| 16915 | |
| 16916 return memoryRequirements; | |
| 16917 } | |
| 16918 | |
| 16919 // wrapper function for command vkGetBufferMemoryRequirements2, see | |
| 16920 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements2.html | |
| 16921 template <typename X, typename Y, typename... Z> | |
| 16922 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> | |
| 16923 Device::getBufferMemoryRequirements2( const BufferMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT | |
| 16924 { | |
| 16925 VULKAN_HPP_ASSERT( getDispatcher()->vkGetBufferMemoryRequirements2 && | |
| 16926 "Function <vkGetBufferMemoryRequirements2> requires <VK_KHR_get_memory_requirements2> or <VK_VERSION_1_1>" ); | |
| 16927 | |
| 16928 StructureChain<X, Y, Z...> structureChain; | |
| 16929 MemoryRequirements2 & memoryRequirements = structureChain.template get<MemoryRequirements2>(); | |
| 16930 getDispatcher()->vkGetBufferMemoryRequirements2( static_cast<VkDevice>( m_device ), | |
| 16931 reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>( &info ), | |
| 16932 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); | |
| 16933 | |
| 16934 return structureChain; | |
| 16935 } | |
| 16936 | |
| 16937 // wrapper function for command vkGetImageSparseMemoryRequirements2, see | |
| 16938 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements2.html | |
| 16939 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<SparseImageMemoryRequirements2> | |
| 16940 Device::getImageSparseMemoryRequirements2( const ImageSparseMemoryRequirementsInfo2 & info ) const | |
| 16941 { | |
| 16942 VULKAN_HPP_ASSERT( getDispatcher()->vkGetImageSparseMemoryRequirements2 && | |
| 16943 "Function <vkGetImageSparseMemoryRequirements2> requires <VK_KHR_get_memory_requirements2> or <VK_VERSION_1_1>" ); | |
| 16944 | |
| 16945 std::vector<SparseImageMemoryRequirements2> sparseMemoryRequirements; | |
| 16946 uint32_t sparseMemoryRequirementCount; | |
| 16947 getDispatcher()->vkGetImageSparseMemoryRequirements2( | |
| 16948 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ), &sparseMemoryRequirementCount, nullptr ); | |
| 16949 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); | |
| 16950 getDispatcher()->vkGetImageSparseMemoryRequirements2( static_cast<VkDevice>( m_device ), | |
| 16951 reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ), | |
| 16952 &sparseMemoryRequirementCount, | |
| 16953 reinterpret_cast<VkSparseImageMemoryRequirements2 *>( sparseMemoryRequirements.data() ) ); | |
| 16954 | |
| 16955 VULKAN_HPP_ASSERT( sparseMemoryRequirementCount <= sparseMemoryRequirements.size() ); | |
| 16956 if ( sparseMemoryRequirementCount < sparseMemoryRequirements.size() ) | |
| 16957 { | |
| 16958 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); | |
| 16959 } | |
| 16960 return sparseMemoryRequirements; | |
| 16961 } | |
| 16962 | |
| 16963 // wrapper function for command vkGetPhysicalDeviceFeatures2, see | |
| 16964 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures2.html | |
| 16965 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE PhysicalDeviceFeatures2 PhysicalDevice::getFeatures2() const VULKAN_HPP_NOEXCEPT | |
| 16966 { | |
| 16967 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceFeatures2 && | |
| 16968 "Function <vkGetPhysicalDeviceFeatures2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); | |
| 16969 | |
| 16970 PhysicalDeviceFeatures2 features; | |
| 16971 getDispatcher()->vkGetPhysicalDeviceFeatures2( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 16972 reinterpret_cast<VkPhysicalDeviceFeatures2 *>( &features ) ); | |
| 16973 | |
| 16974 return features; | |
| 16975 } | |
| 16976 | |
| 16977 // wrapper function for command vkGetPhysicalDeviceFeatures2, see | |
| 16978 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures2.html | |
| 16979 template <typename X, typename Y, typename... Z> | |
| 16980 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> PhysicalDevice::getFeatures2() const VULKAN_HPP_NOEXCEPT | |
| 16981 { | |
| 16982 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceFeatures2 && | |
| 16983 "Function <vkGetPhysicalDeviceFeatures2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); | |
| 16984 | |
| 16985 StructureChain<X, Y, Z...> structureChain; | |
| 16986 PhysicalDeviceFeatures2 & features = structureChain.template get<PhysicalDeviceFeatures2>(); | |
| 16987 getDispatcher()->vkGetPhysicalDeviceFeatures2( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 16988 reinterpret_cast<VkPhysicalDeviceFeatures2 *>( &features ) ); | |
| 16989 | |
| 16990 return structureChain; | |
| 16991 } | |
| 16992 | |
| 16993 // wrapper function for command vkGetPhysicalDeviceProperties2, see | |
| 16994 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties2.html | |
| 16995 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE PhysicalDeviceProperties2 PhysicalDevice::getProperties2() const VULKAN_HPP_NOEXCEPT | |
| 16996 { | |
| 16997 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceProperties2 && | |
| 16998 "Function <vkGetPhysicalDeviceProperties2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); | |
| 16999 | |
| 17000 PhysicalDeviceProperties2 properties; | |
| 17001 getDispatcher()->vkGetPhysicalDeviceProperties2( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 17002 reinterpret_cast<VkPhysicalDeviceProperties2 *>( &properties ) ); | |
| 17003 | |
| 17004 return properties; | |
| 17005 } | |
| 17006 | |
| 17007 // wrapper function for command vkGetPhysicalDeviceProperties2, see | |
| 17008 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties2.html | |
| 17009 template <typename X, typename Y, typename... Z> | |
| 17010 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> PhysicalDevice::getProperties2() const VULKAN_HPP_NOEXCEPT | |
| 17011 { | |
| 17012 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceProperties2 && | |
| 17013 "Function <vkGetPhysicalDeviceProperties2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); | |
| 17014 | |
| 17015 StructureChain<X, Y, Z...> structureChain; | |
| 17016 PhysicalDeviceProperties2 & properties = structureChain.template get<PhysicalDeviceProperties2>(); | |
| 17017 getDispatcher()->vkGetPhysicalDeviceProperties2( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 17018 reinterpret_cast<VkPhysicalDeviceProperties2 *>( &properties ) ); | |
| 17019 | |
| 17020 return structureChain; | |
| 17021 } | |
| 17022 | |
| 17023 // wrapper function for command vkGetPhysicalDeviceFormatProperties2, see | |
| 17024 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties2.html | |
| 17025 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE FormatProperties2 PhysicalDevice::getFormatProperties2( Format format ) const VULKAN_HPP_NOEXCEPT | |
| 17026 { | |
| 17027 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceFormatProperties2 && | |
| 17028 "Function <vkGetPhysicalDeviceFormatProperties2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); | |
| 17029 | |
| 17030 FormatProperties2 formatProperties; | |
| 17031 getDispatcher()->vkGetPhysicalDeviceFormatProperties2( | |
| 17032 static_cast<VkPhysicalDevice>( m_physicalDevice ), static_cast<VkFormat>( format ), reinterpret_cast<VkFormatProperties2 *>( &formatProperties ) ); | |
| 17033 | |
| 17034 return formatProperties; | |
| 17035 } | |
| 17036 | |
| 17037 // wrapper function for command vkGetPhysicalDeviceFormatProperties2, see | |
| 17038 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties2.html | |
| 17039 template <typename X, typename Y, typename... Z> | |
| 17040 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> PhysicalDevice::getFormatProperties2( Format format ) const VULKAN_HPP_NOEXCEPT | |
| 17041 { | |
| 17042 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceFormatProperties2 && | |
| 17043 "Function <vkGetPhysicalDeviceFormatProperties2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); | |
| 17044 | |
| 17045 StructureChain<X, Y, Z...> structureChain; | |
| 17046 FormatProperties2 & formatProperties = structureChain.template get<FormatProperties2>(); | |
| 17047 getDispatcher()->vkGetPhysicalDeviceFormatProperties2( | |
| 17048 static_cast<VkPhysicalDevice>( m_physicalDevice ), static_cast<VkFormat>( format ), reinterpret_cast<VkFormatProperties2 *>( &formatProperties ) ); | |
| 17049 | |
| 17050 return structureChain; | |
| 17051 } | |
| 17052 | |
| 17053 // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2, see | |
| 17054 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2.html | |
| 17055 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getImageFormatProperties2( | |
| 17056 const PhysicalDeviceImageFormatInfo2 * pImageFormatInfo, ImageFormatProperties2 * pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT | |
| 17057 { | |
| 17058 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2 && | |
| 17059 "Function <vkGetPhysicalDeviceImageFormatProperties2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); | |
| 17060 return static_cast<Result>( | |
| 17061 getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 17062 reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>( pImageFormatInfo ), | |
| 17063 reinterpret_cast<VkImageFormatProperties2 *>( pImageFormatProperties ) ) ); | |
| 17064 } | |
| 17065 | |
| 17066 // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2, see | |
| 17067 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2.html | |
| 17068 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<ImageFormatProperties2>::type | |
| 17069 PhysicalDevice::getImageFormatProperties2( const PhysicalDeviceImageFormatInfo2 & imageFormatInfo ) const | |
| 17070 { | |
| 17071 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2 && | |
| 17072 "Function <vkGetPhysicalDeviceImageFormatProperties2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); | |
| 17073 | |
| 17074 ImageFormatProperties2 imageFormatProperties; | |
| 17075 Result result = static_cast<Result>( | |
| 17076 getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 17077 reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>( &imageFormatInfo ), | |
| 17078 reinterpret_cast<VkImageFormatProperties2 *>( &imageFormatProperties ) ) ); | |
| 17079 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2" ); | |
| 17080 | |
| 17081 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( imageFormatProperties ) ); | |
| 17082 } | |
| 17083 | |
| 17084 // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2, see | |
| 17085 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2.html | |
| 17086 template <typename X, typename Y, typename... Z> | |
| 17087 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<StructureChain<X, Y, Z...>>::type | |
| 17088 PhysicalDevice::getImageFormatProperties2( const PhysicalDeviceImageFormatInfo2 & imageFormatInfo ) const | |
| 17089 { | |
| 17090 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2 && | |
| 17091 "Function <vkGetPhysicalDeviceImageFormatProperties2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); | |
| 17092 | |
| 17093 StructureChain<X, Y, Z...> structureChain; | |
| 17094 ImageFormatProperties2 & imageFormatProperties = structureChain.template get<ImageFormatProperties2>(); | |
| 17095 Result result = static_cast<Result>( | |
| 17096 getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 17097 reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>( &imageFormatInfo ), | |
| 17098 reinterpret_cast<VkImageFormatProperties2 *>( &imageFormatProperties ) ) ); | |
| 17099 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2" ); | |
| 17100 | |
| 17101 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChain ) ); | |
| 17102 } | |
| 17103 | |
| 17104 // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2, see | |
| 17105 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2.html | |
| 17106 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<QueueFamilyProperties2> PhysicalDevice::getQueueFamilyProperties2() const | |
| 17107 { | |
| 17108 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2 && | |
| 17109 "Function <vkGetPhysicalDeviceQueueFamilyProperties2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); | |
| 17110 | |
| 17111 std::vector<QueueFamilyProperties2> queueFamilyProperties; | |
| 17112 uint32_t queueFamilyPropertyCount; | |
| 17113 getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2( static_cast<VkPhysicalDevice>( m_physicalDevice ), &queueFamilyPropertyCount, nullptr ); | |
| 17114 queueFamilyProperties.resize( queueFamilyPropertyCount ); | |
| 17115 getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 17116 &queueFamilyPropertyCount, | |
| 17117 reinterpret_cast<VkQueueFamilyProperties2 *>( queueFamilyProperties.data() ) ); | |
| 17118 | |
| 17119 VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); | |
| 17120 if ( queueFamilyPropertyCount < queueFamilyProperties.size() ) | |
| 17121 { | |
| 17122 queueFamilyProperties.resize( queueFamilyPropertyCount ); | |
| 17123 } | |
| 17124 return queueFamilyProperties; | |
| 17125 } | |
| 17126 | |
| 17127 // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2, see | |
| 17128 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2.html | |
| 17129 template <typename StructureChain> | |
| 17130 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<StructureChain> PhysicalDevice::getQueueFamilyProperties2() const | |
| 17131 { | |
| 17132 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2 && | |
| 17133 "Function <vkGetPhysicalDeviceQueueFamilyProperties2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); | |
| 17134 | |
| 17135 std::vector<StructureChain> structureChains; | |
| 17136 std::vector<QueueFamilyProperties2> queueFamilyProperties; | |
| 17137 uint32_t queueFamilyPropertyCount; | |
| 17138 getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2( static_cast<VkPhysicalDevice>( m_physicalDevice ), &queueFamilyPropertyCount, nullptr ); | |
| 17139 structureChains.resize( queueFamilyPropertyCount ); | |
| 17140 queueFamilyProperties.resize( queueFamilyPropertyCount ); | |
| 17141 for ( uint32_t i = 0; i < queueFamilyPropertyCount; i++ ) | |
| 17142 { | |
| 17143 queueFamilyProperties[i].pNext = structureChains[i].template get<QueueFamilyProperties2>().pNext; | |
| 17144 } | |
| 17145 getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 17146 &queueFamilyPropertyCount, | |
| 17147 reinterpret_cast<VkQueueFamilyProperties2 *>( queueFamilyProperties.data() ) ); | |
| 17148 | |
| 17149 VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); | |
| 17150 if ( queueFamilyPropertyCount < queueFamilyProperties.size() ) | |
| 17151 { | |
| 17152 structureChains.resize( queueFamilyPropertyCount ); | |
| 17153 } | |
| 17154 for ( uint32_t i = 0; i < queueFamilyPropertyCount; i++ ) | |
| 17155 { | |
| 17156 structureChains[i].template get<QueueFamilyProperties2>() = queueFamilyProperties[i]; | |
| 17157 } | |
| 17158 return structureChains; | |
| 17159 } | |
| 17160 | |
| 17161 // wrapper function for command vkGetPhysicalDeviceMemoryProperties2, see | |
| 17162 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties2.html | |
| 17163 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE PhysicalDeviceMemoryProperties2 PhysicalDevice::getMemoryProperties2() const VULKAN_HPP_NOEXCEPT | |
| 17164 { | |
| 17165 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceMemoryProperties2 && | |
| 17166 "Function <vkGetPhysicalDeviceMemoryProperties2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); | |
| 17167 | |
| 17168 PhysicalDeviceMemoryProperties2 memoryProperties; | |
| 17169 getDispatcher()->vkGetPhysicalDeviceMemoryProperties2( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 17170 reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>( &memoryProperties ) ); | |
| 17171 | |
| 17172 return memoryProperties; | |
| 17173 } | |
| 17174 | |
| 17175 // wrapper function for command vkGetPhysicalDeviceMemoryProperties2, see | |
| 17176 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties2.html | |
| 17177 template <typename X, typename Y, typename... Z> | |
| 17178 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> PhysicalDevice::getMemoryProperties2() const VULKAN_HPP_NOEXCEPT | |
| 17179 { | |
| 17180 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceMemoryProperties2 && | |
| 17181 "Function <vkGetPhysicalDeviceMemoryProperties2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); | |
| 17182 | |
| 17183 StructureChain<X, Y, Z...> structureChain; | |
| 17184 PhysicalDeviceMemoryProperties2 & memoryProperties = structureChain.template get<PhysicalDeviceMemoryProperties2>(); | |
| 17185 getDispatcher()->vkGetPhysicalDeviceMemoryProperties2( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 17186 reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>( &memoryProperties ) ); | |
| 17187 | |
| 17188 return structureChain; | |
| 17189 } | |
| 17190 | |
| 17191 // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties2, see | |
| 17192 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2.html | |
| 17193 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<SparseImageFormatProperties2> | |
| 17194 PhysicalDevice::getSparseImageFormatProperties2( const PhysicalDeviceSparseImageFormatInfo2 & formatInfo ) const | |
| 17195 { | |
| 17196 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties2 && | |
| 17197 "Function <vkGetPhysicalDeviceSparseImageFormatProperties2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); | |
| 17198 | |
| 17199 std::vector<SparseImageFormatProperties2> properties; | |
| 17200 uint32_t propertyCount; | |
| 17201 getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties2( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 17202 reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ), | |
| 17203 &propertyCount, | |
| 17204 nullptr ); | |
| 17205 properties.resize( propertyCount ); | |
| 17206 getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties2( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 17207 reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ), | |
| 17208 &propertyCount, | |
| 17209 reinterpret_cast<VkSparseImageFormatProperties2 *>( properties.data() ) ); | |
| 17210 | |
| 17211 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); | |
| 17212 if ( propertyCount < properties.size() ) | |
| 17213 { | |
| 17214 properties.resize( propertyCount ); | |
| 17215 } | |
| 17216 return properties; | |
| 17217 } | |
| 17218 | |
| 17219 // wrapper function for command vkTrimCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTrimCommandPool.html | |
| 17220 VULKAN_HPP_INLINE void CommandPool::trim( CommandPoolTrimFlags flags ) const VULKAN_HPP_NOEXCEPT | |
| 17221 { | |
| 17222 VULKAN_HPP_ASSERT( getDispatcher()->vkTrimCommandPool && "Function <vkTrimCommandPool> requires <VK_KHR_maintenance1> or <VK_VERSION_1_1>" ); | |
| 17223 | |
| 17224 getDispatcher()->vkTrimCommandPool( | |
| 17225 static_cast<VkDevice>( m_device ), static_cast<VkCommandPool>( m_commandPool ), static_cast<VkCommandPoolTrimFlags>( flags ) ); | |
| 17226 } | |
| 17227 | |
| 17228 // wrapper function for command vkGetDeviceQueue2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceQueue2.html | |
| 17229 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Queue Device::getQueue2( DeviceQueueInfo2 const & queueInfo ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 17230 { | |
| 17231 VULKAN_HPP_NAMESPACE::Queue queue; | |
| 17232 getDispatcher()->vkGetDeviceQueue2( | |
| 17233 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkDeviceQueueInfo2 *>( &queueInfo ), reinterpret_cast<VkQueue *>( &queue ) ); | |
| 17234 | |
| 17235 return Queue( *this, *reinterpret_cast<VkQueue *>( &queue ) ); | |
| 17236 } | |
| 17237 | |
| 17238 // wrapper function for command vkGetPhysicalDeviceExternalBufferProperties, see | |
| 17239 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalBufferProperties.html | |
| 17240 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ExternalBufferProperties | |
| 17241 PhysicalDevice::getExternalBufferProperties( const PhysicalDeviceExternalBufferInfo & externalBufferInfo ) const VULKAN_HPP_NOEXCEPT | |
| 17242 { | |
| 17243 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceExternalBufferProperties && | |
| 17244 "Function <vkGetPhysicalDeviceExternalBufferProperties> requires <VK_KHR_external_memory_capabilities> or <VK_VERSION_1_1>" ); | |
| 17245 | |
| 17246 ExternalBufferProperties externalBufferProperties; | |
| 17247 getDispatcher()->vkGetPhysicalDeviceExternalBufferProperties( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 17248 reinterpret_cast<const VkPhysicalDeviceExternalBufferInfo *>( &externalBufferInfo ), | |
| 17249 reinterpret_cast<VkExternalBufferProperties *>( &externalBufferProperties ) ); | |
| 17250 | |
| 17251 return externalBufferProperties; | |
| 17252 } | |
| 17253 | |
| 17254 // wrapper function for command vkGetPhysicalDeviceExternalFenceProperties, see | |
| 17255 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalFenceProperties.html | |
| 17256 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ExternalFenceProperties | |
| 17257 PhysicalDevice::getExternalFenceProperties( const PhysicalDeviceExternalFenceInfo & externalFenceInfo ) const VULKAN_HPP_NOEXCEPT | |
| 17258 { | |
| 17259 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceExternalFenceProperties && | |
| 17260 "Function <vkGetPhysicalDeviceExternalFenceProperties> requires <VK_KHR_external_fence_capabilities> or <VK_VERSION_1_1>" ); | |
| 17261 | |
| 17262 ExternalFenceProperties externalFenceProperties; | |
| 17263 getDispatcher()->vkGetPhysicalDeviceExternalFenceProperties( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 17264 reinterpret_cast<const VkPhysicalDeviceExternalFenceInfo *>( &externalFenceInfo ), | |
| 17265 reinterpret_cast<VkExternalFenceProperties *>( &externalFenceProperties ) ); | |
| 17266 | |
| 17267 return externalFenceProperties; | |
| 17268 } | |
| 17269 | |
| 17270 // wrapper function for command vkGetPhysicalDeviceExternalSemaphoreProperties, see | |
| 17271 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalSemaphoreProperties.html | |
| 17272 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ExternalSemaphoreProperties | |
| 17273 PhysicalDevice::getExternalSemaphoreProperties( const PhysicalDeviceExternalSemaphoreInfo & externalSemaphoreInfo ) const VULKAN_HPP_NOEXCEPT | |
| 17274 { | |
| 17275 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceExternalSemaphoreProperties && | |
| 17276 "Function <vkGetPhysicalDeviceExternalSemaphoreProperties> requires <VK_KHR_external_semaphore_capabilities> or <VK_VERSION_1_1>" ); | |
| 17277 | |
| 17278 ExternalSemaphoreProperties externalSemaphoreProperties; | |
| 17279 getDispatcher()->vkGetPhysicalDeviceExternalSemaphoreProperties( | |
| 17280 static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 17281 reinterpret_cast<const VkPhysicalDeviceExternalSemaphoreInfo *>( &externalSemaphoreInfo ), | |
| 17282 reinterpret_cast<VkExternalSemaphoreProperties *>( &externalSemaphoreProperties ) ); | |
| 17283 | |
| 17284 return externalSemaphoreProperties; | |
| 17285 } | |
| 17286 | |
| 17287 // wrapper function for command vkCmdDispatchBase, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchBase.html | |
| 17288 VULKAN_HPP_INLINE void CommandBuffer::dispatchBase( uint32_t baseGroupX, | |
| 17289 uint32_t baseGroupY, | |
| 17290 uint32_t baseGroupZ, | |
| 17291 uint32_t groupCountX, | |
| 17292 uint32_t groupCountY, | |
| 17293 uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT | |
| 17294 { | |
| 17295 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDispatchBase && "Function <vkCmdDispatchBase> requires <VK_KHR_device_group> or <VK_VERSION_1_1>" ); | |
| 17296 | |
| 17297 getDispatcher()->vkCmdDispatchBase( | |
| 17298 static_cast<VkCommandBuffer>( m_commandBuffer ), baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ ); | |
| 17299 } | |
| 17300 | |
| 17301 // wrapper function for command vkCreateDescriptorUpdateTemplate, see | |
| 17302 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorUpdateTemplate.html | |
| 17303 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DescriptorUpdateTemplate>::type | |
| 17304 Device::createDescriptorUpdateTemplate( DescriptorUpdateTemplateCreateInfo const & createInfo, | |
| 17305 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 17306 { | |
| 17307 VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate; | |
| 17308 Result result = | |
| 17309 static_cast<Result>( getDispatcher()->vkCreateDescriptorUpdateTemplate( static_cast<VkDevice>( m_device ), | |
| 17310 reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo *>( &createInfo ), | |
| 17311 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 17312 reinterpret_cast<VkDescriptorUpdateTemplate *>( &descriptorUpdateTemplate ) ) ); | |
| 17313 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createDescriptorUpdateTemplate" ); | |
| 17314 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( | |
| 17315 result, DescriptorUpdateTemplate( *this, *reinterpret_cast<VkDescriptorUpdateTemplate *>( &descriptorUpdateTemplate ), allocator ) ); | |
| 17316 } | |
| 17317 | |
| 17318 // wrapper function for command vkUpdateDescriptorSetWithTemplate, see | |
| 17319 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateDescriptorSetWithTemplate.html | |
| 17320 template <typename DataType> | |
| 17321 VULKAN_HPP_INLINE void DescriptorSet::updateWithTemplate( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, | |
| 17322 DataType const & data ) const VULKAN_HPP_NOEXCEPT | |
| 17323 { | |
| 17324 VULKAN_HPP_ASSERT( getDispatcher()->vkUpdateDescriptorSetWithTemplate && | |
| 17325 "Function <vkUpdateDescriptorSetWithTemplate> requires <VK_KHR_descriptor_update_template> or <VK_VERSION_1_1>" ); | |
| 17326 | |
| 17327 getDispatcher()->vkUpdateDescriptorSetWithTemplate( static_cast<VkDevice>( m_device ), | |
| 17328 static_cast<VkDescriptorSet>( m_descriptorSet ), | |
| 17329 static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), | |
| 17330 reinterpret_cast<const void *>( &data ) ); | |
| 17331 } | |
| 17332 | |
| 17333 // wrapper function for command vkGetDescriptorSetLayoutSupport, see | |
| 17334 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSupport.html | |
| 17335 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE DescriptorSetLayoutSupport | |
| 17336 Device::getDescriptorSetLayoutSupport( const DescriptorSetLayoutCreateInfo & createInfo ) const VULKAN_HPP_NOEXCEPT | |
| 17337 { | |
| 17338 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDescriptorSetLayoutSupport && | |
| 17339 "Function <vkGetDescriptorSetLayoutSupport> requires <VK_KHR_maintenance3> or <VK_VERSION_1_1>" ); | |
| 17340 | |
| 17341 DescriptorSetLayoutSupport support; | |
| 17342 getDispatcher()->vkGetDescriptorSetLayoutSupport( static_cast<VkDevice>( m_device ), | |
| 17343 reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( &createInfo ), | |
| 17344 reinterpret_cast<VkDescriptorSetLayoutSupport *>( &support ) ); | |
| 17345 | |
| 17346 return support; | |
| 17347 } | |
| 17348 | |
| 17349 // wrapper function for command vkGetDescriptorSetLayoutSupport, see | |
| 17350 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSupport.html | |
| 17351 template <typename X, typename Y, typename... Z> | |
| 17352 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> | |
| 17353 Device::getDescriptorSetLayoutSupport( const DescriptorSetLayoutCreateInfo & createInfo ) const VULKAN_HPP_NOEXCEPT | |
| 17354 { | |
| 17355 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDescriptorSetLayoutSupport && | |
| 17356 "Function <vkGetDescriptorSetLayoutSupport> requires <VK_KHR_maintenance3> or <VK_VERSION_1_1>" ); | |
| 17357 | |
| 17358 StructureChain<X, Y, Z...> structureChain; | |
| 17359 DescriptorSetLayoutSupport & support = structureChain.template get<DescriptorSetLayoutSupport>(); | |
| 17360 getDispatcher()->vkGetDescriptorSetLayoutSupport( static_cast<VkDevice>( m_device ), | |
| 17361 reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( &createInfo ), | |
| 17362 reinterpret_cast<VkDescriptorSetLayoutSupport *>( &support ) ); | |
| 17363 | |
| 17364 return structureChain; | |
| 17365 } | |
| 17366 | |
| 17367 // wrapper function for command vkCreateSamplerYcbcrConversion, see | |
| 17368 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSamplerYcbcrConversion.html | |
| 17369 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<SamplerYcbcrConversion>::type | |
| 17370 Device::createSamplerYcbcrConversion( SamplerYcbcrConversionCreateInfo const & createInfo, | |
| 17371 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 17372 { | |
| 17373 VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion; | |
| 17374 Result result = | |
| 17375 static_cast<Result>( getDispatcher()->vkCreateSamplerYcbcrConversion( static_cast<VkDevice>( m_device ), | |
| 17376 reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo *>( &createInfo ), | |
| 17377 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 17378 reinterpret_cast<VkSamplerYcbcrConversion *>( &ycbcrConversion ) ) ); | |
| 17379 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createSamplerYcbcrConversion" ); | |
| 17380 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( | |
| 17381 result, SamplerYcbcrConversion( *this, *reinterpret_cast<VkSamplerYcbcrConversion *>( &ycbcrConversion ), allocator ) ); | |
| 17382 } | |
| 17383 | |
| 17384 //=== VK_VERSION_1_2 === | |
| 17385 | |
| 17386 // wrapper function for command vkResetQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetQueryPool.html | |
| 17387 VULKAN_HPP_INLINE void QueryPool::reset( uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT | |
| 17388 { | |
| 17389 VULKAN_HPP_ASSERT( getDispatcher()->vkResetQueryPool && "Function <vkResetQueryPool> requires <VK_EXT_host_query_reset> or <VK_VERSION_1_2>" ); | |
| 17390 | |
| 17391 getDispatcher()->vkResetQueryPool( static_cast<VkDevice>( m_device ), static_cast<VkQueryPool>( m_queryPool ), firstQuery, queryCount ); | |
| 17392 } | |
| 17393 | |
| 17394 // wrapper function for command vkGetSemaphoreCounterValue, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreCounterValue.html | |
| 17395 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<uint64_t>::type Semaphore::getCounterValue() const | |
| 17396 { | |
| 17397 VULKAN_HPP_ASSERT( getDispatcher()->vkGetSemaphoreCounterValue && | |
| 17398 "Function <vkGetSemaphoreCounterValue> requires <VK_KHR_timeline_semaphore> or <VK_VERSION_1_2>" ); | |
| 17399 | |
| 17400 uint64_t value; | |
| 17401 Result result = static_cast<Result>( | |
| 17402 getDispatcher()->vkGetSemaphoreCounterValue( static_cast<VkDevice>( m_device ), static_cast<VkSemaphore>( m_semaphore ), &value ) ); | |
| 17403 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Semaphore::getCounterValue" ); | |
| 17404 | |
| 17405 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( value ) ); | |
| 17406 } | |
| 17407 | |
| 17408 // wrapper function for command vkWaitSemaphores, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitSemaphores.html | |
| 17409 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::waitSemaphores( const SemaphoreWaitInfo & waitInfo, uint64_t timeout ) const | |
| 17410 { | |
| 17411 VULKAN_HPP_ASSERT( getDispatcher()->vkWaitSemaphores && "Function <vkWaitSemaphores> requires <VK_KHR_timeline_semaphore> or <VK_VERSION_1_2>" ); | |
| 17412 | |
| 17413 Result result = static_cast<Result>( | |
| 17414 getDispatcher()->vkWaitSemaphores( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSemaphoreWaitInfo *>( &waitInfo ), timeout ) ); | |
| 17415 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::waitSemaphores", { Result::eSuccess, Result::eTimeout } ); | |
| 17416 | |
| 17417 return static_cast<Result>( result ); | |
| 17418 } | |
| 17419 | |
| 17420 // wrapper function for command vkSignalSemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSignalSemaphore.html | |
| 17421 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::signalSemaphore( const SemaphoreSignalInfo & signalInfo ) const | |
| 17422 { | |
| 17423 VULKAN_HPP_ASSERT( getDispatcher()->vkSignalSemaphore && "Function <vkSignalSemaphore> requires <VK_KHR_timeline_semaphore> or <VK_VERSION_1_2>" ); | |
| 17424 | |
| 17425 Result result = static_cast<Result>( | |
| 17426 getDispatcher()->vkSignalSemaphore( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSemaphoreSignalInfo *>( &signalInfo ) ) ); | |
| 17427 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::signalSemaphore" ); | |
| 17428 | |
| 17429 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 17430 } | |
| 17431 | |
| 17432 // wrapper function for command vkGetBufferDeviceAddress, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferDeviceAddress.html | |
| 17433 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE DeviceAddress Device::getBufferAddress( const BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT | |
| 17434 { | |
| 17435 VULKAN_HPP_ASSERT( getDispatcher()->vkGetBufferDeviceAddress && | |
| 17436 "Function <vkGetBufferDeviceAddress> requires <VK_EXT_buffer_device_address> or <VK_KHR_buffer_device_address> or <VK_VERSION_1_2>" ); | |
| 17437 | |
| 17438 VkDeviceAddress result = | |
| 17439 getDispatcher()->vkGetBufferDeviceAddress( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkBufferDeviceAddressInfo *>( &info ) ); | |
| 17440 | |
| 17441 return static_cast<DeviceAddress>( result ); | |
| 17442 } | |
| 17443 | |
| 17444 // wrapper function for command vkGetBufferOpaqueCaptureAddress, see | |
| 17445 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferOpaqueCaptureAddress.html | |
| 17446 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t Device::getBufferOpaqueCaptureAddress( const BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT | |
| 17447 { | |
| 17448 VULKAN_HPP_ASSERT( getDispatcher()->vkGetBufferOpaqueCaptureAddress && | |
| 17449 "Function <vkGetBufferOpaqueCaptureAddress> requires <VK_KHR_buffer_device_address> or <VK_VERSION_1_2>" ); | |
| 17450 | |
| 17451 uint64_t result = | |
| 17452 getDispatcher()->vkGetBufferOpaqueCaptureAddress( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkBufferDeviceAddressInfo *>( &info ) ); | |
| 17453 | |
| 17454 return result; | |
| 17455 } | |
| 17456 | |
| 17457 // wrapper function for command vkGetDeviceMemoryOpaqueCaptureAddress, see | |
| 17458 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMemoryOpaqueCaptureAddress.html | |
| 17459 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t | |
| 17460 Device::getMemoryOpaqueCaptureAddress( const DeviceMemoryOpaqueCaptureAddressInfo & info ) const VULKAN_HPP_NOEXCEPT | |
| 17461 { | |
| 17462 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceMemoryOpaqueCaptureAddress && | |
| 17463 "Function <vkGetDeviceMemoryOpaqueCaptureAddress> requires <VK_KHR_buffer_device_address> or <VK_VERSION_1_2>" ); | |
| 17464 | |
| 17465 uint64_t result = getDispatcher()->vkGetDeviceMemoryOpaqueCaptureAddress( static_cast<VkDevice>( m_device ), | |
| 17466 reinterpret_cast<const VkDeviceMemoryOpaqueCaptureAddressInfo *>( &info ) ); | |
| 17467 | |
| 17468 return result; | |
| 17469 } | |
| 17470 | |
| 17471 // wrapper function for command vkCmdDrawIndirectCount, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectCount.html | |
| 17472 VULKAN_HPP_INLINE void CommandBuffer::drawIndirectCount( VULKAN_HPP_NAMESPACE::Buffer buffer, | |
| 17473 DeviceSize offset, | |
| 17474 VULKAN_HPP_NAMESPACE::Buffer countBuffer, | |
| 17475 DeviceSize countBufferOffset, | |
| 17476 uint32_t maxDrawCount, | |
| 17477 uint32_t stride ) const VULKAN_HPP_NOEXCEPT | |
| 17478 { | |
| 17479 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDrawIndirectCount && | |
| 17480 "Function <vkCmdDrawIndirectCount> requires <VK_AMD_draw_indirect_count> or <VK_KHR_draw_indirect_count> or <VK_VERSION_1_2>" ); | |
| 17481 | |
| 17482 getDispatcher()->vkCmdDrawIndirectCount( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 17483 static_cast<VkBuffer>( buffer ), | |
| 17484 static_cast<VkDeviceSize>( offset ), | |
| 17485 static_cast<VkBuffer>( countBuffer ), | |
| 17486 static_cast<VkDeviceSize>( countBufferOffset ), | |
| 17487 maxDrawCount, | |
| 17488 stride ); | |
| 17489 } | |
| 17490 | |
| 17491 // wrapper function for command vkCmdDrawIndexedIndirectCount, see | |
| 17492 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexedIndirectCount.html | |
| 17493 VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirectCount( VULKAN_HPP_NAMESPACE::Buffer buffer, | |
| 17494 DeviceSize offset, | |
| 17495 VULKAN_HPP_NAMESPACE::Buffer countBuffer, | |
| 17496 DeviceSize countBufferOffset, | |
| 17497 uint32_t maxDrawCount, | |
| 17498 uint32_t stride ) const VULKAN_HPP_NOEXCEPT | |
| 17499 { | |
| 17500 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDrawIndexedIndirectCount && | |
| 17501 "Function <vkCmdDrawIndexedIndirectCount> requires <VK_AMD_draw_indirect_count> or <VK_KHR_draw_indirect_count> or <VK_VERSION_1_2>" ); | |
| 17502 | |
| 17503 getDispatcher()->vkCmdDrawIndexedIndirectCount( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 17504 static_cast<VkBuffer>( buffer ), | |
| 17505 static_cast<VkDeviceSize>( offset ), | |
| 17506 static_cast<VkBuffer>( countBuffer ), | |
| 17507 static_cast<VkDeviceSize>( countBufferOffset ), | |
| 17508 maxDrawCount, | |
| 17509 stride ); | |
| 17510 } | |
| 17511 | |
| 17512 // wrapper function for command vkCreateRenderPass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass2.html | |
| 17513 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<RenderPass>::type | |
| 17514 Device::createRenderPass2( RenderPassCreateInfo2 const & createInfo, | |
| 17515 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 17516 { | |
| 17517 VULKAN_HPP_NAMESPACE::RenderPass renderPass; | |
| 17518 Result result = static_cast<Result>( getDispatcher()->vkCreateRenderPass2( static_cast<VkDevice>( m_device ), | |
| 17519 reinterpret_cast<const VkRenderPassCreateInfo2 *>( &createInfo ), | |
| 17520 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 17521 reinterpret_cast<VkRenderPass *>( &renderPass ) ) ); | |
| 17522 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createRenderPass2" ); | |
| 17523 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, RenderPass( *this, *reinterpret_cast<VkRenderPass *>( &renderPass ), allocator ) ); | |
| 17524 } | |
| 17525 | |
| 17526 // wrapper function for command vkCmdBeginRenderPass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderPass2.html | |
| 17527 VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass2( const RenderPassBeginInfo & renderPassBegin, | |
| 17528 const SubpassBeginInfo & subpassBeginInfo ) const VULKAN_HPP_NOEXCEPT | |
| 17529 { | |
| 17530 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBeginRenderPass2 && | |
| 17531 "Function <vkCmdBeginRenderPass2> requires <VK_KHR_create_renderpass2> or <VK_VERSION_1_2>" ); | |
| 17532 | |
| 17533 getDispatcher()->vkCmdBeginRenderPass2( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 17534 reinterpret_cast<const VkRenderPassBeginInfo *>( &renderPassBegin ), | |
| 17535 reinterpret_cast<const VkSubpassBeginInfo *>( &subpassBeginInfo ) ); | |
| 17536 } | |
| 17537 | |
| 17538 // wrapper function for command vkCmdNextSubpass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdNextSubpass2.html | |
| 17539 VULKAN_HPP_INLINE void CommandBuffer::nextSubpass2( const SubpassBeginInfo & subpassBeginInfo, | |
| 17540 const SubpassEndInfo & subpassEndInfo ) const VULKAN_HPP_NOEXCEPT | |
| 17541 { | |
| 17542 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdNextSubpass2 && "Function <vkCmdNextSubpass2> requires <VK_KHR_create_renderpass2> or <VK_VERSION_1_2>" ); | |
| 17543 | |
| 17544 getDispatcher()->vkCmdNextSubpass2( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 17545 reinterpret_cast<const VkSubpassBeginInfo *>( &subpassBeginInfo ), | |
| 17546 reinterpret_cast<const VkSubpassEndInfo *>( &subpassEndInfo ) ); | |
| 17547 } | |
| 17548 | |
| 17549 // wrapper function for command vkCmdEndRenderPass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRenderPass2.html | |
| 17550 VULKAN_HPP_INLINE void CommandBuffer::endRenderPass2( const SubpassEndInfo & subpassEndInfo ) const VULKAN_HPP_NOEXCEPT | |
| 17551 { | |
| 17552 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdEndRenderPass2 && "Function <vkCmdEndRenderPass2> requires <VK_KHR_create_renderpass2> or <VK_VERSION_1_2>" ); | |
| 17553 | |
| 17554 getDispatcher()->vkCmdEndRenderPass2( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkSubpassEndInfo *>( &subpassEndInfo ) ); | |
| 17555 } | |
| 17556 | |
| 17557 //=== VK_VERSION_1_3 === | |
| 17558 | |
| 17559 // wrapper function for command vkGetPhysicalDeviceToolProperties, see | |
| 17560 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceToolProperties.html | |
| 17561 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<PhysicalDeviceToolProperties>>::type PhysicalDevice::getToolProperties() const | |
| 17562 { | |
| 17563 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceToolProperties && | |
| 17564 "Function <vkGetPhysicalDeviceToolProperties> requires <VK_EXT_tooling_info> or <VK_VERSION_1_3>" ); | |
| 17565 | |
| 17566 std::vector<PhysicalDeviceToolProperties> toolProperties; | |
| 17567 uint32_t toolCount; | |
| 17568 Result result; | |
| 17569 do | |
| 17570 { | |
| 17571 result = | |
| 17572 static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceToolProperties( static_cast<VkPhysicalDevice>( m_physicalDevice ), &toolCount, nullptr ) ); | |
| 17573 if ( ( result == Result::eSuccess ) && toolCount ) | |
| 17574 { | |
| 17575 toolProperties.resize( toolCount ); | |
| 17576 result = static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceToolProperties( | |
| 17577 static_cast<VkPhysicalDevice>( m_physicalDevice ), &toolCount, reinterpret_cast<VkPhysicalDeviceToolProperties *>( toolProperties.data() ) ) ); | |
| 17578 } | |
| 17579 } while ( result == Result::eIncomplete ); | |
| 17580 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getToolProperties" ); | |
| 17581 VULKAN_HPP_ASSERT( toolCount <= toolProperties.size() ); | |
| 17582 if ( toolCount < toolProperties.size() ) | |
| 17583 { | |
| 17584 toolProperties.resize( toolCount ); | |
| 17585 } | |
| 17586 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( toolProperties ) ); | |
| 17587 } | |
| 17588 | |
| 17589 // wrapper function for command vkCreatePrivateDataSlot, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePrivateDataSlot.html | |
| 17590 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<PrivateDataSlot>::type | |
| 17591 Device::createPrivateDataSlot( PrivateDataSlotCreateInfo const & createInfo, | |
| 17592 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 17593 { | |
| 17594 VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot; | |
| 17595 Result result = static_cast<Result>( getDispatcher()->vkCreatePrivateDataSlot( static_cast<VkDevice>( m_device ), | |
| 17596 reinterpret_cast<const VkPrivateDataSlotCreateInfo *>( &createInfo ), | |
| 17597 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 17598 reinterpret_cast<VkPrivateDataSlot *>( &privateDataSlot ) ) ); | |
| 17599 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createPrivateDataSlot" ); | |
| 17600 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( | |
| 17601 result, PrivateDataSlot( *this, *reinterpret_cast<VkPrivateDataSlot *>( &privateDataSlot ), allocator ) ); | |
| 17602 } | |
| 17603 | |
| 17604 // wrapper function for command vkSetPrivateData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetPrivateData.html | |
| 17605 VULKAN_HPP_INLINE typename ResultValueType<void>::type | |
| 17606 Device::setPrivateData( ObjectType objectType_, uint64_t objectHandle, VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot, uint64_t data ) const | |
| 17607 { | |
| 17608 VULKAN_HPP_ASSERT( getDispatcher()->vkSetPrivateData && "Function <vkSetPrivateData> requires <VK_EXT_private_data> or <VK_VERSION_1_3>" ); | |
| 17609 | |
| 17610 Result result = static_cast<Result>( getDispatcher()->vkSetPrivateData( | |
| 17611 static_cast<VkDevice>( m_device ), static_cast<VkObjectType>( objectType_ ), objectHandle, static_cast<VkPrivateDataSlot>( privateDataSlot ), data ) ); | |
| 17612 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::setPrivateData" ); | |
| 17613 | |
| 17614 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 17615 } | |
| 17616 | |
| 17617 // wrapper function for command vkGetPrivateData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPrivateData.html | |
| 17618 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t Device::getPrivateData( ObjectType objectType_, | |
| 17619 uint64_t objectHandle, | |
| 17620 VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot ) const VULKAN_HPP_NOEXCEPT | |
| 17621 { | |
| 17622 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPrivateData && "Function <vkGetPrivateData> requires <VK_EXT_private_data> or <VK_VERSION_1_3>" ); | |
| 17623 | |
| 17624 uint64_t data; | |
| 17625 getDispatcher()->vkGetPrivateData( | |
| 17626 static_cast<VkDevice>( m_device ), static_cast<VkObjectType>( objectType_ ), objectHandle, static_cast<VkPrivateDataSlot>( privateDataSlot ), &data ); | |
| 17627 | |
| 17628 return data; | |
| 17629 } | |
| 17630 | |
| 17631 // wrapper function for command vkCmdPipelineBarrier2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPipelineBarrier2.html | |
| 17632 VULKAN_HPP_INLINE void CommandBuffer::pipelineBarrier2( const DependencyInfo & dependencyInfo ) const VULKAN_HPP_NOEXCEPT | |
| 17633 { | |
| 17634 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdPipelineBarrier2 && "Function <vkCmdPipelineBarrier2> requires <VK_KHR_synchronization2> or <VK_VERSION_1_3>" ); | |
| 17635 | |
| 17636 getDispatcher()->vkCmdPipelineBarrier2( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkDependencyInfo *>( &dependencyInfo ) ); | |
| 17637 } | |
| 17638 | |
| 17639 // wrapper function for command vkCmdWriteTimestamp2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteTimestamp2.html | |
| 17640 VULKAN_HPP_INLINE void | |
| 17641 CommandBuffer::writeTimestamp2( PipelineStageFlags2 stage, VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT | |
| 17642 { | |
| 17643 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdWriteTimestamp2 && "Function <vkCmdWriteTimestamp2> requires <VK_KHR_synchronization2> or <VK_VERSION_1_3>" ); | |
| 17644 | |
| 17645 getDispatcher()->vkCmdWriteTimestamp2( | |
| 17646 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkPipelineStageFlags2>( stage ), static_cast<VkQueryPool>( queryPool ), query ); | |
| 17647 } | |
| 17648 | |
| 17649 // wrapper function for command vkQueueSubmit2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSubmit2.html | |
| 17650 VULKAN_HPP_INLINE typename ResultValueType<void>::type Queue::submit2( ArrayProxy<const SubmitInfo2> const & submits, | |
| 17651 VULKAN_HPP_NAMESPACE::Fence fence ) const | |
| 17652 { | |
| 17653 VULKAN_HPP_ASSERT( getDispatcher()->vkQueueSubmit2 && "Function <vkQueueSubmit2> requires <VK_KHR_synchronization2> or <VK_VERSION_1_3>" ); | |
| 17654 | |
| 17655 Result result = static_cast<Result>( getDispatcher()->vkQueueSubmit2( | |
| 17656 static_cast<VkQueue>( m_queue ), submits.size(), reinterpret_cast<const VkSubmitInfo2 *>( submits.data() ), static_cast<VkFence>( fence ) ) ); | |
| 17657 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Queue::submit2" ); | |
| 17658 | |
| 17659 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 17660 } | |
| 17661 | |
| 17662 // wrapper function for command vkCmdCopyBuffer2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBuffer2.html | |
| 17663 VULKAN_HPP_INLINE void CommandBuffer::copyBuffer2( const CopyBufferInfo2 & copyBufferInfo ) const VULKAN_HPP_NOEXCEPT | |
| 17664 { | |
| 17665 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyBuffer2 && "Function <vkCmdCopyBuffer2> requires <VK_KHR_copy_commands2> or <VK_VERSION_1_3>" ); | |
| 17666 | |
| 17667 getDispatcher()->vkCmdCopyBuffer2( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkCopyBufferInfo2 *>( ©BufferInfo ) ); | |
| 17668 } | |
| 17669 | |
| 17670 // wrapper function for command vkCmdCopyImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImage2.html | |
| 17671 VULKAN_HPP_INLINE void CommandBuffer::copyImage2( const CopyImageInfo2 & copyImageInfo ) const VULKAN_HPP_NOEXCEPT | |
| 17672 { | |
| 17673 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyImage2 && "Function <vkCmdCopyImage2> requires <VK_KHR_copy_commands2> or <VK_VERSION_1_3>" ); | |
| 17674 | |
| 17675 getDispatcher()->vkCmdCopyImage2( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkCopyImageInfo2 *>( ©ImageInfo ) ); | |
| 17676 } | |
| 17677 | |
| 17678 // wrapper function for command vkCmdCopyBufferToImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBufferToImage2.html | |
| 17679 VULKAN_HPP_INLINE void CommandBuffer::copyBufferToImage2( const CopyBufferToImageInfo2 & copyBufferToImageInfo ) const VULKAN_HPP_NOEXCEPT | |
| 17680 { | |
| 17681 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyBufferToImage2 && | |
| 17682 "Function <vkCmdCopyBufferToImage2> requires <VK_KHR_copy_commands2> or <VK_VERSION_1_3>" ); | |
| 17683 | |
| 17684 getDispatcher()->vkCmdCopyBufferToImage2( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 17685 reinterpret_cast<const VkCopyBufferToImageInfo2 *>( ©BufferToImageInfo ) ); | |
| 17686 } | |
| 17687 | |
| 17688 // wrapper function for command vkCmdCopyImageToBuffer2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImageToBuffer2.html | |
| 17689 VULKAN_HPP_INLINE void CommandBuffer::copyImageToBuffer2( const CopyImageToBufferInfo2 & copyImageToBufferInfo ) const VULKAN_HPP_NOEXCEPT | |
| 17690 { | |
| 17691 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyImageToBuffer2 && | |
| 17692 "Function <vkCmdCopyImageToBuffer2> requires <VK_KHR_copy_commands2> or <VK_VERSION_1_3>" ); | |
| 17693 | |
| 17694 getDispatcher()->vkCmdCopyImageToBuffer2( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 17695 reinterpret_cast<const VkCopyImageToBufferInfo2 *>( ©ImageToBufferInfo ) ); | |
| 17696 } | |
| 17697 | |
| 17698 // wrapper function for command vkGetDeviceBufferMemoryRequirements, see | |
| 17699 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceBufferMemoryRequirements.html | |
| 17700 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 | |
| 17701 Device::getBufferMemoryRequirements( const DeviceBufferMemoryRequirements & info ) const VULKAN_HPP_NOEXCEPT | |
| 17702 { | |
| 17703 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceBufferMemoryRequirements && | |
| 17704 "Function <vkGetDeviceBufferMemoryRequirements> requires <VK_KHR_maintenance4> or <VK_VERSION_1_3>" ); | |
| 17705 | |
| 17706 MemoryRequirements2 memoryRequirements; | |
| 17707 getDispatcher()->vkGetDeviceBufferMemoryRequirements( static_cast<VkDevice>( m_device ), | |
| 17708 reinterpret_cast<const VkDeviceBufferMemoryRequirements *>( &info ), | |
| 17709 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); | |
| 17710 | |
| 17711 return memoryRequirements; | |
| 17712 } | |
| 17713 | |
| 17714 // wrapper function for command vkGetDeviceBufferMemoryRequirements, see | |
| 17715 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceBufferMemoryRequirements.html | |
| 17716 template <typename X, typename Y, typename... Z> | |
| 17717 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> | |
| 17718 Device::getBufferMemoryRequirements( const DeviceBufferMemoryRequirements & info ) const VULKAN_HPP_NOEXCEPT | |
| 17719 { | |
| 17720 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceBufferMemoryRequirements && | |
| 17721 "Function <vkGetDeviceBufferMemoryRequirements> requires <VK_KHR_maintenance4> or <VK_VERSION_1_3>" ); | |
| 17722 | |
| 17723 StructureChain<X, Y, Z...> structureChain; | |
| 17724 MemoryRequirements2 & memoryRequirements = structureChain.template get<MemoryRequirements2>(); | |
| 17725 getDispatcher()->vkGetDeviceBufferMemoryRequirements( static_cast<VkDevice>( m_device ), | |
| 17726 reinterpret_cast<const VkDeviceBufferMemoryRequirements *>( &info ), | |
| 17727 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); | |
| 17728 | |
| 17729 return structureChain; | |
| 17730 } | |
| 17731 | |
| 17732 // wrapper function for command vkGetDeviceImageMemoryRequirements, see | |
| 17733 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageMemoryRequirements.html | |
| 17734 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 | |
| 17735 Device::getImageMemoryRequirements( const DeviceImageMemoryRequirements & info ) const VULKAN_HPP_NOEXCEPT | |
| 17736 { | |
| 17737 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceImageMemoryRequirements && | |
| 17738 "Function <vkGetDeviceImageMemoryRequirements> requires <VK_KHR_maintenance4> or <VK_VERSION_1_3>" ); | |
| 17739 | |
| 17740 MemoryRequirements2 memoryRequirements; | |
| 17741 getDispatcher()->vkGetDeviceImageMemoryRequirements( static_cast<VkDevice>( m_device ), | |
| 17742 reinterpret_cast<const VkDeviceImageMemoryRequirements *>( &info ), | |
| 17743 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); | |
| 17744 | |
| 17745 return memoryRequirements; | |
| 17746 } | |
| 17747 | |
| 17748 // wrapper function for command vkGetDeviceImageMemoryRequirements, see | |
| 17749 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageMemoryRequirements.html | |
| 17750 template <typename X, typename Y, typename... Z> | |
| 17751 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> | |
| 17752 Device::getImageMemoryRequirements( const DeviceImageMemoryRequirements & info ) const VULKAN_HPP_NOEXCEPT | |
| 17753 { | |
| 17754 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceImageMemoryRequirements && | |
| 17755 "Function <vkGetDeviceImageMemoryRequirements> requires <VK_KHR_maintenance4> or <VK_VERSION_1_3>" ); | |
| 17756 | |
| 17757 StructureChain<X, Y, Z...> structureChain; | |
| 17758 MemoryRequirements2 & memoryRequirements = structureChain.template get<MemoryRequirements2>(); | |
| 17759 getDispatcher()->vkGetDeviceImageMemoryRequirements( static_cast<VkDevice>( m_device ), | |
| 17760 reinterpret_cast<const VkDeviceImageMemoryRequirements *>( &info ), | |
| 17761 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); | |
| 17762 | |
| 17763 return structureChain; | |
| 17764 } | |
| 17765 | |
| 17766 // wrapper function for command vkGetDeviceImageSparseMemoryRequirements, see | |
| 17767 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSparseMemoryRequirements.html | |
| 17768 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<SparseImageMemoryRequirements2> | |
| 17769 Device::getImageSparseMemoryRequirements( const DeviceImageMemoryRequirements & info ) const | |
| 17770 { | |
| 17771 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceImageSparseMemoryRequirements && | |
| 17772 "Function <vkGetDeviceImageSparseMemoryRequirements> requires <VK_KHR_maintenance4> or <VK_VERSION_1_3>" ); | |
| 17773 | |
| 17774 std::vector<SparseImageMemoryRequirements2> sparseMemoryRequirements; | |
| 17775 uint32_t sparseMemoryRequirementCount; | |
| 17776 getDispatcher()->vkGetDeviceImageSparseMemoryRequirements( | |
| 17777 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkDeviceImageMemoryRequirements *>( &info ), &sparseMemoryRequirementCount, nullptr ); | |
| 17778 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); | |
| 17779 getDispatcher()->vkGetDeviceImageSparseMemoryRequirements( static_cast<VkDevice>( m_device ), | |
| 17780 reinterpret_cast<const VkDeviceImageMemoryRequirements *>( &info ), | |
| 17781 &sparseMemoryRequirementCount, | |
| 17782 reinterpret_cast<VkSparseImageMemoryRequirements2 *>( sparseMemoryRequirements.data() ) ); | |
| 17783 | |
| 17784 VULKAN_HPP_ASSERT( sparseMemoryRequirementCount <= sparseMemoryRequirements.size() ); | |
| 17785 if ( sparseMemoryRequirementCount < sparseMemoryRequirements.size() ) | |
| 17786 { | |
| 17787 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); | |
| 17788 } | |
| 17789 return sparseMemoryRequirements; | |
| 17790 } | |
| 17791 | |
| 17792 // wrapper function for command vkCmdSetEvent2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetEvent2.html | |
| 17793 VULKAN_HPP_INLINE void CommandBuffer::setEvent2( VULKAN_HPP_NAMESPACE::Event event, const DependencyInfo & dependencyInfo ) const VULKAN_HPP_NOEXCEPT | |
| 17794 { | |
| 17795 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetEvent2 && "Function <vkCmdSetEvent2> requires <VK_KHR_synchronization2> or <VK_VERSION_1_3>" ); | |
| 17796 | |
| 17797 getDispatcher()->vkCmdSetEvent2( | |
| 17798 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkEvent>( event ), reinterpret_cast<const VkDependencyInfo *>( &dependencyInfo ) ); | |
| 17799 } | |
| 17800 | |
| 17801 // wrapper function for command vkCmdResetEvent2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResetEvent2.html | |
| 17802 VULKAN_HPP_INLINE void CommandBuffer::resetEvent2( VULKAN_HPP_NAMESPACE::Event event, PipelineStageFlags2 stageMask ) const VULKAN_HPP_NOEXCEPT | |
| 17803 { | |
| 17804 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdResetEvent2 && "Function <vkCmdResetEvent2> requires <VK_KHR_synchronization2> or <VK_VERSION_1_3>" ); | |
| 17805 | |
| 17806 getDispatcher()->vkCmdResetEvent2( | |
| 17807 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkEvent>( event ), static_cast<VkPipelineStageFlags2>( stageMask ) ); | |
| 17808 } | |
| 17809 | |
| 17810 // wrapper function for command vkCmdWaitEvents2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWaitEvents2.html | |
| 17811 VULKAN_HPP_INLINE void CommandBuffer::waitEvents2( ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const & events, | |
| 17812 ArrayProxy<const DependencyInfo> const & dependencyInfos ) const | |
| 17813 { | |
| 17814 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdWaitEvents2 && "Function <vkCmdWaitEvents2> requires <VK_KHR_synchronization2> or <VK_VERSION_1_3>" ); | |
| 17815 # ifdef VULKAN_HPP_NO_EXCEPTIONS | |
| 17816 VULKAN_HPP_ASSERT( events.size() == dependencyInfos.size() ); | |
| 17817 # else | |
| 17818 if ( events.size() != dependencyInfos.size() ) | |
| 17819 { | |
| 17820 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::waitEvents2: events.size() != dependencyInfos.size()" ); | |
| 17821 } | |
| 17822 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ | |
| 17823 | |
| 17824 getDispatcher()->vkCmdWaitEvents2( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 17825 events.size(), | |
| 17826 reinterpret_cast<const VkEvent *>( events.data() ), | |
| 17827 reinterpret_cast<const VkDependencyInfo *>( dependencyInfos.data() ) ); | |
| 17828 } | |
| 17829 | |
| 17830 // wrapper function for command vkCmdBlitImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBlitImage2.html | |
| 17831 VULKAN_HPP_INLINE void CommandBuffer::blitImage2( const BlitImageInfo2 & blitImageInfo ) const VULKAN_HPP_NOEXCEPT | |
| 17832 { | |
| 17833 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBlitImage2 && "Function <vkCmdBlitImage2> requires <VK_KHR_copy_commands2> or <VK_VERSION_1_3>" ); | |
| 17834 | |
| 17835 getDispatcher()->vkCmdBlitImage2( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkBlitImageInfo2 *>( &blitImageInfo ) ); | |
| 17836 } | |
| 17837 | |
| 17838 // wrapper function for command vkCmdResolveImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResolveImage2.html | |
| 17839 VULKAN_HPP_INLINE void CommandBuffer::resolveImage2( const ResolveImageInfo2 & resolveImageInfo ) const VULKAN_HPP_NOEXCEPT | |
| 17840 { | |
| 17841 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdResolveImage2 && "Function <vkCmdResolveImage2> requires <VK_KHR_copy_commands2> or <VK_VERSION_1_3>" ); | |
| 17842 | |
| 17843 getDispatcher()->vkCmdResolveImage2( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 17844 reinterpret_cast<const VkResolveImageInfo2 *>( &resolveImageInfo ) ); | |
| 17845 } | |
| 17846 | |
| 17847 // wrapper function for command vkCmdBeginRendering, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRendering.html | |
| 17848 VULKAN_HPP_INLINE void CommandBuffer::beginRendering( const RenderingInfo & renderingInfo ) const VULKAN_HPP_NOEXCEPT | |
| 17849 { | |
| 17850 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBeginRendering && "Function <vkCmdBeginRendering> requires <VK_KHR_dynamic_rendering> or <VK_VERSION_1_3>" ); | |
| 17851 | |
| 17852 getDispatcher()->vkCmdBeginRendering( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkRenderingInfo *>( &renderingInfo ) ); | |
| 17853 } | |
| 17854 | |
| 17855 // wrapper function for command vkCmdEndRendering, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRendering.html | |
| 17856 VULKAN_HPP_INLINE void CommandBuffer::endRendering() const VULKAN_HPP_NOEXCEPT | |
| 17857 { | |
| 17858 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdEndRendering && "Function <vkCmdEndRendering> requires <VK_KHR_dynamic_rendering> or <VK_VERSION_1_3>" ); | |
| 17859 | |
| 17860 getDispatcher()->vkCmdEndRendering( static_cast<VkCommandBuffer>( m_commandBuffer ) ); | |
| 17861 } | |
| 17862 | |
| 17863 // wrapper function for command vkCmdSetCullMode, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCullMode.html | |
| 17864 VULKAN_HPP_INLINE void CommandBuffer::setCullMode( CullModeFlags cullMode ) const VULKAN_HPP_NOEXCEPT | |
| 17865 { | |
| 17866 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetCullMode && | |
| 17867 "Function <vkCmdSetCullMode> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 17868 | |
| 17869 getDispatcher()->vkCmdSetCullMode( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkCullModeFlags>( cullMode ) ); | |
| 17870 } | |
| 17871 | |
| 17872 // wrapper function for command vkCmdSetFrontFace, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFrontFace.html | |
| 17873 VULKAN_HPP_INLINE void CommandBuffer::setFrontFace( FrontFace frontFace ) const VULKAN_HPP_NOEXCEPT | |
| 17874 { | |
| 17875 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetFrontFace && | |
| 17876 "Function <vkCmdSetFrontFace> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 17877 | |
| 17878 getDispatcher()->vkCmdSetFrontFace( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkFrontFace>( frontFace ) ); | |
| 17879 } | |
| 17880 | |
| 17881 // wrapper function for command vkCmdSetPrimitiveTopology, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPrimitiveTopology.html | |
| 17882 VULKAN_HPP_INLINE void CommandBuffer::setPrimitiveTopology( PrimitiveTopology primitiveTopology ) const VULKAN_HPP_NOEXCEPT | |
| 17883 { | |
| 17884 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetPrimitiveTopology && | |
| 17885 "Function <vkCmdSetPrimitiveTopology> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 17886 | |
| 17887 getDispatcher()->vkCmdSetPrimitiveTopology( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkPrimitiveTopology>( primitiveTopology ) ); | |
| 17888 } | |
| 17889 | |
| 17890 // wrapper function for command vkCmdSetViewportWithCount, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWithCount.html | |
| 17891 VULKAN_HPP_INLINE void CommandBuffer::setViewportWithCount( ArrayProxy<const Viewport> const & viewports ) const VULKAN_HPP_NOEXCEPT | |
| 17892 { | |
| 17893 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetViewportWithCount && | |
| 17894 "Function <vkCmdSetViewportWithCount> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 17895 | |
| 17896 getDispatcher()->vkCmdSetViewportWithCount( | |
| 17897 static_cast<VkCommandBuffer>( m_commandBuffer ), viewports.size(), reinterpret_cast<const VkViewport *>( viewports.data() ) ); | |
| 17898 } | |
| 17899 | |
| 17900 // wrapper function for command vkCmdSetScissorWithCount, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetScissorWithCount.html | |
| 17901 VULKAN_HPP_INLINE void CommandBuffer::setScissorWithCount( ArrayProxy<const Rect2D> const & scissors ) const VULKAN_HPP_NOEXCEPT | |
| 17902 { | |
| 17903 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetScissorWithCount && | |
| 17904 "Function <vkCmdSetScissorWithCount> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 17905 | |
| 17906 getDispatcher()->vkCmdSetScissorWithCount( | |
| 17907 static_cast<VkCommandBuffer>( m_commandBuffer ), scissors.size(), reinterpret_cast<const VkRect2D *>( scissors.data() ) ); | |
| 17908 } | |
| 17909 | |
| 17910 // wrapper function for command vkCmdBindVertexBuffers2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindVertexBuffers2.html | |
| 17911 VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers2( uint32_t firstBinding, | |
| 17912 ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers, | |
| 17913 ArrayProxy<const DeviceSize> const & offsets, | |
| 17914 ArrayProxy<const DeviceSize> const & sizes, | |
| 17915 ArrayProxy<const DeviceSize> const & strides ) const | |
| 17916 { | |
| 17917 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBindVertexBuffers2 && | |
| 17918 "Function <vkCmdBindVertexBuffers2> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 17919 # ifdef VULKAN_HPP_NO_EXCEPTIONS | |
| 17920 VULKAN_HPP_ASSERT( buffers.size() == offsets.size() ); | |
| 17921 VULKAN_HPP_ASSERT( sizes.empty() || buffers.size() == sizes.size() ); | |
| 17922 VULKAN_HPP_ASSERT( strides.empty() || buffers.size() == strides.size() ); | |
| 17923 # else | |
| 17924 if ( buffers.size() != offsets.size() ) | |
| 17925 { | |
| 17926 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindVertexBuffers2: buffers.size() != offsets.size()" ); | |
| 17927 } | |
| 17928 if ( !sizes.empty() && buffers.size() != sizes.size() ) | |
| 17929 { | |
| 17930 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindVertexBuffers2: buffers.size() != sizes.size()" ); | |
| 17931 } | |
| 17932 if ( !strides.empty() && buffers.size() != strides.size() ) | |
| 17933 { | |
| 17934 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindVertexBuffers2: buffers.size() != strides.size()" ); | |
| 17935 } | |
| 17936 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ | |
| 17937 | |
| 17938 getDispatcher()->vkCmdBindVertexBuffers2( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 17939 firstBinding, | |
| 17940 buffers.size(), | |
| 17941 reinterpret_cast<const VkBuffer *>( buffers.data() ), | |
| 17942 reinterpret_cast<const VkDeviceSize *>( offsets.data() ), | |
| 17943 reinterpret_cast<const VkDeviceSize *>( sizes.data() ), | |
| 17944 reinterpret_cast<const VkDeviceSize *>( strides.data() ) ); | |
| 17945 } | |
| 17946 | |
| 17947 // wrapper function for command vkCmdSetDepthTestEnable, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthTestEnable.html | |
| 17948 VULKAN_HPP_INLINE void CommandBuffer::setDepthTestEnable( Bool32 depthTestEnable ) const VULKAN_HPP_NOEXCEPT | |
| 17949 { | |
| 17950 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDepthTestEnable && | |
| 17951 "Function <vkCmdSetDepthTestEnable> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 17952 | |
| 17953 getDispatcher()->vkCmdSetDepthTestEnable( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( depthTestEnable ) ); | |
| 17954 } | |
| 17955 | |
| 17956 // wrapper function for command vkCmdSetDepthWriteEnable, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthWriteEnable.html | |
| 17957 VULKAN_HPP_INLINE void CommandBuffer::setDepthWriteEnable( Bool32 depthWriteEnable ) const VULKAN_HPP_NOEXCEPT | |
| 17958 { | |
| 17959 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDepthWriteEnable && | |
| 17960 "Function <vkCmdSetDepthWriteEnable> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 17961 | |
| 17962 getDispatcher()->vkCmdSetDepthWriteEnable( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( depthWriteEnable ) ); | |
| 17963 } | |
| 17964 | |
| 17965 // wrapper function for command vkCmdSetDepthCompareOp, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthCompareOp.html | |
| 17966 VULKAN_HPP_INLINE void CommandBuffer::setDepthCompareOp( CompareOp depthCompareOp ) const VULKAN_HPP_NOEXCEPT | |
| 17967 { | |
| 17968 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDepthCompareOp && | |
| 17969 "Function <vkCmdSetDepthCompareOp> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 17970 | |
| 17971 getDispatcher()->vkCmdSetDepthCompareOp( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkCompareOp>( depthCompareOp ) ); | |
| 17972 } | |
| 17973 | |
| 17974 // wrapper function for command vkCmdSetDepthBoundsTestEnable, see | |
| 17975 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBoundsTestEnable.html | |
| 17976 VULKAN_HPP_INLINE void CommandBuffer::setDepthBoundsTestEnable( Bool32 depthBoundsTestEnable ) const VULKAN_HPP_NOEXCEPT | |
| 17977 { | |
| 17978 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDepthBoundsTestEnable && | |
| 17979 "Function <vkCmdSetDepthBoundsTestEnable> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 17980 | |
| 17981 getDispatcher()->vkCmdSetDepthBoundsTestEnable( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( depthBoundsTestEnable ) ); | |
| 17982 } | |
| 17983 | |
| 17984 // wrapper function for command vkCmdSetStencilTestEnable, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilTestEnable.html | |
| 17985 VULKAN_HPP_INLINE void CommandBuffer::setStencilTestEnable( Bool32 stencilTestEnable ) const VULKAN_HPP_NOEXCEPT | |
| 17986 { | |
| 17987 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetStencilTestEnable && | |
| 17988 "Function <vkCmdSetStencilTestEnable> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 17989 | |
| 17990 getDispatcher()->vkCmdSetStencilTestEnable( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( stencilTestEnable ) ); | |
| 17991 } | |
| 17992 | |
| 17993 // wrapper function for command vkCmdSetStencilOp, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilOp.html | |
| 17994 VULKAN_HPP_INLINE void CommandBuffer::setStencilOp( | |
| 17995 StencilFaceFlags faceMask, StencilOp failOp, StencilOp passOp, StencilOp depthFailOp, CompareOp compareOp ) const VULKAN_HPP_NOEXCEPT | |
| 17996 { | |
| 17997 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetStencilOp && | |
| 17998 "Function <vkCmdSetStencilOp> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 17999 | |
| 18000 getDispatcher()->vkCmdSetStencilOp( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 18001 static_cast<VkStencilFaceFlags>( faceMask ), | |
| 18002 static_cast<VkStencilOp>( failOp ), | |
| 18003 static_cast<VkStencilOp>( passOp ), | |
| 18004 static_cast<VkStencilOp>( depthFailOp ), | |
| 18005 static_cast<VkCompareOp>( compareOp ) ); | |
| 18006 } | |
| 18007 | |
| 18008 // wrapper function for command vkCmdSetRasterizerDiscardEnable, see | |
| 18009 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRasterizerDiscardEnable.html | |
| 18010 VULKAN_HPP_INLINE void CommandBuffer::setRasterizerDiscardEnable( Bool32 rasterizerDiscardEnable ) const VULKAN_HPP_NOEXCEPT | |
| 18011 { | |
| 18012 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetRasterizerDiscardEnable && | |
| 18013 "Function <vkCmdSetRasterizerDiscardEnable> requires <VK_EXT_extended_dynamic_state2> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 18014 | |
| 18015 getDispatcher()->vkCmdSetRasterizerDiscardEnable( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( rasterizerDiscardEnable ) ); | |
| 18016 } | |
| 18017 | |
| 18018 // wrapper function for command vkCmdSetDepthBiasEnable, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBiasEnable.html | |
| 18019 VULKAN_HPP_INLINE void CommandBuffer::setDepthBiasEnable( Bool32 depthBiasEnable ) const VULKAN_HPP_NOEXCEPT | |
| 18020 { | |
| 18021 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDepthBiasEnable && | |
| 18022 "Function <vkCmdSetDepthBiasEnable> requires <VK_EXT_extended_dynamic_state2> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 18023 | |
| 18024 getDispatcher()->vkCmdSetDepthBiasEnable( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( depthBiasEnable ) ); | |
| 18025 } | |
| 18026 | |
| 18027 // wrapper function for command vkCmdSetPrimitiveRestartEnable, see | |
| 18028 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPrimitiveRestartEnable.html | |
| 18029 VULKAN_HPP_INLINE void CommandBuffer::setPrimitiveRestartEnable( Bool32 primitiveRestartEnable ) const VULKAN_HPP_NOEXCEPT | |
| 18030 { | |
| 18031 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetPrimitiveRestartEnable && | |
| 18032 "Function <vkCmdSetPrimitiveRestartEnable> requires <VK_EXT_extended_dynamic_state2> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 18033 | |
| 18034 getDispatcher()->vkCmdSetPrimitiveRestartEnable( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( primitiveRestartEnable ) ); | |
| 18035 } | |
| 18036 | |
| 18037 //=== VK_VERSION_1_4 === | |
| 18038 | |
| 18039 // wrapper function for command vkMapMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMapMemory2.html | |
| 18040 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<void *>::type Device::mapMemory2( const MemoryMapInfo & memoryMapInfo ) const | |
| 18041 { | |
| 18042 VULKAN_HPP_ASSERT( getDispatcher()->vkMapMemory2 && "Function <vkMapMemory2> requires <VK_KHR_map_memory2> or <VK_VERSION_1_4>" ); | |
| 18043 | |
| 18044 void * pData; | |
| 18045 Result result = static_cast<Result>( | |
| 18046 getDispatcher()->vkMapMemory2( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkMemoryMapInfo *>( &memoryMapInfo ), &pData ) ); | |
| 18047 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::mapMemory2" ); | |
| 18048 | |
| 18049 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pData ) ); | |
| 18050 } | |
| 18051 | |
| 18052 // wrapper function for command vkUnmapMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUnmapMemory2.html | |
| 18053 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::unmapMemory2( const MemoryUnmapInfo & memoryUnmapInfo ) const | |
| 18054 { | |
| 18055 VULKAN_HPP_ASSERT( getDispatcher()->vkUnmapMemory2 && "Function <vkUnmapMemory2> requires <VK_KHR_map_memory2> or <VK_VERSION_1_4>" ); | |
| 18056 | |
| 18057 Result result = static_cast<Result>( | |
| 18058 getDispatcher()->vkUnmapMemory2( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkMemoryUnmapInfo *>( &memoryUnmapInfo ) ) ); | |
| 18059 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::unmapMemory2" ); | |
| 18060 | |
| 18061 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 18062 } | |
| 18063 | |
| 18064 // wrapper function for command vkGetDeviceImageSubresourceLayout, see | |
| 18065 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSubresourceLayout.html | |
| 18066 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE SubresourceLayout2 | |
| 18067 Device::getImageSubresourceLayout( const DeviceImageSubresourceInfo & info ) const VULKAN_HPP_NOEXCEPT | |
| 18068 { | |
| 18069 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceImageSubresourceLayout && | |
| 18070 "Function <vkGetDeviceImageSubresourceLayout> requires <VK_KHR_maintenance5> or <VK_VERSION_1_4>" ); | |
| 18071 | |
| 18072 SubresourceLayout2 layout; | |
| 18073 getDispatcher()->vkGetDeviceImageSubresourceLayout( static_cast<VkDevice>( m_device ), | |
| 18074 reinterpret_cast<const VkDeviceImageSubresourceInfo *>( &info ), | |
| 18075 reinterpret_cast<VkSubresourceLayout2 *>( &layout ) ); | |
| 18076 | |
| 18077 return layout; | |
| 18078 } | |
| 18079 | |
| 18080 // wrapper function for command vkGetDeviceImageSubresourceLayout, see | |
| 18081 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSubresourceLayout.html | |
| 18082 template <typename X, typename Y, typename... Z> | |
| 18083 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> | |
| 18084 Device::getImageSubresourceLayout( const DeviceImageSubresourceInfo & info ) const VULKAN_HPP_NOEXCEPT | |
| 18085 { | |
| 18086 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceImageSubresourceLayout && | |
| 18087 "Function <vkGetDeviceImageSubresourceLayout> requires <VK_KHR_maintenance5> or <VK_VERSION_1_4>" ); | |
| 18088 | |
| 18089 StructureChain<X, Y, Z...> structureChain; | |
| 18090 SubresourceLayout2 & layout = structureChain.template get<SubresourceLayout2>(); | |
| 18091 getDispatcher()->vkGetDeviceImageSubresourceLayout( static_cast<VkDevice>( m_device ), | |
| 18092 reinterpret_cast<const VkDeviceImageSubresourceInfo *>( &info ), | |
| 18093 reinterpret_cast<VkSubresourceLayout2 *>( &layout ) ); | |
| 18094 | |
| 18095 return structureChain; | |
| 18096 } | |
| 18097 | |
| 18098 // wrapper function for command vkGetImageSubresourceLayout2, see | |
| 18099 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2.html | |
| 18100 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE SubresourceLayout2 Image::getSubresourceLayout2( const ImageSubresource2 & subresource ) const VULKAN_HPP_NOEXCEPT | |
| 18101 { | |
| 18102 VULKAN_HPP_ASSERT( | |
| 18103 getDispatcher()->vkGetImageSubresourceLayout2 && | |
| 18104 "Function <vkGetImageSubresourceLayout2> requires <VK_EXT_host_image_copy> or <VK_EXT_image_compression_control> or <VK_KHR_maintenance5> or <VK_VERSION_1_4>" ); | |
| 18105 | |
| 18106 SubresourceLayout2 layout; | |
| 18107 getDispatcher()->vkGetImageSubresourceLayout2( static_cast<VkDevice>( m_device ), | |
| 18108 static_cast<VkImage>( m_image ), | |
| 18109 reinterpret_cast<const VkImageSubresource2 *>( &subresource ), | |
| 18110 reinterpret_cast<VkSubresourceLayout2 *>( &layout ) ); | |
| 18111 | |
| 18112 return layout; | |
| 18113 } | |
| 18114 | |
| 18115 // wrapper function for command vkGetImageSubresourceLayout2, see | |
| 18116 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2.html | |
| 18117 template <typename X, typename Y, typename... Z> | |
| 18118 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> | |
| 18119 Image::getSubresourceLayout2( const ImageSubresource2 & subresource ) const VULKAN_HPP_NOEXCEPT | |
| 18120 { | |
| 18121 VULKAN_HPP_ASSERT( | |
| 18122 getDispatcher()->vkGetImageSubresourceLayout2 && | |
| 18123 "Function <vkGetImageSubresourceLayout2> requires <VK_EXT_host_image_copy> or <VK_EXT_image_compression_control> or <VK_KHR_maintenance5> or <VK_VERSION_1_4>" ); | |
| 18124 | |
| 18125 StructureChain<X, Y, Z...> structureChain; | |
| 18126 SubresourceLayout2 & layout = structureChain.template get<SubresourceLayout2>(); | |
| 18127 getDispatcher()->vkGetImageSubresourceLayout2( static_cast<VkDevice>( m_device ), | |
| 18128 static_cast<VkImage>( m_image ), | |
| 18129 reinterpret_cast<const VkImageSubresource2 *>( &subresource ), | |
| 18130 reinterpret_cast<VkSubresourceLayout2 *>( &layout ) ); | |
| 18131 | |
| 18132 return structureChain; | |
| 18133 } | |
| 18134 | |
| 18135 // wrapper function for command vkCopyMemoryToImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToImage.html | |
| 18136 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::copyMemoryToImage( const CopyMemoryToImageInfo & copyMemoryToImageInfo ) const | |
| 18137 { | |
| 18138 VULKAN_HPP_ASSERT( getDispatcher()->vkCopyMemoryToImage && "Function <vkCopyMemoryToImage> requires <VK_EXT_host_image_copy> or <VK_VERSION_1_4>" ); | |
| 18139 | |
| 18140 Result result = static_cast<Result>( getDispatcher()->vkCopyMemoryToImage( | |
| 18141 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkCopyMemoryToImageInfo *>( ©MemoryToImageInfo ) ) ); | |
| 18142 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyMemoryToImage" ); | |
| 18143 | |
| 18144 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 18145 } | |
| 18146 | |
| 18147 // wrapper function for command vkCopyImageToMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToMemory.html | |
| 18148 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::copyImageToMemory( const CopyImageToMemoryInfo & copyImageToMemoryInfo ) const | |
| 18149 { | |
| 18150 VULKAN_HPP_ASSERT( getDispatcher()->vkCopyImageToMemory && "Function <vkCopyImageToMemory> requires <VK_EXT_host_image_copy> or <VK_VERSION_1_4>" ); | |
| 18151 | |
| 18152 Result result = static_cast<Result>( getDispatcher()->vkCopyImageToMemory( | |
| 18153 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkCopyImageToMemoryInfo *>( ©ImageToMemoryInfo ) ) ); | |
| 18154 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyImageToMemory" ); | |
| 18155 | |
| 18156 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 18157 } | |
| 18158 | |
| 18159 // wrapper function for command vkCopyImageToImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToImage.html | |
| 18160 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::copyImageToImage( const CopyImageToImageInfo & copyImageToImageInfo ) const | |
| 18161 { | |
| 18162 VULKAN_HPP_ASSERT( getDispatcher()->vkCopyImageToImage && "Function <vkCopyImageToImage> requires <VK_EXT_host_image_copy> or <VK_VERSION_1_4>" ); | |
| 18163 | |
| 18164 Result result = static_cast<Result>( | |
| 18165 getDispatcher()->vkCopyImageToImage( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkCopyImageToImageInfo *>( ©ImageToImageInfo ) ) ); | |
| 18166 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyImageToImage" ); | |
| 18167 | |
| 18168 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 18169 } | |
| 18170 | |
| 18171 // wrapper function for command vkTransitionImageLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTransitionImageLayout.html | |
| 18172 VULKAN_HPP_INLINE typename ResultValueType<void>::type | |
| 18173 Device::transitionImageLayout( ArrayProxy<const HostImageLayoutTransitionInfo> const & transitions ) const | |
| 18174 { | |
| 18175 VULKAN_HPP_ASSERT( getDispatcher()->vkTransitionImageLayout && | |
| 18176 "Function <vkTransitionImageLayout> requires <VK_EXT_host_image_copy> or <VK_VERSION_1_4>" ); | |
| 18177 | |
| 18178 Result result = static_cast<Result>( getDispatcher()->vkTransitionImageLayout( | |
| 18179 static_cast<VkDevice>( m_device ), transitions.size(), reinterpret_cast<const VkHostImageLayoutTransitionInfo *>( transitions.data() ) ) ); | |
| 18180 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::transitionImageLayout" ); | |
| 18181 | |
| 18182 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 18183 } | |
| 18184 | |
| 18185 // wrapper function for command vkCmdPushDescriptorSet, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSet.html | |
| 18186 VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSet( PipelineBindPoint pipelineBindPoint, | |
| 18187 VULKAN_HPP_NAMESPACE::PipelineLayout layout, | |
| 18188 uint32_t set, | |
| 18189 ArrayProxy<const WriteDescriptorSet> const & descriptorWrites ) const VULKAN_HPP_NOEXCEPT | |
| 18190 { | |
| 18191 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdPushDescriptorSet && "Function <vkCmdPushDescriptorSet> requires <VK_KHR_push_descriptor> or <VK_VERSION_1_4>" ); | |
| 18192 | |
| 18193 getDispatcher()->vkCmdPushDescriptorSet( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 18194 static_cast<VkPipelineBindPoint>( pipelineBindPoint ), | |
| 18195 static_cast<VkPipelineLayout>( layout ), | |
| 18196 set, | |
| 18197 descriptorWrites.size(), | |
| 18198 reinterpret_cast<const VkWriteDescriptorSet *>( descriptorWrites.data() ) ); | |
| 18199 } | |
| 18200 | |
| 18201 // wrapper function for command vkCmdPushDescriptorSetWithTemplate, see | |
| 18202 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplate.html | |
| 18203 template <typename DataType> | |
| 18204 VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetWithTemplate( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, | |
| 18205 VULKAN_HPP_NAMESPACE::PipelineLayout layout, | |
| 18206 uint32_t set, | |
| 18207 DataType const & data ) const VULKAN_HPP_NOEXCEPT | |
| 18208 { | |
| 18209 VULKAN_HPP_ASSERT( | |
| 18210 getDispatcher()->vkCmdPushDescriptorSetWithTemplate && | |
| 18211 "Function <vkCmdPushDescriptorSetWithTemplate> requires <VK_KHR_descriptor_update_template> or <VK_KHR_push_descriptor> or <VK_VERSION_1_4>" ); | |
| 18212 | |
| 18213 getDispatcher()->vkCmdPushDescriptorSetWithTemplate( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 18214 static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), | |
| 18215 static_cast<VkPipelineLayout>( layout ), | |
| 18216 set, | |
| 18217 reinterpret_cast<const void *>( &data ) ); | |
| 18218 } | |
| 18219 | |
| 18220 // wrapper function for command vkCmdBindDescriptorSets2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorSets2.html | |
| 18221 VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorSets2( const BindDescriptorSetsInfo & bindDescriptorSetsInfo ) const VULKAN_HPP_NOEXCEPT | |
| 18222 { | |
| 18223 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBindDescriptorSets2 && | |
| 18224 "Function <vkCmdBindDescriptorSets2> requires <VK_KHR_maintenance6> or <VK_VERSION_1_4>" ); | |
| 18225 | |
| 18226 getDispatcher()->vkCmdBindDescriptorSets2( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 18227 reinterpret_cast<const VkBindDescriptorSetsInfo *>( &bindDescriptorSetsInfo ) ); | |
| 18228 } | |
| 18229 | |
| 18230 // wrapper function for command vkCmdPushConstants2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushConstants2.html | |
| 18231 VULKAN_HPP_INLINE void CommandBuffer::pushConstants2( const PushConstantsInfo & pushConstantsInfo ) const VULKAN_HPP_NOEXCEPT | |
| 18232 { | |
| 18233 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdPushConstants2 && "Function <vkCmdPushConstants2> requires <VK_KHR_maintenance6> or <VK_VERSION_1_4>" ); | |
| 18234 | |
| 18235 getDispatcher()->vkCmdPushConstants2( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 18236 reinterpret_cast<const VkPushConstantsInfo *>( &pushConstantsInfo ) ); | |
| 18237 } | |
| 18238 | |
| 18239 // wrapper function for command vkCmdPushDescriptorSet2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSet2.html | |
| 18240 VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSet2( const PushDescriptorSetInfo & pushDescriptorSetInfo ) const VULKAN_HPP_NOEXCEPT | |
| 18241 { | |
| 18242 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdPushDescriptorSet2 && "Function <vkCmdPushDescriptorSet2> requires <VK_KHR_maintenance6> or <VK_VERSION_1_4>" ); | |
| 18243 | |
| 18244 getDispatcher()->vkCmdPushDescriptorSet2( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 18245 reinterpret_cast<const VkPushDescriptorSetInfo *>( &pushDescriptorSetInfo ) ); | |
| 18246 } | |
| 18247 | |
| 18248 // wrapper function for command vkCmdPushDescriptorSetWithTemplate2, see | |
| 18249 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplate2.html | |
| 18250 VULKAN_HPP_INLINE void | |
| 18251 CommandBuffer::pushDescriptorSetWithTemplate2( const PushDescriptorSetWithTemplateInfo & pushDescriptorSetWithTemplateInfo ) const VULKAN_HPP_NOEXCEPT | |
| 18252 { | |
| 18253 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdPushDescriptorSetWithTemplate2 && | |
| 18254 "Function <vkCmdPushDescriptorSetWithTemplate2> requires <VK_KHR_maintenance6> or <VK_VERSION_1_4>" ); | |
| 18255 | |
| 18256 getDispatcher()->vkCmdPushDescriptorSetWithTemplate2( | |
| 18257 static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkPushDescriptorSetWithTemplateInfo *>( &pushDescriptorSetWithTemplateInfo ) ); | |
| 18258 } | |
| 18259 | |
| 18260 // wrapper function for command vkCmdSetLineStipple, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineStipple.html | |
| 18261 VULKAN_HPP_INLINE void CommandBuffer::setLineStipple( uint32_t lineStippleFactor, uint16_t lineStipplePattern ) const VULKAN_HPP_NOEXCEPT | |
| 18262 { | |
| 18263 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetLineStipple && | |
| 18264 "Function <vkCmdSetLineStipple> requires <VK_EXT_line_rasterization> or <VK_KHR_line_rasterization> or <VK_VERSION_1_4>" ); | |
| 18265 | |
| 18266 getDispatcher()->vkCmdSetLineStipple( static_cast<VkCommandBuffer>( m_commandBuffer ), lineStippleFactor, lineStipplePattern ); | |
| 18267 } | |
| 18268 | |
| 18269 // wrapper function for command vkCmdBindIndexBuffer2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindIndexBuffer2.html | |
| 18270 VULKAN_HPP_INLINE void | |
| 18271 CommandBuffer::bindIndexBuffer2( VULKAN_HPP_NAMESPACE::Buffer buffer, DeviceSize offset, DeviceSize size, IndexType indexType ) const VULKAN_HPP_NOEXCEPT | |
| 18272 { | |
| 18273 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBindIndexBuffer2 && "Function <vkCmdBindIndexBuffer2> requires <VK_KHR_maintenance5> or <VK_VERSION_1_4>" ); | |
| 18274 | |
| 18275 getDispatcher()->vkCmdBindIndexBuffer2( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 18276 static_cast<VkBuffer>( buffer ), | |
| 18277 static_cast<VkDeviceSize>( offset ), | |
| 18278 static_cast<VkDeviceSize>( size ), | |
| 18279 static_cast<VkIndexType>( indexType ) ); | |
| 18280 } | |
| 18281 | |
| 18282 // wrapper function for command vkGetRenderingAreaGranularity, see | |
| 18283 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRenderingAreaGranularity.html | |
| 18284 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Extent2D Device::getRenderingAreaGranularity( const RenderingAreaInfo & renderingAreaInfo ) const VULKAN_HPP_NOEXCEPT | |
| 18285 { | |
| 18286 VULKAN_HPP_ASSERT( getDispatcher()->vkGetRenderingAreaGranularity && | |
| 18287 "Function <vkGetRenderingAreaGranularity> requires <VK_KHR_maintenance5> or <VK_VERSION_1_4>" ); | |
| 18288 | |
| 18289 Extent2D granularity; | |
| 18290 getDispatcher()->vkGetRenderingAreaGranularity( static_cast<VkDevice>( m_device ), | |
| 18291 reinterpret_cast<const VkRenderingAreaInfo *>( &renderingAreaInfo ), | |
| 18292 reinterpret_cast<VkExtent2D *>( &granularity ) ); | |
| 18293 | |
| 18294 return granularity; | |
| 18295 } | |
| 18296 | |
| 18297 // wrapper function for command vkCmdSetRenderingAttachmentLocations, see | |
| 18298 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingAttachmentLocations.html | |
| 18299 VULKAN_HPP_INLINE void CommandBuffer::setRenderingAttachmentLocations( const RenderingAttachmentLocationInfo & locationInfo ) const VULKAN_HPP_NOEXCEPT | |
| 18300 { | |
| 18301 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetRenderingAttachmentLocations && | |
| 18302 "Function <vkCmdSetRenderingAttachmentLocations> requires <VK_KHR_dynamic_rendering_local_read> or <VK_VERSION_1_4>" ); | |
| 18303 | |
| 18304 getDispatcher()->vkCmdSetRenderingAttachmentLocations( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 18305 reinterpret_cast<const VkRenderingAttachmentLocationInfo *>( &locationInfo ) ); | |
| 18306 } | |
| 18307 | |
| 18308 // wrapper function for command vkCmdSetRenderingInputAttachmentIndices, see | |
| 18309 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingInputAttachmentIndices.html | |
| 18310 VULKAN_HPP_INLINE void | |
| 18311 CommandBuffer::setRenderingInputAttachmentIndices( const RenderingInputAttachmentIndexInfo & inputAttachmentIndexInfo ) const VULKAN_HPP_NOEXCEPT | |
| 18312 { | |
| 18313 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetRenderingInputAttachmentIndices && | |
| 18314 "Function <vkCmdSetRenderingInputAttachmentIndices> requires <VK_KHR_dynamic_rendering_local_read> or <VK_VERSION_1_4>" ); | |
| 18315 | |
| 18316 getDispatcher()->vkCmdSetRenderingInputAttachmentIndices( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 18317 reinterpret_cast<const VkRenderingInputAttachmentIndexInfo *>( &inputAttachmentIndexInfo ) ); | |
| 18318 } | |
| 18319 | |
| 18320 //=== VK_KHR_surface === | |
| 18321 | |
| 18322 // wrapper function for command vkGetPhysicalDeviceSurfaceSupportKHR, see | |
| 18323 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceSupportKHR.html | |
| 18324 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<Bool32>::type | |
| 18325 PhysicalDevice::getSurfaceSupportKHR( uint32_t queueFamilyIndex, VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const | |
| 18326 { | |
| 18327 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceSurfaceSupportKHR && "Function <vkGetPhysicalDeviceSurfaceSupportKHR> requires <VK_KHR_surface>" ); | |
| 18328 | |
| 18329 Bool32 supported; | |
| 18330 Result result = static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceSurfaceSupportKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 18331 queueFamilyIndex, | |
| 18332 static_cast<VkSurfaceKHR>( surface ), | |
| 18333 reinterpret_cast<VkBool32 *>( &supported ) ) ); | |
| 18334 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfaceSupportKHR" ); | |
| 18335 | |
| 18336 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( supported ) ); | |
| 18337 } | |
| 18338 | |
| 18339 // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilitiesKHR, see | |
| 18340 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilitiesKHR.html | |
| 18341 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<SurfaceCapabilitiesKHR>::type | |
| 18342 PhysicalDevice::getSurfaceCapabilitiesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const | |
| 18343 { | |
| 18344 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilitiesKHR && | |
| 18345 "Function <vkGetPhysicalDeviceSurfaceCapabilitiesKHR> requires <VK_KHR_surface>" ); | |
| 18346 | |
| 18347 SurfaceCapabilitiesKHR surfaceCapabilities; | |
| 18348 Result result = static_cast<Result>( | |
| 18349 getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilitiesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 18350 static_cast<VkSurfaceKHR>( surface ), | |
| 18351 reinterpret_cast<VkSurfaceCapabilitiesKHR *>( &surfaceCapabilities ) ) ); | |
| 18352 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilitiesKHR" ); | |
| 18353 | |
| 18354 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surfaceCapabilities ) ); | |
| 18355 } | |
| 18356 | |
| 18357 // wrapper function for command vkGetPhysicalDeviceSurfaceFormatsKHR, see | |
| 18358 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormatsKHR.html | |
| 18359 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<SurfaceFormatKHR>>::type | |
| 18360 PhysicalDevice::getSurfaceFormatsKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const | |
| 18361 { | |
| 18362 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceSurfaceFormatsKHR && "Function <vkGetPhysicalDeviceSurfaceFormatsKHR> requires <VK_KHR_surface>" ); | |
| 18363 | |
| 18364 std::vector<SurfaceFormatKHR> surfaceFormats; | |
| 18365 uint32_t surfaceFormatCount; | |
| 18366 Result result; | |
| 18367 do | |
| 18368 { | |
| 18369 result = static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceSurfaceFormatsKHR( | |
| 18370 static_cast<VkPhysicalDevice>( m_physicalDevice ), static_cast<VkSurfaceKHR>( surface ), &surfaceFormatCount, nullptr ) ); | |
| 18371 if ( ( result == Result::eSuccess ) && surfaceFormatCount ) | |
| 18372 { | |
| 18373 surfaceFormats.resize( surfaceFormatCount ); | |
| 18374 result = | |
| 18375 static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceSurfaceFormatsKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 18376 static_cast<VkSurfaceKHR>( surface ), | |
| 18377 &surfaceFormatCount, | |
| 18378 reinterpret_cast<VkSurfaceFormatKHR *>( surfaceFormats.data() ) ) ); | |
| 18379 } | |
| 18380 } while ( result == Result::eIncomplete ); | |
| 18381 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormatsKHR" ); | |
| 18382 VULKAN_HPP_ASSERT( surfaceFormatCount <= surfaceFormats.size() ); | |
| 18383 if ( surfaceFormatCount < surfaceFormats.size() ) | |
| 18384 { | |
| 18385 surfaceFormats.resize( surfaceFormatCount ); | |
| 18386 } | |
| 18387 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surfaceFormats ) ); | |
| 18388 } | |
| 18389 | |
| 18390 // wrapper function for command vkGetPhysicalDeviceSurfacePresentModesKHR, see | |
| 18391 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfacePresentModesKHR.html | |
| 18392 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<PresentModeKHR>>::type | |
| 18393 PhysicalDevice::getSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const | |
| 18394 { | |
| 18395 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceSurfacePresentModesKHR && | |
| 18396 "Function <vkGetPhysicalDeviceSurfacePresentModesKHR> requires <VK_KHR_surface>" ); | |
| 18397 | |
| 18398 std::vector<PresentModeKHR> presentModes; | |
| 18399 uint32_t presentModeCount; | |
| 18400 Result result; | |
| 18401 do | |
| 18402 { | |
| 18403 result = static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceSurfacePresentModesKHR( | |
| 18404 static_cast<VkPhysicalDevice>( m_physicalDevice ), static_cast<VkSurfaceKHR>( surface ), &presentModeCount, nullptr ) ); | |
| 18405 if ( ( result == Result::eSuccess ) && presentModeCount ) | |
| 18406 { | |
| 18407 presentModes.resize( presentModeCount ); | |
| 18408 result = | |
| 18409 static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceSurfacePresentModesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 18410 static_cast<VkSurfaceKHR>( surface ), | |
| 18411 &presentModeCount, | |
| 18412 reinterpret_cast<VkPresentModeKHR *>( presentModes.data() ) ) ); | |
| 18413 } | |
| 18414 } while ( result == Result::eIncomplete ); | |
| 18415 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfacePresentModesKHR" ); | |
| 18416 VULKAN_HPP_ASSERT( presentModeCount <= presentModes.size() ); | |
| 18417 if ( presentModeCount < presentModes.size() ) | |
| 18418 { | |
| 18419 presentModes.resize( presentModeCount ); | |
| 18420 } | |
| 18421 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( presentModes ) ); | |
| 18422 } | |
| 18423 | |
| 18424 //=== VK_KHR_swapchain === | |
| 18425 | |
| 18426 // wrapper function for command vkCreateSwapchainKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSwapchainKHR.html | |
| 18427 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<SwapchainKHR>::type | |
| 18428 Device::createSwapchainKHR( SwapchainCreateInfoKHR const & createInfo, | |
| 18429 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 18430 { | |
| 18431 VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain; | |
| 18432 Result result = static_cast<Result>( getDispatcher()->vkCreateSwapchainKHR( static_cast<VkDevice>( m_device ), | |
| 18433 reinterpret_cast<const VkSwapchainCreateInfoKHR *>( &createInfo ), | |
| 18434 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 18435 reinterpret_cast<VkSwapchainKHR *>( &swapchain ) ) ); | |
| 18436 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createSwapchainKHR" ); | |
| 18437 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SwapchainKHR( *this, *reinterpret_cast<VkSwapchainKHR *>( &swapchain ), allocator ) ); | |
| 18438 } | |
| 18439 | |
| 18440 // wrapper function for command vkGetSwapchainImagesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainImagesKHR.html | |
| 18441 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::Image>>::type SwapchainKHR::getImages() const | |
| 18442 { | |
| 18443 VULKAN_HPP_ASSERT( getDispatcher()->vkGetSwapchainImagesKHR && "Function <vkGetSwapchainImagesKHR> requires <VK_KHR_swapchain>" ); | |
| 18444 | |
| 18445 std::vector<VULKAN_HPP_NAMESPACE::Image> swapchainImages; | |
| 18446 uint32_t swapchainImageCount; | |
| 18447 Result result; | |
| 18448 do | |
| 18449 { | |
| 18450 result = static_cast<Result>( getDispatcher()->vkGetSwapchainImagesKHR( | |
| 18451 static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ), &swapchainImageCount, nullptr ) ); | |
| 18452 if ( ( result == Result::eSuccess ) && swapchainImageCount ) | |
| 18453 { | |
| 18454 swapchainImages.resize( swapchainImageCount ); | |
| 18455 result = static_cast<Result>( getDispatcher()->vkGetSwapchainImagesKHR( static_cast<VkDevice>( m_device ), | |
| 18456 static_cast<VkSwapchainKHR>( m_swapchainKHR ), | |
| 18457 &swapchainImageCount, | |
| 18458 reinterpret_cast<VkImage *>( swapchainImages.data() ) ) ); | |
| 18459 } | |
| 18460 } while ( result == Result::eIncomplete ); | |
| 18461 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::getImages" ); | |
| 18462 VULKAN_HPP_ASSERT( swapchainImageCount <= swapchainImages.size() ); | |
| 18463 if ( swapchainImageCount < swapchainImages.size() ) | |
| 18464 { | |
| 18465 swapchainImages.resize( swapchainImageCount ); | |
| 18466 } | |
| 18467 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( swapchainImages ) ); | |
| 18468 } | |
| 18469 | |
| 18470 // wrapper function for command vkAcquireNextImageKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireNextImageKHR.html | |
| 18471 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<uint32_t> | |
| 18472 SwapchainKHR::acquireNextImage( uint64_t timeout, VULKAN_HPP_NAMESPACE::Semaphore semaphore, VULKAN_HPP_NAMESPACE::Fence fence ) const | |
| 18473 { | |
| 18474 VULKAN_HPP_ASSERT( getDispatcher()->vkAcquireNextImageKHR && "Function <vkAcquireNextImageKHR> requires <VK_KHR_swapchain>" ); | |
| 18475 | |
| 18476 uint32_t imageIndex; | |
| 18477 Result result = static_cast<Result>( getDispatcher()->vkAcquireNextImageKHR( static_cast<VkDevice>( m_device ), | |
| 18478 static_cast<VkSwapchainKHR>( m_swapchainKHR ), | |
| 18479 timeout, | |
| 18480 static_cast<VkSemaphore>( semaphore ), | |
| 18481 static_cast<VkFence>( fence ), | |
| 18482 &imageIndex ) ); | |
| 18483 | |
| 18484 # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) | |
| 18485 VULKAN_HPP_NAMESPACE::detail::resultCheck( | |
| 18486 result, | |
| 18487 VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::acquireNextImage", | |
| 18488 { Result::eSuccess, Result::eTimeout, Result::eNotReady, Result::eSuboptimalKHR, Result::eErrorOutOfDateKHR } ); | |
| 18489 # else | |
| 18490 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, | |
| 18491 VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::acquireNextImage", | |
| 18492 { Result::eSuccess, Result::eTimeout, Result::eNotReady, Result::eSuboptimalKHR } ); | |
| 18493 # endif | |
| 18494 | |
| 18495 return ResultValue<uint32_t>( result, std::move( imageIndex ) ); | |
| 18496 } | |
| 18497 | |
| 18498 // wrapper function for command vkQueuePresentKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueuePresentKHR.html | |
| 18499 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Queue::presentKHR( const PresentInfoKHR & presentInfo ) const | |
| 18500 { | |
| 18501 VULKAN_HPP_ASSERT( getDispatcher()->vkQueuePresentKHR && "Function <vkQueuePresentKHR> requires <VK_KHR_swapchain>" ); | |
| 18502 | |
| 18503 Result result = static_cast<Result>( | |
| 18504 getDispatcher()->vkQueuePresentKHR( static_cast<VkQueue>( m_queue ), reinterpret_cast<const VkPresentInfoKHR *>( &presentInfo ) ) ); | |
| 18505 | |
| 18506 # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) | |
| 18507 VULKAN_HPP_NAMESPACE::detail::resultCheck( | |
| 18508 result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Queue::presentKHR", { Result::eSuccess, Result::eSuboptimalKHR, Result::eErrorOutOfDateKHR } ); | |
| 18509 # else | |
| 18510 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Queue::presentKHR", { Result::eSuccess, Result::eSuboptimalKHR } ); | |
| 18511 # endif | |
| 18512 | |
| 18513 return static_cast<Result>( result ); | |
| 18514 } | |
| 18515 | |
| 18516 // wrapper function for command vkGetDeviceGroupPresentCapabilitiesKHR, see | |
| 18517 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupPresentCapabilitiesKHR.html | |
| 18518 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DeviceGroupPresentCapabilitiesKHR>::type Device::getGroupPresentCapabilitiesKHR() const | |
| 18519 { | |
| 18520 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceGroupPresentCapabilitiesKHR && | |
| 18521 "Function <vkGetDeviceGroupPresentCapabilitiesKHR> requires <VK_KHR_device_group> or <VK_KHR_swapchain>" ); | |
| 18522 | |
| 18523 DeviceGroupPresentCapabilitiesKHR deviceGroupPresentCapabilities; | |
| 18524 Result result = static_cast<Result>( getDispatcher()->vkGetDeviceGroupPresentCapabilitiesKHR( | |
| 18525 static_cast<VkDevice>( m_device ), reinterpret_cast<VkDeviceGroupPresentCapabilitiesKHR *>( &deviceGroupPresentCapabilities ) ) ); | |
| 18526 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getGroupPresentCapabilitiesKHR" ); | |
| 18527 | |
| 18528 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( deviceGroupPresentCapabilities ) ); | |
| 18529 } | |
| 18530 | |
| 18531 // wrapper function for command vkGetDeviceGroupSurfacePresentModesKHR, see | |
| 18532 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupSurfacePresentModesKHR.html | |
| 18533 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DeviceGroupPresentModeFlagsKHR>::type | |
| 18534 Device::getGroupSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const | |
| 18535 { | |
| 18536 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceGroupSurfacePresentModesKHR && | |
| 18537 "Function <vkGetDeviceGroupSurfacePresentModesKHR> requires <VK_KHR_device_group> or <VK_KHR_swapchain>" ); | |
| 18538 | |
| 18539 DeviceGroupPresentModeFlagsKHR modes; | |
| 18540 Result result = static_cast<Result>( getDispatcher()->vkGetDeviceGroupSurfacePresentModesKHR( | |
| 18541 static_cast<VkDevice>( m_device ), static_cast<VkSurfaceKHR>( surface ), reinterpret_cast<VkDeviceGroupPresentModeFlagsKHR *>( &modes ) ) ); | |
| 18542 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getGroupSurfacePresentModesKHR" ); | |
| 18543 | |
| 18544 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( modes ) ); | |
| 18545 } | |
| 18546 | |
| 18547 // wrapper function for command vkGetPhysicalDevicePresentRectanglesKHR, see | |
| 18548 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDevicePresentRectanglesKHR.html | |
| 18549 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<Rect2D>>::type | |
| 18550 PhysicalDevice::getPresentRectanglesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const | |
| 18551 { | |
| 18552 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDevicePresentRectanglesKHR && | |
| 18553 "Function <vkGetPhysicalDevicePresentRectanglesKHR> requires <VK_KHR_device_group> or <VK_KHR_swapchain>" ); | |
| 18554 | |
| 18555 std::vector<Rect2D> rects; | |
| 18556 uint32_t rectCount; | |
| 18557 Result result; | |
| 18558 do | |
| 18559 { | |
| 18560 result = static_cast<Result>( getDispatcher()->vkGetPhysicalDevicePresentRectanglesKHR( | |
| 18561 static_cast<VkPhysicalDevice>( m_physicalDevice ), static_cast<VkSurfaceKHR>( surface ), &rectCount, nullptr ) ); | |
| 18562 if ( ( result == Result::eSuccess ) && rectCount ) | |
| 18563 { | |
| 18564 rects.resize( rectCount ); | |
| 18565 result = static_cast<Result>( getDispatcher()->vkGetPhysicalDevicePresentRectanglesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 18566 static_cast<VkSurfaceKHR>( surface ), | |
| 18567 &rectCount, | |
| 18568 reinterpret_cast<VkRect2D *>( rects.data() ) ) ); | |
| 18569 } | |
| 18570 } while ( result == Result::eIncomplete ); | |
| 18571 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getPresentRectanglesKHR" ); | |
| 18572 VULKAN_HPP_ASSERT( rectCount <= rects.size() ); | |
| 18573 if ( rectCount < rects.size() ) | |
| 18574 { | |
| 18575 rects.resize( rectCount ); | |
| 18576 } | |
| 18577 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( rects ) ); | |
| 18578 } | |
| 18579 | |
| 18580 // wrapper function for command vkAcquireNextImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireNextImage2KHR.html | |
| 18581 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<uint32_t> Device::acquireNextImage2KHR( const AcquireNextImageInfoKHR & acquireInfo ) const | |
| 18582 { | |
| 18583 VULKAN_HPP_ASSERT( getDispatcher()->vkAcquireNextImage2KHR && "Function <vkAcquireNextImage2KHR> requires <VK_KHR_device_group> or <VK_KHR_swapchain>" ); | |
| 18584 | |
| 18585 uint32_t imageIndex; | |
| 18586 Result result = static_cast<Result>( getDispatcher()->vkAcquireNextImage2KHR( | |
| 18587 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkAcquireNextImageInfoKHR *>( &acquireInfo ), &imageIndex ) ); | |
| 18588 | |
| 18589 # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) | |
| 18590 VULKAN_HPP_NAMESPACE::detail::resultCheck( | |
| 18591 result, | |
| 18592 VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::acquireNextImage2KHR", | |
| 18593 { Result::eSuccess, Result::eTimeout, Result::eNotReady, Result::eSuboptimalKHR, Result::eErrorOutOfDateKHR } ); | |
| 18594 # else | |
| 18595 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, | |
| 18596 VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::acquireNextImage2KHR", | |
| 18597 { Result::eSuccess, Result::eTimeout, Result::eNotReady, Result::eSuboptimalKHR } ); | |
| 18598 # endif | |
| 18599 | |
| 18600 return ResultValue<uint32_t>( result, std::move( imageIndex ) ); | |
| 18601 } | |
| 18602 | |
| 18603 //=== VK_KHR_display === | |
| 18604 | |
| 18605 // wrapper function for command vkGetPhysicalDeviceDisplayPropertiesKHR, see | |
| 18606 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPropertiesKHR.html | |
| 18607 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DisplayPropertiesKHR>>::type PhysicalDevice::getDisplayPropertiesKHR() const | |
| 18608 { | |
| 18609 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceDisplayPropertiesKHR && | |
| 18610 "Function <vkGetPhysicalDeviceDisplayPropertiesKHR> requires <VK_KHR_display>" ); | |
| 18611 | |
| 18612 std::vector<DisplayPropertiesKHR> properties; | |
| 18613 uint32_t propertyCount; | |
| 18614 Result result; | |
| 18615 do | |
| 18616 { | |
| 18617 result = static_cast<Result>( | |
| 18618 getDispatcher()->vkGetPhysicalDeviceDisplayPropertiesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), &propertyCount, nullptr ) ); | |
| 18619 if ( ( result == Result::eSuccess ) && propertyCount ) | |
| 18620 { | |
| 18621 properties.resize( propertyCount ); | |
| 18622 result = static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceDisplayPropertiesKHR( | |
| 18623 static_cast<VkPhysicalDevice>( m_physicalDevice ), &propertyCount, reinterpret_cast<VkDisplayPropertiesKHR *>( properties.data() ) ) ); | |
| 18624 } | |
| 18625 } while ( result == Result::eIncomplete ); | |
| 18626 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getDisplayPropertiesKHR" ); | |
| 18627 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); | |
| 18628 if ( propertyCount < properties.size() ) | |
| 18629 { | |
| 18630 properties.resize( propertyCount ); | |
| 18631 } | |
| 18632 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); | |
| 18633 } | |
| 18634 | |
| 18635 // wrapper function for command vkGetPhysicalDeviceDisplayPlanePropertiesKHR, see | |
| 18636 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPlanePropertiesKHR.html | |
| 18637 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DisplayPlanePropertiesKHR>>::type | |
| 18638 PhysicalDevice::getDisplayPlanePropertiesKHR() const | |
| 18639 { | |
| 18640 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceDisplayPlanePropertiesKHR && | |
| 18641 "Function <vkGetPhysicalDeviceDisplayPlanePropertiesKHR> requires <VK_KHR_display>" ); | |
| 18642 | |
| 18643 std::vector<DisplayPlanePropertiesKHR> properties; | |
| 18644 uint32_t propertyCount; | |
| 18645 Result result; | |
| 18646 do | |
| 18647 { | |
| 18648 result = static_cast<Result>( | |
| 18649 getDispatcher()->vkGetPhysicalDeviceDisplayPlanePropertiesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), &propertyCount, nullptr ) ); | |
| 18650 if ( ( result == Result::eSuccess ) && propertyCount ) | |
| 18651 { | |
| 18652 properties.resize( propertyCount ); | |
| 18653 result = static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceDisplayPlanePropertiesKHR( | |
| 18654 static_cast<VkPhysicalDevice>( m_physicalDevice ), &propertyCount, reinterpret_cast<VkDisplayPlanePropertiesKHR *>( properties.data() ) ) ); | |
| 18655 } | |
| 18656 } while ( result == Result::eIncomplete ); | |
| 18657 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlanePropertiesKHR" ); | |
| 18658 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); | |
| 18659 if ( propertyCount < properties.size() ) | |
| 18660 { | |
| 18661 properties.resize( propertyCount ); | |
| 18662 } | |
| 18663 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); | |
| 18664 } | |
| 18665 | |
| 18666 // wrapper function for command vkGetDisplayPlaneSupportedDisplaysKHR, see | |
| 18667 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayPlaneSupportedDisplaysKHR.html | |
| 18668 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DisplayKHR>>::type | |
| 18669 PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR( uint32_t planeIndex ) const | |
| 18670 { | |
| 18671 std::vector<VULKAN_HPP_NAMESPACE::DisplayKHR> displays; | |
| 18672 uint32_t displayCount; | |
| 18673 Result result; | |
| 18674 do | |
| 18675 { | |
| 18676 result = static_cast<Result>( | |
| 18677 getDispatcher()->vkGetDisplayPlaneSupportedDisplaysKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), planeIndex, &displayCount, nullptr ) ); | |
| 18678 if ( ( result == Result::eSuccess ) && displayCount ) | |
| 18679 { | |
| 18680 displays.resize( displayCount ); | |
| 18681 result = static_cast<Result>( getDispatcher()->vkGetDisplayPlaneSupportedDisplaysKHR( | |
| 18682 static_cast<VkPhysicalDevice>( m_physicalDevice ), planeIndex, &displayCount, reinterpret_cast<VkDisplayKHR *>( displays.data() ) ) ); | |
| 18683 } | |
| 18684 } while ( result == Result::eIncomplete ); | |
| 18685 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR" ); | |
| 18686 std::vector<DisplayKHR> displaysRAII; | |
| 18687 if ( result == Result::eSuccess ) | |
| 18688 { | |
| 18689 displaysRAII.reserve( displays.size() ); | |
| 18690 for ( auto & display : displays ) | |
| 18691 { | |
| 18692 displaysRAII.emplace_back( *this, *reinterpret_cast<VkDisplayKHR *>( &display ) ); | |
| 18693 } | |
| 18694 } | |
| 18695 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( displaysRAII ) ); | |
| 18696 } | |
| 18697 | |
| 18698 // wrapper function for command vkGetDisplayModePropertiesKHR, see | |
| 18699 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModePropertiesKHR.html | |
| 18700 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DisplayModePropertiesKHR>>::type DisplayKHR::getModeProperties() const | |
| 18701 { | |
| 18702 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDisplayModePropertiesKHR && "Function <vkGetDisplayModePropertiesKHR> requires <VK_KHR_display>" ); | |
| 18703 | |
| 18704 std::vector<DisplayModePropertiesKHR> properties; | |
| 18705 uint32_t propertyCount; | |
| 18706 Result result; | |
| 18707 do | |
| 18708 { | |
| 18709 result = static_cast<Result>( getDispatcher()->vkGetDisplayModePropertiesKHR( | |
| 18710 static_cast<VkPhysicalDevice>( m_physicalDevice ), static_cast<VkDisplayKHR>( m_displayKHR ), &propertyCount, nullptr ) ); | |
| 18711 if ( ( result == Result::eSuccess ) && propertyCount ) | |
| 18712 { | |
| 18713 properties.resize( propertyCount ); | |
| 18714 result = static_cast<Result>( getDispatcher()->vkGetDisplayModePropertiesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 18715 static_cast<VkDisplayKHR>( m_displayKHR ), | |
| 18716 &propertyCount, | |
| 18717 reinterpret_cast<VkDisplayModePropertiesKHR *>( properties.data() ) ) ); | |
| 18718 } | |
| 18719 } while ( result == Result::eIncomplete ); | |
| 18720 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::DisplayKHR::getModeProperties" ); | |
| 18721 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); | |
| 18722 if ( propertyCount < properties.size() ) | |
| 18723 { | |
| 18724 properties.resize( propertyCount ); | |
| 18725 } | |
| 18726 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); | |
| 18727 } | |
| 18728 | |
| 18729 // wrapper function for command vkCreateDisplayModeKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDisplayModeKHR.html | |
| 18730 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DisplayModeKHR>::type | |
| 18731 DisplayKHR::createMode( DisplayModeCreateInfoKHR const & createInfo, | |
| 18732 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 18733 { | |
| 18734 VULKAN_HPP_NAMESPACE::DisplayModeKHR mode; | |
| 18735 Result result = static_cast<Result>( getDispatcher()->vkCreateDisplayModeKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 18736 static_cast<VkDisplayKHR>( m_displayKHR ), | |
| 18737 reinterpret_cast<const VkDisplayModeCreateInfoKHR *>( &createInfo ), | |
| 18738 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 18739 reinterpret_cast<VkDisplayModeKHR *>( &mode ) ) ); | |
| 18740 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::DisplayKHR::createMode" ); | |
| 18741 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, DisplayModeKHR( *this, *reinterpret_cast<VkDisplayModeKHR *>( &mode ) ) ); | |
| 18742 } | |
| 18743 | |
| 18744 // wrapper function for command vkGetDisplayPlaneCapabilitiesKHR, see | |
| 18745 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayPlaneCapabilitiesKHR.html | |
| 18746 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DisplayPlaneCapabilitiesKHR>::type | |
| 18747 DisplayModeKHR::getDisplayPlaneCapabilities( uint32_t planeIndex ) const | |
| 18748 { | |
| 18749 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDisplayPlaneCapabilitiesKHR && "Function <vkGetDisplayPlaneCapabilitiesKHR> requires <VK_KHR_display>" ); | |
| 18750 | |
| 18751 DisplayPlaneCapabilitiesKHR capabilities; | |
| 18752 Result result = | |
| 18753 static_cast<Result>( getDispatcher()->vkGetDisplayPlaneCapabilitiesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 18754 static_cast<VkDisplayModeKHR>( m_displayModeKHR ), | |
| 18755 planeIndex, | |
| 18756 reinterpret_cast<VkDisplayPlaneCapabilitiesKHR *>( &capabilities ) ) ); | |
| 18757 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::DisplayModeKHR::getDisplayPlaneCapabilities" ); | |
| 18758 | |
| 18759 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( capabilities ) ); | |
| 18760 } | |
| 18761 | |
| 18762 // wrapper function for command vkCreateDisplayPlaneSurfaceKHR, see | |
| 18763 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDisplayPlaneSurfaceKHR.html | |
| 18764 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<SurfaceKHR>::type | |
| 18765 Instance::createDisplayPlaneSurfaceKHR( DisplaySurfaceCreateInfoKHR const & createInfo, | |
| 18766 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 18767 { | |
| 18768 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; | |
| 18769 Result result = | |
| 18770 static_cast<Result>( getDispatcher()->vkCreateDisplayPlaneSurfaceKHR( static_cast<VkInstance>( m_instance ), | |
| 18771 reinterpret_cast<const VkDisplaySurfaceCreateInfoKHR *>( &createInfo ), | |
| 18772 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 18773 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); | |
| 18774 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createDisplayPlaneSurfaceKHR" ); | |
| 18775 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast<VkSurfaceKHR *>( &surface ), allocator ) ); | |
| 18776 } | |
| 18777 | |
| 18778 //=== VK_KHR_display_swapchain === | |
| 18779 | |
| 18780 // wrapper function for command vkCreateSharedSwapchainsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSharedSwapchainsKHR.html | |
| 18781 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<SwapchainKHR>>::type | |
| 18782 Device::createSharedSwapchainsKHR( ArrayProxy<SwapchainCreateInfoKHR> const & createInfos, Optional<const AllocationCallbacks> allocator ) const | |
| 18783 { | |
| 18784 std::vector<VULKAN_HPP_NAMESPACE::SwapchainKHR> swapchains( createInfos.size() ); | |
| 18785 Result result = | |
| 18786 static_cast<Result>( getDispatcher()->vkCreateSharedSwapchainsKHR( static_cast<VkDevice>( m_device ), | |
| 18787 createInfos.size(), | |
| 18788 reinterpret_cast<const VkSwapchainCreateInfoKHR *>( createInfos.data() ), | |
| 18789 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 18790 reinterpret_cast<VkSwapchainKHR *>( swapchains.data() ) ) ); | |
| 18791 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createSharedSwapchainsKHR" ); | |
| 18792 std::vector<SwapchainKHR> swapchainsRAII; | |
| 18793 if ( result == Result::eSuccess ) | |
| 18794 { | |
| 18795 swapchainsRAII.reserve( swapchains.size() ); | |
| 18796 for ( auto & swapchain : swapchains ) | |
| 18797 { | |
| 18798 swapchainsRAII.emplace_back( *this, *reinterpret_cast<VkSwapchainKHR *>( &swapchain ), allocator ); | |
| 18799 } | |
| 18800 } | |
| 18801 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( swapchainsRAII ) ); | |
| 18802 } | |
| 18803 | |
| 18804 // wrapper function for command vkCreateSharedSwapchainsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSharedSwapchainsKHR.html | |
| 18805 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<SwapchainKHR>::type | |
| 18806 Device::createSharedSwapchainKHR( SwapchainCreateInfoKHR const & createInfo, | |
| 18807 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 18808 { | |
| 18809 VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain; | |
| 18810 Result result = static_cast<Result>( getDispatcher()->vkCreateSharedSwapchainsKHR( static_cast<VkDevice>( m_device ), | |
| 18811 1, | |
| 18812 reinterpret_cast<const VkSwapchainCreateInfoKHR *>( &createInfo ), | |
| 18813 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 18814 reinterpret_cast<VkSwapchainKHR *>( &swapchain ) ) ); | |
| 18815 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createSharedSwapchainKHR" ); | |
| 18816 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SwapchainKHR( *this, *reinterpret_cast<VkSwapchainKHR *>( &swapchain ), allocator ) ); | |
| 18817 } | |
| 18818 | |
| 18819 # if defined( VK_USE_PLATFORM_XLIB_KHR ) | |
| 18820 //=== VK_KHR_xlib_surface === | |
| 18821 | |
| 18822 // wrapper function for command vkCreateXlibSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateXlibSurfaceKHR.html | |
| 18823 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<SurfaceKHR>::type | |
| 18824 Instance::createXlibSurfaceKHR( XlibSurfaceCreateInfoKHR const & createInfo, | |
| 18825 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 18826 { | |
| 18827 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; | |
| 18828 Result result = static_cast<Result>( getDispatcher()->vkCreateXlibSurfaceKHR( static_cast<VkInstance>( m_instance ), | |
| 18829 reinterpret_cast<const VkXlibSurfaceCreateInfoKHR *>( &createInfo ), | |
| 18830 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 18831 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); | |
| 18832 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createXlibSurfaceKHR" ); | |
| 18833 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast<VkSurfaceKHR *>( &surface ), allocator ) ); | |
| 18834 } | |
| 18835 | |
| 18836 // wrapper function for command vkGetPhysicalDeviceXlibPresentationSupportKHR, see | |
| 18837 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceXlibPresentationSupportKHR.html | |
| 18838 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Bool32 PhysicalDevice::getXlibPresentationSupportKHR( uint32_t queueFamilyIndex, | |
| 18839 Display & dpy, | |
| 18840 VisualID visualID ) const VULKAN_HPP_NOEXCEPT | |
| 18841 { | |
| 18842 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceXlibPresentationSupportKHR && | |
| 18843 "Function <vkGetPhysicalDeviceXlibPresentationSupportKHR> requires <VK_KHR_xlib_surface>" ); | |
| 18844 | |
| 18845 VkBool32 result = | |
| 18846 getDispatcher()->vkGetPhysicalDeviceXlibPresentationSupportKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), queueFamilyIndex, &dpy, visualID ); | |
| 18847 | |
| 18848 return static_cast<Bool32>( result ); | |
| 18849 } | |
| 18850 # endif /*VK_USE_PLATFORM_XLIB_KHR*/ | |
| 18851 | |
| 18852 # if defined( VK_USE_PLATFORM_XCB_KHR ) | |
| 18853 //=== VK_KHR_xcb_surface === | |
| 18854 | |
| 18855 // wrapper function for command vkCreateXcbSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateXcbSurfaceKHR.html | |
| 18856 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<SurfaceKHR>::type | |
| 18857 Instance::createXcbSurfaceKHR( XcbSurfaceCreateInfoKHR const & createInfo, | |
| 18858 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 18859 { | |
| 18860 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; | |
| 18861 Result result = static_cast<Result>( getDispatcher()->vkCreateXcbSurfaceKHR( static_cast<VkInstance>( m_instance ), | |
| 18862 reinterpret_cast<const VkXcbSurfaceCreateInfoKHR *>( &createInfo ), | |
| 18863 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 18864 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); | |
| 18865 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createXcbSurfaceKHR" ); | |
| 18866 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast<VkSurfaceKHR *>( &surface ), allocator ) ); | |
| 18867 } | |
| 18868 | |
| 18869 // wrapper function for command vkGetPhysicalDeviceXcbPresentationSupportKHR, see | |
| 18870 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceXcbPresentationSupportKHR.html | |
| 18871 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Bool32 PhysicalDevice::getXcbPresentationSupportKHR( uint32_t queueFamilyIndex, | |
| 18872 xcb_connection_t & connection, | |
| 18873 xcb_visualid_t visual_id ) const VULKAN_HPP_NOEXCEPT | |
| 18874 { | |
| 18875 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceXcbPresentationSupportKHR && | |
| 18876 "Function <vkGetPhysicalDeviceXcbPresentationSupportKHR> requires <VK_KHR_xcb_surface>" ); | |
| 18877 | |
| 18878 VkBool32 result = getDispatcher()->vkGetPhysicalDeviceXcbPresentationSupportKHR( | |
| 18879 static_cast<VkPhysicalDevice>( m_physicalDevice ), queueFamilyIndex, &connection, visual_id ); | |
| 18880 | |
| 18881 return static_cast<Bool32>( result ); | |
| 18882 } | |
| 18883 # endif /*VK_USE_PLATFORM_XCB_KHR*/ | |
| 18884 | |
| 18885 # if defined( VK_USE_PLATFORM_WAYLAND_KHR ) | |
| 18886 //=== VK_KHR_wayland_surface === | |
| 18887 | |
| 18888 // wrapper function for command vkCreateWaylandSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateWaylandSurfaceKHR.html | |
| 18889 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<SurfaceKHR>::type | |
| 18890 Instance::createWaylandSurfaceKHR( WaylandSurfaceCreateInfoKHR const & createInfo, | |
| 18891 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 18892 { | |
| 18893 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; | |
| 18894 Result result = static_cast<Result>( getDispatcher()->vkCreateWaylandSurfaceKHR( static_cast<VkInstance>( m_instance ), | |
| 18895 reinterpret_cast<const VkWaylandSurfaceCreateInfoKHR *>( &createInfo ), | |
| 18896 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 18897 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); | |
| 18898 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createWaylandSurfaceKHR" ); | |
| 18899 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast<VkSurfaceKHR *>( &surface ), allocator ) ); | |
| 18900 } | |
| 18901 | |
| 18902 // wrapper function for command vkGetPhysicalDeviceWaylandPresentationSupportKHR, see | |
| 18903 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceWaylandPresentationSupportKHR.html | |
| 18904 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Bool32 PhysicalDevice::getWaylandPresentationSupportKHR( uint32_t queueFamilyIndex, | |
| 18905 struct wl_display & display ) const VULKAN_HPP_NOEXCEPT | |
| 18906 { | |
| 18907 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceWaylandPresentationSupportKHR && | |
| 18908 "Function <vkGetPhysicalDeviceWaylandPresentationSupportKHR> requires <VK_KHR_wayland_surface>" ); | |
| 18909 | |
| 18910 VkBool32 result = | |
| 18911 getDispatcher()->vkGetPhysicalDeviceWaylandPresentationSupportKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), queueFamilyIndex, &display ); | |
| 18912 | |
| 18913 return static_cast<Bool32>( result ); | |
| 18914 } | |
| 18915 # endif /*VK_USE_PLATFORM_WAYLAND_KHR*/ | |
| 18916 | |
| 18917 # if defined( VK_USE_PLATFORM_ANDROID_KHR ) | |
| 18918 //=== VK_KHR_android_surface === | |
| 18919 | |
| 18920 // wrapper function for command vkCreateAndroidSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAndroidSurfaceKHR.html | |
| 18921 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<SurfaceKHR>::type | |
| 18922 Instance::createAndroidSurfaceKHR( AndroidSurfaceCreateInfoKHR const & createInfo, | |
| 18923 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 18924 { | |
| 18925 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; | |
| 18926 Result result = static_cast<Result>( getDispatcher()->vkCreateAndroidSurfaceKHR( static_cast<VkInstance>( m_instance ), | |
| 18927 reinterpret_cast<const VkAndroidSurfaceCreateInfoKHR *>( &createInfo ), | |
| 18928 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 18929 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); | |
| 18930 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createAndroidSurfaceKHR" ); | |
| 18931 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast<VkSurfaceKHR *>( &surface ), allocator ) ); | |
| 18932 } | |
| 18933 # endif /*VK_USE_PLATFORM_ANDROID_KHR*/ | |
| 18934 | |
| 18935 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 18936 //=== VK_KHR_win32_surface === | |
| 18937 | |
| 18938 // wrapper function for command vkCreateWin32SurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateWin32SurfaceKHR.html | |
| 18939 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<SurfaceKHR>::type | |
| 18940 Instance::createWin32SurfaceKHR( Win32SurfaceCreateInfoKHR const & createInfo, | |
| 18941 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 18942 { | |
| 18943 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; | |
| 18944 Result result = static_cast<Result>( getDispatcher()->vkCreateWin32SurfaceKHR( static_cast<VkInstance>( m_instance ), | |
| 18945 reinterpret_cast<const VkWin32SurfaceCreateInfoKHR *>( &createInfo ), | |
| 18946 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 18947 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); | |
| 18948 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createWin32SurfaceKHR" ); | |
| 18949 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast<VkSurfaceKHR *>( &surface ), allocator ) ); | |
| 18950 } | |
| 18951 | |
| 18952 // wrapper function for command vkGetPhysicalDeviceWin32PresentationSupportKHR, see | |
| 18953 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceWin32PresentationSupportKHR.html | |
| 18954 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Bool32 PhysicalDevice::getWin32PresentationSupportKHR( uint32_t queueFamilyIndex ) const VULKAN_HPP_NOEXCEPT | |
| 18955 { | |
| 18956 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceWin32PresentationSupportKHR && | |
| 18957 "Function <vkGetPhysicalDeviceWin32PresentationSupportKHR> requires <VK_KHR_win32_surface>" ); | |
| 18958 | |
| 18959 VkBool32 result = getDispatcher()->vkGetPhysicalDeviceWin32PresentationSupportKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), queueFamilyIndex ); | |
| 18960 | |
| 18961 return static_cast<Bool32>( result ); | |
| 18962 } | |
| 18963 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 18964 | |
| 18965 //=== VK_EXT_debug_report === | |
| 18966 | |
| 18967 // wrapper function for command vkCreateDebugReportCallbackEXT, see | |
| 18968 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDebugReportCallbackEXT.html | |
| 18969 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DebugReportCallbackEXT>::type | |
| 18970 Instance::createDebugReportCallbackEXT( DebugReportCallbackCreateInfoEXT const & createInfo, | |
| 18971 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 18972 { | |
| 18973 VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback; | |
| 18974 Result result = | |
| 18975 static_cast<Result>( getDispatcher()->vkCreateDebugReportCallbackEXT( static_cast<VkInstance>( m_instance ), | |
| 18976 reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT *>( &createInfo ), | |
| 18977 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 18978 reinterpret_cast<VkDebugReportCallbackEXT *>( &callback ) ) ); | |
| 18979 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createDebugReportCallbackEXT" ); | |
| 18980 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( | |
| 18981 result, DebugReportCallbackEXT( *this, *reinterpret_cast<VkDebugReportCallbackEXT *>( &callback ), allocator ) ); | |
| 18982 } | |
| 18983 | |
| 18984 // wrapper function for command vkDebugReportMessageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDebugReportMessageEXT.html | |
| 18985 VULKAN_HPP_INLINE void Instance::debugReportMessageEXT( DebugReportFlagsEXT flags, | |
| 18986 DebugReportObjectTypeEXT objectType_, | |
| 18987 uint64_t object, | |
| 18988 size_t location, | |
| 18989 int32_t messageCode, | |
| 18990 const std::string & layerPrefix, | |
| 18991 const std::string & message ) const VULKAN_HPP_NOEXCEPT | |
| 18992 { | |
| 18993 VULKAN_HPP_ASSERT( getDispatcher()->vkDebugReportMessageEXT && "Function <vkDebugReportMessageEXT> requires <VK_EXT_debug_report>" ); | |
| 18994 | |
| 18995 getDispatcher()->vkDebugReportMessageEXT( static_cast<VkInstance>( m_instance ), | |
| 18996 static_cast<VkDebugReportFlagsEXT>( flags ), | |
| 18997 static_cast<VkDebugReportObjectTypeEXT>( objectType_ ), | |
| 18998 object, | |
| 18999 location, | |
| 19000 messageCode, | |
| 19001 layerPrefix.c_str(), | |
| 19002 message.c_str() ); | |
| 19003 } | |
| 19004 | |
| 19005 //=== VK_EXT_debug_marker === | |
| 19006 | |
| 19007 // wrapper function for command vkDebugMarkerSetObjectTagEXT, see | |
| 19008 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDebugMarkerSetObjectTagEXT.html | |
| 19009 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::debugMarkerSetObjectTagEXT( const DebugMarkerObjectTagInfoEXT & tagInfo ) const | |
| 19010 { | |
| 19011 VULKAN_HPP_ASSERT( getDispatcher()->vkDebugMarkerSetObjectTagEXT && "Function <vkDebugMarkerSetObjectTagEXT> requires <VK_EXT_debug_marker>" ); | |
| 19012 | |
| 19013 Result result = static_cast<Result>( getDispatcher()->vkDebugMarkerSetObjectTagEXT( | |
| 19014 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkDebugMarkerObjectTagInfoEXT *>( &tagInfo ) ) ); | |
| 19015 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::debugMarkerSetObjectTagEXT" ); | |
| 19016 | |
| 19017 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 19018 } | |
| 19019 | |
| 19020 // wrapper function for command vkDebugMarkerSetObjectNameEXT, see | |
| 19021 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDebugMarkerSetObjectNameEXT.html | |
| 19022 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::debugMarkerSetObjectNameEXT( const DebugMarkerObjectNameInfoEXT & nameInfo ) const | |
| 19023 { | |
| 19024 VULKAN_HPP_ASSERT( getDispatcher()->vkDebugMarkerSetObjectNameEXT && "Function <vkDebugMarkerSetObjectNameEXT> requires <VK_EXT_debug_marker>" ); | |
| 19025 | |
| 19026 Result result = static_cast<Result>( getDispatcher()->vkDebugMarkerSetObjectNameEXT( | |
| 19027 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkDebugMarkerObjectNameInfoEXT *>( &nameInfo ) ) ); | |
| 19028 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::debugMarkerSetObjectNameEXT" ); | |
| 19029 | |
| 19030 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 19031 } | |
| 19032 | |
| 19033 // wrapper function for command vkCmdDebugMarkerBeginEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDebugMarkerBeginEXT.html | |
| 19034 VULKAN_HPP_INLINE void CommandBuffer::debugMarkerBeginEXT( const DebugMarkerMarkerInfoEXT & markerInfo ) const VULKAN_HPP_NOEXCEPT | |
| 19035 { | |
| 19036 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDebugMarkerBeginEXT && "Function <vkCmdDebugMarkerBeginEXT> requires <VK_EXT_debug_marker>" ); | |
| 19037 | |
| 19038 getDispatcher()->vkCmdDebugMarkerBeginEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 19039 reinterpret_cast<const VkDebugMarkerMarkerInfoEXT *>( &markerInfo ) ); | |
| 19040 } | |
| 19041 | |
| 19042 // wrapper function for command vkCmdDebugMarkerEndEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDebugMarkerEndEXT.html | |
| 19043 VULKAN_HPP_INLINE void CommandBuffer::debugMarkerEndEXT() const VULKAN_HPP_NOEXCEPT | |
| 19044 { | |
| 19045 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDebugMarkerEndEXT && "Function <vkCmdDebugMarkerEndEXT> requires <VK_EXT_debug_marker>" ); | |
| 19046 | |
| 19047 getDispatcher()->vkCmdDebugMarkerEndEXT( static_cast<VkCommandBuffer>( m_commandBuffer ) ); | |
| 19048 } | |
| 19049 | |
| 19050 // wrapper function for command vkCmdDebugMarkerInsertEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDebugMarkerInsertEXT.html | |
| 19051 VULKAN_HPP_INLINE void CommandBuffer::debugMarkerInsertEXT( const DebugMarkerMarkerInfoEXT & markerInfo ) const VULKAN_HPP_NOEXCEPT | |
| 19052 { | |
| 19053 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDebugMarkerInsertEXT && "Function <vkCmdDebugMarkerInsertEXT> requires <VK_EXT_debug_marker>" ); | |
| 19054 | |
| 19055 getDispatcher()->vkCmdDebugMarkerInsertEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 19056 reinterpret_cast<const VkDebugMarkerMarkerInfoEXT *>( &markerInfo ) ); | |
| 19057 } | |
| 19058 | |
| 19059 //=== VK_KHR_video_queue === | |
| 19060 // wrapper function for command vkGetPhysicalDeviceVideoCapabilitiesKHR, see | |
| 19061 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoCapabilitiesKHR.html | |
| 19062 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getVideoCapabilitiesKHR( const VideoProfileInfoKHR * pVideoProfile, | |
| 19063 VideoCapabilitiesKHR * pCapabilities ) const VULKAN_HPP_NOEXCEPT | |
| 19064 { | |
| 19065 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceVideoCapabilitiesKHR && | |
| 19066 "Function <vkGetPhysicalDeviceVideoCapabilitiesKHR> requires <VK_KHR_video_queue>" ); | |
| 19067 return static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceVideoCapabilitiesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 19068 reinterpret_cast<const VkVideoProfileInfoKHR *>( pVideoProfile ), | |
| 19069 reinterpret_cast<VkVideoCapabilitiesKHR *>( pCapabilities ) ) ); | |
| 19070 } | |
| 19071 | |
| 19072 // wrapper function for command vkGetPhysicalDeviceVideoCapabilitiesKHR, see | |
| 19073 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoCapabilitiesKHR.html | |
| 19074 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VideoCapabilitiesKHR>::type | |
| 19075 PhysicalDevice::getVideoCapabilitiesKHR( const VideoProfileInfoKHR & videoProfile ) const | |
| 19076 { | |
| 19077 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceVideoCapabilitiesKHR && | |
| 19078 "Function <vkGetPhysicalDeviceVideoCapabilitiesKHR> requires <VK_KHR_video_queue>" ); | |
| 19079 | |
| 19080 VideoCapabilitiesKHR capabilities; | |
| 19081 Result result = | |
| 19082 static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceVideoCapabilitiesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 19083 reinterpret_cast<const VkVideoProfileInfoKHR *>( &videoProfile ), | |
| 19084 reinterpret_cast<VkVideoCapabilitiesKHR *>( &capabilities ) ) ); | |
| 19085 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getVideoCapabilitiesKHR" ); | |
| 19086 | |
| 19087 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( capabilities ) ); | |
| 19088 } | |
| 19089 | |
| 19090 // wrapper function for command vkGetPhysicalDeviceVideoCapabilitiesKHR, see | |
| 19091 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoCapabilitiesKHR.html | |
| 19092 template <typename X, typename Y, typename... Z> | |
| 19093 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<StructureChain<X, Y, Z...>>::type | |
| 19094 PhysicalDevice::getVideoCapabilitiesKHR( const VideoProfileInfoKHR & videoProfile ) const | |
| 19095 { | |
| 19096 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceVideoCapabilitiesKHR && | |
| 19097 "Function <vkGetPhysicalDeviceVideoCapabilitiesKHR> requires <VK_KHR_video_queue>" ); | |
| 19098 | |
| 19099 StructureChain<X, Y, Z...> structureChain; | |
| 19100 VideoCapabilitiesKHR & capabilities = structureChain.template get<VideoCapabilitiesKHR>(); | |
| 19101 Result result = | |
| 19102 static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceVideoCapabilitiesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 19103 reinterpret_cast<const VkVideoProfileInfoKHR *>( &videoProfile ), | |
| 19104 reinterpret_cast<VkVideoCapabilitiesKHR *>( &capabilities ) ) ); | |
| 19105 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getVideoCapabilitiesKHR" ); | |
| 19106 | |
| 19107 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChain ) ); | |
| 19108 } | |
| 19109 | |
| 19110 // wrapper function for command vkGetPhysicalDeviceVideoFormatPropertiesKHR, see | |
| 19111 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoFormatPropertiesKHR.html | |
| 19112 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VideoFormatPropertiesKHR>>::type | |
| 19113 PhysicalDevice::getVideoFormatPropertiesKHR( const PhysicalDeviceVideoFormatInfoKHR & videoFormatInfo ) const | |
| 19114 { | |
| 19115 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceVideoFormatPropertiesKHR && | |
| 19116 "Function <vkGetPhysicalDeviceVideoFormatPropertiesKHR> requires <VK_KHR_video_queue>" ); | |
| 19117 | |
| 19118 std::vector<VideoFormatPropertiesKHR> videoFormatProperties; | |
| 19119 uint32_t videoFormatPropertyCount; | |
| 19120 Result result; | |
| 19121 do | |
| 19122 { | |
| 19123 result = static_cast<Result>( | |
| 19124 getDispatcher()->vkGetPhysicalDeviceVideoFormatPropertiesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 19125 reinterpret_cast<const VkPhysicalDeviceVideoFormatInfoKHR *>( &videoFormatInfo ), | |
| 19126 &videoFormatPropertyCount, | |
| 19127 nullptr ) ); | |
| 19128 if ( ( result == Result::eSuccess ) && videoFormatPropertyCount ) | |
| 19129 { | |
| 19130 videoFormatProperties.resize( videoFormatPropertyCount ); | |
| 19131 result = static_cast<Result>( | |
| 19132 getDispatcher()->vkGetPhysicalDeviceVideoFormatPropertiesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 19133 reinterpret_cast<const VkPhysicalDeviceVideoFormatInfoKHR *>( &videoFormatInfo ), | |
| 19134 &videoFormatPropertyCount, | |
| 19135 reinterpret_cast<VkVideoFormatPropertiesKHR *>( videoFormatProperties.data() ) ) ); | |
| 19136 } | |
| 19137 } while ( result == Result::eIncomplete ); | |
| 19138 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getVideoFormatPropertiesKHR" ); | |
| 19139 VULKAN_HPP_ASSERT( videoFormatPropertyCount <= videoFormatProperties.size() ); | |
| 19140 if ( videoFormatPropertyCount < videoFormatProperties.size() ) | |
| 19141 { | |
| 19142 videoFormatProperties.resize( videoFormatPropertyCount ); | |
| 19143 } | |
| 19144 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( videoFormatProperties ) ); | |
| 19145 } | |
| 19146 | |
| 19147 // wrapper function for command vkGetPhysicalDeviceVideoFormatPropertiesKHR, see | |
| 19148 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoFormatPropertiesKHR.html | |
| 19149 template <typename StructureChain> | |
| 19150 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<StructureChain>>::type | |
| 19151 PhysicalDevice::getVideoFormatPropertiesKHR( const PhysicalDeviceVideoFormatInfoKHR & videoFormatInfo ) const | |
| 19152 { | |
| 19153 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceVideoFormatPropertiesKHR && | |
| 19154 "Function <vkGetPhysicalDeviceVideoFormatPropertiesKHR> requires <VK_KHR_video_queue>" ); | |
| 19155 | |
| 19156 std::vector<StructureChain> structureChains; | |
| 19157 std::vector<VideoFormatPropertiesKHR> videoFormatProperties; | |
| 19158 uint32_t videoFormatPropertyCount; | |
| 19159 Result result; | |
| 19160 do | |
| 19161 { | |
| 19162 result = static_cast<Result>( | |
| 19163 getDispatcher()->vkGetPhysicalDeviceVideoFormatPropertiesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 19164 reinterpret_cast<const VkPhysicalDeviceVideoFormatInfoKHR *>( &videoFormatInfo ), | |
| 19165 &videoFormatPropertyCount, | |
| 19166 nullptr ) ); | |
| 19167 if ( ( result == Result::eSuccess ) && videoFormatPropertyCount ) | |
| 19168 { | |
| 19169 structureChains.resize( videoFormatPropertyCount ); | |
| 19170 videoFormatProperties.resize( videoFormatPropertyCount ); | |
| 19171 for ( uint32_t i = 0; i < videoFormatPropertyCount; i++ ) | |
| 19172 { | |
| 19173 videoFormatProperties[i].pNext = structureChains[i].template get<VideoFormatPropertiesKHR>().pNext; | |
| 19174 } | |
| 19175 result = static_cast<Result>( | |
| 19176 getDispatcher()->vkGetPhysicalDeviceVideoFormatPropertiesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 19177 reinterpret_cast<const VkPhysicalDeviceVideoFormatInfoKHR *>( &videoFormatInfo ), | |
| 19178 &videoFormatPropertyCount, | |
| 19179 reinterpret_cast<VkVideoFormatPropertiesKHR *>( videoFormatProperties.data() ) ) ); | |
| 19180 } | |
| 19181 } while ( result == Result::eIncomplete ); | |
| 19182 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getVideoFormatPropertiesKHR" ); | |
| 19183 VULKAN_HPP_ASSERT( videoFormatPropertyCount <= videoFormatProperties.size() ); | |
| 19184 if ( videoFormatPropertyCount < videoFormatProperties.size() ) | |
| 19185 { | |
| 19186 structureChains.resize( videoFormatPropertyCount ); | |
| 19187 } | |
| 19188 for ( uint32_t i = 0; i < videoFormatPropertyCount; i++ ) | |
| 19189 { | |
| 19190 structureChains[i].template get<VideoFormatPropertiesKHR>() = videoFormatProperties[i]; | |
| 19191 } | |
| 19192 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChains ) ); | |
| 19193 } | |
| 19194 | |
| 19195 // wrapper function for command vkCreateVideoSessionKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateVideoSessionKHR.html | |
| 19196 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VideoSessionKHR>::type | |
| 19197 Device::createVideoSessionKHR( VideoSessionCreateInfoKHR const & createInfo, | |
| 19198 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 19199 { | |
| 19200 VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession; | |
| 19201 Result result = static_cast<Result>( getDispatcher()->vkCreateVideoSessionKHR( static_cast<VkDevice>( m_device ), | |
| 19202 reinterpret_cast<const VkVideoSessionCreateInfoKHR *>( &createInfo ), | |
| 19203 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 19204 reinterpret_cast<VkVideoSessionKHR *>( &videoSession ) ) ); | |
| 19205 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createVideoSessionKHR" ); | |
| 19206 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( | |
| 19207 result, VideoSessionKHR( *this, *reinterpret_cast<VkVideoSessionKHR *>( &videoSession ), allocator ) ); | |
| 19208 } | |
| 19209 | |
| 19210 // wrapper function for command vkGetVideoSessionMemoryRequirementsKHR, see | |
| 19211 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetVideoSessionMemoryRequirementsKHR.html | |
| 19212 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VideoSessionMemoryRequirementsKHR>>::type | |
| 19213 VideoSessionKHR::getMemoryRequirements() const | |
| 19214 { | |
| 19215 VULKAN_HPP_ASSERT( getDispatcher()->vkGetVideoSessionMemoryRequirementsKHR && | |
| 19216 "Function <vkGetVideoSessionMemoryRequirementsKHR> requires <VK_KHR_video_queue>" ); | |
| 19217 | |
| 19218 std::vector<VideoSessionMemoryRequirementsKHR> memoryRequirements; | |
| 19219 uint32_t memoryRequirementsCount; | |
| 19220 Result result; | |
| 19221 do | |
| 19222 { | |
| 19223 result = static_cast<Result>( getDispatcher()->vkGetVideoSessionMemoryRequirementsKHR( | |
| 19224 static_cast<VkDevice>( m_device ), static_cast<VkVideoSessionKHR>( m_videoSessionKHR ), &memoryRequirementsCount, nullptr ) ); | |
| 19225 if ( ( result == Result::eSuccess ) && memoryRequirementsCount ) | |
| 19226 { | |
| 19227 memoryRequirements.resize( memoryRequirementsCount ); | |
| 19228 result = static_cast<Result>( | |
| 19229 getDispatcher()->vkGetVideoSessionMemoryRequirementsKHR( static_cast<VkDevice>( m_device ), | |
| 19230 static_cast<VkVideoSessionKHR>( m_videoSessionKHR ), | |
| 19231 &memoryRequirementsCount, | |
| 19232 reinterpret_cast<VkVideoSessionMemoryRequirementsKHR *>( memoryRequirements.data() ) ) ); | |
| 19233 } | |
| 19234 } while ( result == Result::eIncomplete ); | |
| 19235 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::VideoSessionKHR::getMemoryRequirements" ); | |
| 19236 VULKAN_HPP_ASSERT( memoryRequirementsCount <= memoryRequirements.size() ); | |
| 19237 if ( memoryRequirementsCount < memoryRequirements.size() ) | |
| 19238 { | |
| 19239 memoryRequirements.resize( memoryRequirementsCount ); | |
| 19240 } | |
| 19241 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( memoryRequirements ) ); | |
| 19242 } | |
| 19243 | |
| 19244 // wrapper function for command vkBindVideoSessionMemoryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindVideoSessionMemoryKHR.html | |
| 19245 VULKAN_HPP_INLINE typename ResultValueType<void>::type | |
| 19246 VideoSessionKHR::bindMemory( ArrayProxy<const BindVideoSessionMemoryInfoKHR> const & bindSessionMemoryInfos ) const | |
| 19247 { | |
| 19248 VULKAN_HPP_ASSERT( getDispatcher()->vkBindVideoSessionMemoryKHR && "Function <vkBindVideoSessionMemoryKHR> requires <VK_KHR_video_queue>" ); | |
| 19249 | |
| 19250 Result result = static_cast<Result>( | |
| 19251 getDispatcher()->vkBindVideoSessionMemoryKHR( static_cast<VkDevice>( m_device ), | |
| 19252 static_cast<VkVideoSessionKHR>( m_videoSessionKHR ), | |
| 19253 bindSessionMemoryInfos.size(), | |
| 19254 reinterpret_cast<const VkBindVideoSessionMemoryInfoKHR *>( bindSessionMemoryInfos.data() ) ) ); | |
| 19255 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::VideoSessionKHR::bindMemory" ); | |
| 19256 | |
| 19257 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 19258 } | |
| 19259 | |
| 19260 // wrapper function for command vkCreateVideoSessionParametersKHR, see | |
| 19261 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateVideoSessionParametersKHR.html | |
| 19262 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VideoSessionParametersKHR>::type | |
| 19263 Device::createVideoSessionParametersKHR( VideoSessionParametersCreateInfoKHR const & createInfo, | |
| 19264 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 19265 { | |
| 19266 VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParameters; | |
| 19267 Result result = | |
| 19268 static_cast<Result>( getDispatcher()->vkCreateVideoSessionParametersKHR( static_cast<VkDevice>( m_device ), | |
| 19269 reinterpret_cast<const VkVideoSessionParametersCreateInfoKHR *>( &createInfo ), | |
| 19270 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 19271 reinterpret_cast<VkVideoSessionParametersKHR *>( &videoSessionParameters ) ) ); | |
| 19272 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createVideoSessionParametersKHR" ); | |
| 19273 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( | |
| 19274 result, VideoSessionParametersKHR( *this, *reinterpret_cast<VkVideoSessionParametersKHR *>( &videoSessionParameters ), allocator ) ); | |
| 19275 } | |
| 19276 | |
| 19277 // wrapper function for command vkUpdateVideoSessionParametersKHR, see | |
| 19278 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateVideoSessionParametersKHR.html | |
| 19279 VULKAN_HPP_INLINE typename ResultValueType<void>::type VideoSessionParametersKHR::update( const VideoSessionParametersUpdateInfoKHR & updateInfo ) const | |
| 19280 { | |
| 19281 VULKAN_HPP_ASSERT( getDispatcher()->vkUpdateVideoSessionParametersKHR && "Function <vkUpdateVideoSessionParametersKHR> requires <VK_KHR_video_queue>" ); | |
| 19282 | |
| 19283 Result result = static_cast<Result>( | |
| 19284 getDispatcher()->vkUpdateVideoSessionParametersKHR( static_cast<VkDevice>( m_device ), | |
| 19285 static_cast<VkVideoSessionParametersKHR>( m_videoSessionParametersKHR ), | |
| 19286 reinterpret_cast<const VkVideoSessionParametersUpdateInfoKHR *>( &updateInfo ) ) ); | |
| 19287 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::VideoSessionParametersKHR::update" ); | |
| 19288 | |
| 19289 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 19290 } | |
| 19291 | |
| 19292 // wrapper function for command vkCmdBeginVideoCodingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginVideoCodingKHR.html | |
| 19293 VULKAN_HPP_INLINE void CommandBuffer::beginVideoCodingKHR( const VideoBeginCodingInfoKHR & beginInfo ) const VULKAN_HPP_NOEXCEPT | |
| 19294 { | |
| 19295 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBeginVideoCodingKHR && "Function <vkCmdBeginVideoCodingKHR> requires <VK_KHR_video_queue>" ); | |
| 19296 | |
| 19297 getDispatcher()->vkCmdBeginVideoCodingKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 19298 reinterpret_cast<const VkVideoBeginCodingInfoKHR *>( &beginInfo ) ); | |
| 19299 } | |
| 19300 | |
| 19301 // wrapper function for command vkCmdEndVideoCodingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndVideoCodingKHR.html | |
| 19302 VULKAN_HPP_INLINE void CommandBuffer::endVideoCodingKHR( const VideoEndCodingInfoKHR & endCodingInfo ) const VULKAN_HPP_NOEXCEPT | |
| 19303 { | |
| 19304 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdEndVideoCodingKHR && "Function <vkCmdEndVideoCodingKHR> requires <VK_KHR_video_queue>" ); | |
| 19305 | |
| 19306 getDispatcher()->vkCmdEndVideoCodingKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 19307 reinterpret_cast<const VkVideoEndCodingInfoKHR *>( &endCodingInfo ) ); | |
| 19308 } | |
| 19309 | |
| 19310 // wrapper function for command vkCmdControlVideoCodingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdControlVideoCodingKHR.html | |
| 19311 VULKAN_HPP_INLINE void CommandBuffer::controlVideoCodingKHR( const VideoCodingControlInfoKHR & codingControlInfo ) const VULKAN_HPP_NOEXCEPT | |
| 19312 { | |
| 19313 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdControlVideoCodingKHR && "Function <vkCmdControlVideoCodingKHR> requires <VK_KHR_video_queue>" ); | |
| 19314 | |
| 19315 getDispatcher()->vkCmdControlVideoCodingKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 19316 reinterpret_cast<const VkVideoCodingControlInfoKHR *>( &codingControlInfo ) ); | |
| 19317 } | |
| 19318 | |
| 19319 //=== VK_KHR_video_decode_queue === | |
| 19320 | |
| 19321 // wrapper function for command vkCmdDecodeVideoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecodeVideoKHR.html | |
| 19322 VULKAN_HPP_INLINE void CommandBuffer::decodeVideoKHR( const VideoDecodeInfoKHR & decodeInfo ) const VULKAN_HPP_NOEXCEPT | |
| 19323 { | |
| 19324 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDecodeVideoKHR && "Function <vkCmdDecodeVideoKHR> requires <VK_KHR_video_decode_queue>" ); | |
| 19325 | |
| 19326 getDispatcher()->vkCmdDecodeVideoKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkVideoDecodeInfoKHR *>( &decodeInfo ) ); | |
| 19327 } | |
| 19328 | |
| 19329 //=== VK_EXT_transform_feedback === | |
| 19330 | |
| 19331 // wrapper function for command vkCmdBindTransformFeedbackBuffersEXT, see | |
| 19332 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindTransformFeedbackBuffersEXT.html | |
| 19333 VULKAN_HPP_INLINE void CommandBuffer::bindTransformFeedbackBuffersEXT( uint32_t firstBinding, | |
| 19334 ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers, | |
| 19335 ArrayProxy<const DeviceSize> const & offsets, | |
| 19336 ArrayProxy<const DeviceSize> const & sizes ) const | |
| 19337 { | |
| 19338 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBindTransformFeedbackBuffersEXT && | |
| 19339 "Function <vkCmdBindTransformFeedbackBuffersEXT> requires <VK_EXT_transform_feedback>" ); | |
| 19340 # ifdef VULKAN_HPP_NO_EXCEPTIONS | |
| 19341 VULKAN_HPP_ASSERT( buffers.size() == offsets.size() ); | |
| 19342 VULKAN_HPP_ASSERT( sizes.empty() || buffers.size() == sizes.size() ); | |
| 19343 # else | |
| 19344 if ( buffers.size() != offsets.size() ) | |
| 19345 { | |
| 19346 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindTransformFeedbackBuffersEXT: buffers.size() != offsets.size()" ); | |
| 19347 } | |
| 19348 if ( !sizes.empty() && buffers.size() != sizes.size() ) | |
| 19349 { | |
| 19350 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindTransformFeedbackBuffersEXT: buffers.size() != sizes.size()" ); | |
| 19351 } | |
| 19352 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ | |
| 19353 | |
| 19354 getDispatcher()->vkCmdBindTransformFeedbackBuffersEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 19355 firstBinding, | |
| 19356 buffers.size(), | |
| 19357 reinterpret_cast<const VkBuffer *>( buffers.data() ), | |
| 19358 reinterpret_cast<const VkDeviceSize *>( offsets.data() ), | |
| 19359 reinterpret_cast<const VkDeviceSize *>( sizes.data() ) ); | |
| 19360 } | |
| 19361 | |
| 19362 // wrapper function for command vkCmdBeginTransformFeedbackEXT, see | |
| 19363 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginTransformFeedbackEXT.html | |
| 19364 VULKAN_HPP_INLINE void CommandBuffer::beginTransformFeedbackEXT( uint32_t firstCounterBuffer, | |
| 19365 ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & counterBuffers, | |
| 19366 ArrayProxy<const DeviceSize> const & counterBufferOffsets ) const | |
| 19367 { | |
| 19368 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBeginTransformFeedbackEXT && "Function <vkCmdBeginTransformFeedbackEXT> requires <VK_EXT_transform_feedback>" ); | |
| 19369 # ifdef VULKAN_HPP_NO_EXCEPTIONS | |
| 19370 VULKAN_HPP_ASSERT( counterBufferOffsets.empty() || counterBuffers.size() == counterBufferOffsets.size() ); | |
| 19371 # else | |
| 19372 if ( !counterBufferOffsets.empty() && counterBuffers.size() != counterBufferOffsets.size() ) | |
| 19373 { | |
| 19374 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::beginTransformFeedbackEXT: counterBuffers.size() != counterBufferOffsets.size()" ); | |
| 19375 } | |
| 19376 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ | |
| 19377 | |
| 19378 getDispatcher()->vkCmdBeginTransformFeedbackEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 19379 firstCounterBuffer, | |
| 19380 counterBuffers.size(), | |
| 19381 reinterpret_cast<const VkBuffer *>( counterBuffers.data() ), | |
| 19382 reinterpret_cast<const VkDeviceSize *>( counterBufferOffsets.data() ) ); | |
| 19383 } | |
| 19384 | |
| 19385 // wrapper function for command vkCmdEndTransformFeedbackEXT, see | |
| 19386 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndTransformFeedbackEXT.html | |
| 19387 VULKAN_HPP_INLINE void CommandBuffer::endTransformFeedbackEXT( uint32_t firstCounterBuffer, | |
| 19388 ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & counterBuffers, | |
| 19389 ArrayProxy<const DeviceSize> const & counterBufferOffsets ) const | |
| 19390 { | |
| 19391 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdEndTransformFeedbackEXT && "Function <vkCmdEndTransformFeedbackEXT> requires <VK_EXT_transform_feedback>" ); | |
| 19392 # ifdef VULKAN_HPP_NO_EXCEPTIONS | |
| 19393 VULKAN_HPP_ASSERT( counterBufferOffsets.empty() || counterBuffers.size() == counterBufferOffsets.size() ); | |
| 19394 # else | |
| 19395 if ( !counterBufferOffsets.empty() && counterBuffers.size() != counterBufferOffsets.size() ) | |
| 19396 { | |
| 19397 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::endTransformFeedbackEXT: counterBuffers.size() != counterBufferOffsets.size()" ); | |
| 19398 } | |
| 19399 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ | |
| 19400 | |
| 19401 getDispatcher()->vkCmdEndTransformFeedbackEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 19402 firstCounterBuffer, | |
| 19403 counterBuffers.size(), | |
| 19404 reinterpret_cast<const VkBuffer *>( counterBuffers.data() ), | |
| 19405 reinterpret_cast<const VkDeviceSize *>( counterBufferOffsets.data() ) ); | |
| 19406 } | |
| 19407 | |
| 19408 // wrapper function for command vkCmdBeginQueryIndexedEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginQueryIndexedEXT.html | |
| 19409 VULKAN_HPP_INLINE void CommandBuffer::beginQueryIndexedEXT( VULKAN_HPP_NAMESPACE::QueryPool queryPool, | |
| 19410 uint32_t query, | |
| 19411 QueryControlFlags flags, | |
| 19412 uint32_t index ) const VULKAN_HPP_NOEXCEPT | |
| 19413 { | |
| 19414 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBeginQueryIndexedEXT && "Function <vkCmdBeginQueryIndexedEXT> requires <VK_EXT_transform_feedback>" ); | |
| 19415 | |
| 19416 getDispatcher()->vkCmdBeginQueryIndexedEXT( | |
| 19417 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkQueryPool>( queryPool ), query, static_cast<VkQueryControlFlags>( flags ), index ); | |
| 19418 } | |
| 19419 | |
| 19420 // wrapper function for command vkCmdEndQueryIndexedEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndQueryIndexedEXT.html | |
| 19421 VULKAN_HPP_INLINE void | |
| 19422 CommandBuffer::endQueryIndexedEXT( VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query, uint32_t index ) const VULKAN_HPP_NOEXCEPT | |
| 19423 { | |
| 19424 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdEndQueryIndexedEXT && "Function <vkCmdEndQueryIndexedEXT> requires <VK_EXT_transform_feedback>" ); | |
| 19425 | |
| 19426 getDispatcher()->vkCmdEndQueryIndexedEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkQueryPool>( queryPool ), query, index ); | |
| 19427 } | |
| 19428 | |
| 19429 // wrapper function for command vkCmdDrawIndirectByteCountEXT, see | |
| 19430 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectByteCountEXT.html | |
| 19431 VULKAN_HPP_INLINE void CommandBuffer::drawIndirectByteCountEXT( uint32_t instanceCount, | |
| 19432 uint32_t firstInstance, | |
| 19433 VULKAN_HPP_NAMESPACE::Buffer counterBuffer, | |
| 19434 DeviceSize counterBufferOffset, | |
| 19435 uint32_t counterOffset, | |
| 19436 uint32_t vertexStride ) const VULKAN_HPP_NOEXCEPT | |
| 19437 { | |
| 19438 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDrawIndirectByteCountEXT && "Function <vkCmdDrawIndirectByteCountEXT> requires <VK_EXT_transform_feedback>" ); | |
| 19439 | |
| 19440 getDispatcher()->vkCmdDrawIndirectByteCountEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 19441 instanceCount, | |
| 19442 firstInstance, | |
| 19443 static_cast<VkBuffer>( counterBuffer ), | |
| 19444 static_cast<VkDeviceSize>( counterBufferOffset ), | |
| 19445 counterOffset, | |
| 19446 vertexStride ); | |
| 19447 } | |
| 19448 | |
| 19449 //=== VK_NVX_binary_import === | |
| 19450 | |
| 19451 // wrapper function for command vkCreateCuModuleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCuModuleNVX.html | |
| 19452 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<CuModuleNVX>::type | |
| 19453 Device::createCuModuleNVX( CuModuleCreateInfoNVX const & createInfo, | |
| 19454 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 19455 { | |
| 19456 VULKAN_HPP_NAMESPACE::CuModuleNVX module; | |
| 19457 Result result = static_cast<Result>( getDispatcher()->vkCreateCuModuleNVX( static_cast<VkDevice>( m_device ), | |
| 19458 reinterpret_cast<const VkCuModuleCreateInfoNVX *>( &createInfo ), | |
| 19459 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 19460 reinterpret_cast<VkCuModuleNVX *>( &module ) ) ); | |
| 19461 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createCuModuleNVX" ); | |
| 19462 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, CuModuleNVX( *this, *reinterpret_cast<VkCuModuleNVX *>( &module ), allocator ) ); | |
| 19463 } | |
| 19464 | |
| 19465 // wrapper function for command vkCreateCuFunctionNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCuFunctionNVX.html | |
| 19466 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<CuFunctionNVX>::type | |
| 19467 Device::createCuFunctionNVX( CuFunctionCreateInfoNVX const & createInfo, | |
| 19468 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 19469 { | |
| 19470 VULKAN_HPP_NAMESPACE::CuFunctionNVX function; | |
| 19471 Result result = static_cast<Result>( getDispatcher()->vkCreateCuFunctionNVX( static_cast<VkDevice>( m_device ), | |
| 19472 reinterpret_cast<const VkCuFunctionCreateInfoNVX *>( &createInfo ), | |
| 19473 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 19474 reinterpret_cast<VkCuFunctionNVX *>( &function ) ) ); | |
| 19475 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createCuFunctionNVX" ); | |
| 19476 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, | |
| 19477 CuFunctionNVX( *this, *reinterpret_cast<VkCuFunctionNVX *>( &function ), allocator ) ); | |
| 19478 } | |
| 19479 | |
| 19480 // wrapper function for command vkCmdCuLaunchKernelNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCuLaunchKernelNVX.html | |
| 19481 VULKAN_HPP_INLINE void CommandBuffer::cuLaunchKernelNVX( const CuLaunchInfoNVX & launchInfo ) const VULKAN_HPP_NOEXCEPT | |
| 19482 { | |
| 19483 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCuLaunchKernelNVX && "Function <vkCmdCuLaunchKernelNVX> requires <VK_NVX_binary_import>" ); | |
| 19484 | |
| 19485 getDispatcher()->vkCmdCuLaunchKernelNVX( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkCuLaunchInfoNVX *>( &launchInfo ) ); | |
| 19486 } | |
| 19487 | |
| 19488 //=== VK_NVX_image_view_handle === | |
| 19489 | |
| 19490 // wrapper function for command vkGetImageViewHandleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewHandleNVX.html | |
| 19491 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint32_t Device::getImageViewHandleNVX( const ImageViewHandleInfoNVX & info ) const VULKAN_HPP_NOEXCEPT | |
| 19492 { | |
| 19493 VULKAN_HPP_ASSERT( getDispatcher()->vkGetImageViewHandleNVX && "Function <vkGetImageViewHandleNVX> requires <VK_NVX_image_view_handle>" ); | |
| 19494 | |
| 19495 uint32_t result = | |
| 19496 getDispatcher()->vkGetImageViewHandleNVX( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkImageViewHandleInfoNVX *>( &info ) ); | |
| 19497 | |
| 19498 return result; | |
| 19499 } | |
| 19500 | |
| 19501 // wrapper function for command vkGetImageViewHandle64NVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewHandle64NVX.html | |
| 19502 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t Device::getImageViewHandle64NVX( const ImageViewHandleInfoNVX & info ) const VULKAN_HPP_NOEXCEPT | |
| 19503 { | |
| 19504 VULKAN_HPP_ASSERT( getDispatcher()->vkGetImageViewHandle64NVX && "Function <vkGetImageViewHandle64NVX> requires <VK_NVX_image_view_handle>" ); | |
| 19505 | |
| 19506 uint64_t result = | |
| 19507 getDispatcher()->vkGetImageViewHandle64NVX( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkImageViewHandleInfoNVX *>( &info ) ); | |
| 19508 | |
| 19509 return result; | |
| 19510 } | |
| 19511 | |
| 19512 // wrapper function for command vkGetImageViewAddressNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewAddressNVX.html | |
| 19513 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<ImageViewAddressPropertiesNVX>::type ImageView::getAddressNVX() const | |
| 19514 { | |
| 19515 VULKAN_HPP_ASSERT( getDispatcher()->vkGetImageViewAddressNVX && "Function <vkGetImageViewAddressNVX> requires <VK_NVX_image_view_handle>" ); | |
| 19516 | |
| 19517 ImageViewAddressPropertiesNVX properties; | |
| 19518 Result result = static_cast<Result>( getDispatcher()->vkGetImageViewAddressNVX( | |
| 19519 static_cast<VkDevice>( m_device ), static_cast<VkImageView>( m_imageView ), reinterpret_cast<VkImageViewAddressPropertiesNVX *>( &properties ) ) ); | |
| 19520 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::ImageView::getAddressNVX" ); | |
| 19521 | |
| 19522 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); | |
| 19523 } | |
| 19524 | |
| 19525 //=== VK_AMD_draw_indirect_count === | |
| 19526 | |
| 19527 // wrapper function for command vkCmdDrawIndirectCountAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectCountAMD.html | |
| 19528 VULKAN_HPP_INLINE void CommandBuffer::drawIndirectCountAMD( VULKAN_HPP_NAMESPACE::Buffer buffer, | |
| 19529 DeviceSize offset, | |
| 19530 VULKAN_HPP_NAMESPACE::Buffer countBuffer, | |
| 19531 DeviceSize countBufferOffset, | |
| 19532 uint32_t maxDrawCount, | |
| 19533 uint32_t stride ) const VULKAN_HPP_NOEXCEPT | |
| 19534 { | |
| 19535 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDrawIndirectCountAMD && | |
| 19536 "Function <vkCmdDrawIndirectCountAMD> requires <VK_AMD_draw_indirect_count> or <VK_KHR_draw_indirect_count> or <VK_VERSION_1_2>" ); | |
| 19537 | |
| 19538 getDispatcher()->vkCmdDrawIndirectCountAMD( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 19539 static_cast<VkBuffer>( buffer ), | |
| 19540 static_cast<VkDeviceSize>( offset ), | |
| 19541 static_cast<VkBuffer>( countBuffer ), | |
| 19542 static_cast<VkDeviceSize>( countBufferOffset ), | |
| 19543 maxDrawCount, | |
| 19544 stride ); | |
| 19545 } | |
| 19546 | |
| 19547 // wrapper function for command vkCmdDrawIndexedIndirectCountAMD, see | |
| 19548 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexedIndirectCountAMD.html | |
| 19549 VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirectCountAMD( VULKAN_HPP_NAMESPACE::Buffer buffer, | |
| 19550 DeviceSize offset, | |
| 19551 VULKAN_HPP_NAMESPACE::Buffer countBuffer, | |
| 19552 DeviceSize countBufferOffset, | |
| 19553 uint32_t maxDrawCount, | |
| 19554 uint32_t stride ) const VULKAN_HPP_NOEXCEPT | |
| 19555 { | |
| 19556 VULKAN_HPP_ASSERT( | |
| 19557 getDispatcher()->vkCmdDrawIndexedIndirectCountAMD && | |
| 19558 "Function <vkCmdDrawIndexedIndirectCountAMD> requires <VK_AMD_draw_indirect_count> or <VK_KHR_draw_indirect_count> or <VK_VERSION_1_2>" ); | |
| 19559 | |
| 19560 getDispatcher()->vkCmdDrawIndexedIndirectCountAMD( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 19561 static_cast<VkBuffer>( buffer ), | |
| 19562 static_cast<VkDeviceSize>( offset ), | |
| 19563 static_cast<VkBuffer>( countBuffer ), | |
| 19564 static_cast<VkDeviceSize>( countBufferOffset ), | |
| 19565 maxDrawCount, | |
| 19566 stride ); | |
| 19567 } | |
| 19568 | |
| 19569 //=== VK_AMD_shader_info === | |
| 19570 | |
| 19571 // wrapper function for command vkGetShaderInfoAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderInfoAMD.html | |
| 19572 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<uint8_t>>::type Pipeline::getShaderInfoAMD( ShaderStageFlagBits shaderStage, | |
| 19573 ShaderInfoTypeAMD infoType ) const | |
| 19574 { | |
| 19575 VULKAN_HPP_ASSERT( getDispatcher()->vkGetShaderInfoAMD && "Function <vkGetShaderInfoAMD> requires <VK_AMD_shader_info>" ); | |
| 19576 | |
| 19577 std::vector<uint8_t> info; | |
| 19578 size_t infoSize; | |
| 19579 Result result; | |
| 19580 do | |
| 19581 { | |
| 19582 result = static_cast<Result>( getDispatcher()->vkGetShaderInfoAMD( static_cast<VkDevice>( m_device ), | |
| 19583 static_cast<VkPipeline>( m_pipeline ), | |
| 19584 static_cast<VkShaderStageFlagBits>( shaderStage ), | |
| 19585 static_cast<VkShaderInfoTypeAMD>( infoType ), | |
| 19586 &infoSize, | |
| 19587 nullptr ) ); | |
| 19588 if ( ( result == Result::eSuccess ) && infoSize ) | |
| 19589 { | |
| 19590 info.resize( infoSize ); | |
| 19591 result = static_cast<Result>( getDispatcher()->vkGetShaderInfoAMD( static_cast<VkDevice>( m_device ), | |
| 19592 static_cast<VkPipeline>( m_pipeline ), | |
| 19593 static_cast<VkShaderStageFlagBits>( shaderStage ), | |
| 19594 static_cast<VkShaderInfoTypeAMD>( infoType ), | |
| 19595 &infoSize, | |
| 19596 reinterpret_cast<void *>( info.data() ) ) ); | |
| 19597 } | |
| 19598 } while ( result == Result::eIncomplete ); | |
| 19599 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::getShaderInfoAMD" ); | |
| 19600 VULKAN_HPP_ASSERT( infoSize <= info.size() ); | |
| 19601 if ( infoSize < info.size() ) | |
| 19602 { | |
| 19603 info.resize( infoSize ); | |
| 19604 } | |
| 19605 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( info ) ); | |
| 19606 } | |
| 19607 | |
| 19608 //=== VK_KHR_dynamic_rendering === | |
| 19609 | |
| 19610 // wrapper function for command vkCmdBeginRenderingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderingKHR.html | |
| 19611 VULKAN_HPP_INLINE void CommandBuffer::beginRenderingKHR( const RenderingInfo & renderingInfo ) const VULKAN_HPP_NOEXCEPT | |
| 19612 { | |
| 19613 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBeginRenderingKHR && | |
| 19614 "Function <vkCmdBeginRenderingKHR> requires <VK_KHR_dynamic_rendering> or <VK_VERSION_1_3>" ); | |
| 19615 | |
| 19616 getDispatcher()->vkCmdBeginRenderingKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkRenderingInfo *>( &renderingInfo ) ); | |
| 19617 } | |
| 19618 | |
| 19619 // wrapper function for command vkCmdEndRenderingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRenderingKHR.html | |
| 19620 VULKAN_HPP_INLINE void CommandBuffer::endRenderingKHR() const VULKAN_HPP_NOEXCEPT | |
| 19621 { | |
| 19622 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdEndRenderingKHR && "Function <vkCmdEndRenderingKHR> requires <VK_KHR_dynamic_rendering> or <VK_VERSION_1_3>" ); | |
| 19623 | |
| 19624 getDispatcher()->vkCmdEndRenderingKHR( static_cast<VkCommandBuffer>( m_commandBuffer ) ); | |
| 19625 } | |
| 19626 | |
| 19627 # if defined( VK_USE_PLATFORM_GGP ) | |
| 19628 //=== VK_GGP_stream_descriptor_surface === | |
| 19629 | |
| 19630 // wrapper function for command vkCreateStreamDescriptorSurfaceGGP, see | |
| 19631 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateStreamDescriptorSurfaceGGP.html | |
| 19632 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<SurfaceKHR>::type | |
| 19633 Instance::createStreamDescriptorSurfaceGGP( StreamDescriptorSurfaceCreateInfoGGP const & createInfo, | |
| 19634 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 19635 { | |
| 19636 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; | |
| 19637 Result result = static_cast<Result>( | |
| 19638 getDispatcher()->vkCreateStreamDescriptorSurfaceGGP( static_cast<VkInstance>( m_instance ), | |
| 19639 reinterpret_cast<const VkStreamDescriptorSurfaceCreateInfoGGP *>( &createInfo ), | |
| 19640 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 19641 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); | |
| 19642 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createStreamDescriptorSurfaceGGP" ); | |
| 19643 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast<VkSurfaceKHR *>( &surface ), allocator ) ); | |
| 19644 } | |
| 19645 # endif /*VK_USE_PLATFORM_GGP*/ | |
| 19646 | |
| 19647 //=== VK_NV_external_memory_capabilities === | |
| 19648 | |
| 19649 // wrapper function for command vkGetPhysicalDeviceExternalImageFormatPropertiesNV, see | |
| 19650 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalImageFormatPropertiesNV.html | |
| 19651 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<ExternalImageFormatPropertiesNV>::type | |
| 19652 PhysicalDevice::getExternalImageFormatPropertiesNV( Format format, | |
| 19653 ImageType type, | |
| 19654 ImageTiling tiling, | |
| 19655 ImageUsageFlags usage, | |
| 19656 ImageCreateFlags flags, | |
| 19657 ExternalMemoryHandleTypeFlagsNV externalHandleType ) const | |
| 19658 { | |
| 19659 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceExternalImageFormatPropertiesNV && | |
| 19660 "Function <vkGetPhysicalDeviceExternalImageFormatPropertiesNV> requires <VK_NV_external_memory_capabilities>" ); | |
| 19661 | |
| 19662 ExternalImageFormatPropertiesNV externalImageFormatProperties; | |
| 19663 Result result = static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceExternalImageFormatPropertiesNV( | |
| 19664 static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 19665 static_cast<VkFormat>( format ), | |
| 19666 static_cast<VkImageType>( type ), | |
| 19667 static_cast<VkImageTiling>( tiling ), | |
| 19668 static_cast<VkImageUsageFlags>( usage ), | |
| 19669 static_cast<VkImageCreateFlags>( flags ), | |
| 19670 static_cast<VkExternalMemoryHandleTypeFlagsNV>( externalHandleType ), | |
| 19671 reinterpret_cast<VkExternalImageFormatPropertiesNV *>( &externalImageFormatProperties ) ) ); | |
| 19672 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getExternalImageFormatPropertiesNV" ); | |
| 19673 | |
| 19674 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( externalImageFormatProperties ) ); | |
| 19675 } | |
| 19676 | |
| 19677 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 19678 //=== VK_NV_external_memory_win32 === | |
| 19679 | |
| 19680 // wrapper function for command vkGetMemoryWin32HandleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryWin32HandleNV.html | |
| 19681 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<HANDLE>::type | |
| 19682 DeviceMemory::getMemoryWin32HandleNV( ExternalMemoryHandleTypeFlagsNV handleType ) const | |
| 19683 { | |
| 19684 VULKAN_HPP_ASSERT( getDispatcher()->vkGetMemoryWin32HandleNV && "Function <vkGetMemoryWin32HandleNV> requires <VK_NV_external_memory_win32>" ); | |
| 19685 | |
| 19686 HANDLE handle; | |
| 19687 Result result = static_cast<Result>( getDispatcher()->vkGetMemoryWin32HandleNV( static_cast<VkDevice>( m_device ), | |
| 19688 static_cast<VkDeviceMemory>( m_deviceMemory ), | |
| 19689 static_cast<VkExternalMemoryHandleTypeFlagsNV>( handleType ), | |
| 19690 &handle ) ); | |
| 19691 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::DeviceMemory::getMemoryWin32HandleNV" ); | |
| 19692 | |
| 19693 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( handle ) ); | |
| 19694 } | |
| 19695 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 19696 | |
| 19697 //=== VK_KHR_get_physical_device_properties2 === | |
| 19698 | |
| 19699 // wrapper function for command vkGetPhysicalDeviceFeatures2KHR, see | |
| 19700 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures2KHR.html | |
| 19701 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE PhysicalDeviceFeatures2 PhysicalDevice::getFeatures2KHR() const VULKAN_HPP_NOEXCEPT | |
| 19702 { | |
| 19703 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceFeatures2KHR && | |
| 19704 "Function <vkGetPhysicalDeviceFeatures2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); | |
| 19705 | |
| 19706 PhysicalDeviceFeatures2 features; | |
| 19707 getDispatcher()->vkGetPhysicalDeviceFeatures2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 19708 reinterpret_cast<VkPhysicalDeviceFeatures2 *>( &features ) ); | |
| 19709 | |
| 19710 return features; | |
| 19711 } | |
| 19712 | |
| 19713 // wrapper function for command vkGetPhysicalDeviceFeatures2KHR, see | |
| 19714 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures2KHR.html | |
| 19715 template <typename X, typename Y, typename... Z> | |
| 19716 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> PhysicalDevice::getFeatures2KHR() const VULKAN_HPP_NOEXCEPT | |
| 19717 { | |
| 19718 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceFeatures2KHR && | |
| 19719 "Function <vkGetPhysicalDeviceFeatures2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); | |
| 19720 | |
| 19721 StructureChain<X, Y, Z...> structureChain; | |
| 19722 PhysicalDeviceFeatures2 & features = structureChain.template get<PhysicalDeviceFeatures2>(); | |
| 19723 getDispatcher()->vkGetPhysicalDeviceFeatures2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 19724 reinterpret_cast<VkPhysicalDeviceFeatures2 *>( &features ) ); | |
| 19725 | |
| 19726 return structureChain; | |
| 19727 } | |
| 19728 | |
| 19729 // wrapper function for command vkGetPhysicalDeviceProperties2KHR, see | |
| 19730 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties2KHR.html | |
| 19731 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE PhysicalDeviceProperties2 PhysicalDevice::getProperties2KHR() const VULKAN_HPP_NOEXCEPT | |
| 19732 { | |
| 19733 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceProperties2KHR && | |
| 19734 "Function <vkGetPhysicalDeviceProperties2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); | |
| 19735 | |
| 19736 PhysicalDeviceProperties2 properties; | |
| 19737 getDispatcher()->vkGetPhysicalDeviceProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 19738 reinterpret_cast<VkPhysicalDeviceProperties2 *>( &properties ) ); | |
| 19739 | |
| 19740 return properties; | |
| 19741 } | |
| 19742 | |
| 19743 // wrapper function for command vkGetPhysicalDeviceProperties2KHR, see | |
| 19744 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties2KHR.html | |
| 19745 template <typename X, typename Y, typename... Z> | |
| 19746 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> PhysicalDevice::getProperties2KHR() const VULKAN_HPP_NOEXCEPT | |
| 19747 { | |
| 19748 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceProperties2KHR && | |
| 19749 "Function <vkGetPhysicalDeviceProperties2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); | |
| 19750 | |
| 19751 StructureChain<X, Y, Z...> structureChain; | |
| 19752 PhysicalDeviceProperties2 & properties = structureChain.template get<PhysicalDeviceProperties2>(); | |
| 19753 getDispatcher()->vkGetPhysicalDeviceProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 19754 reinterpret_cast<VkPhysicalDeviceProperties2 *>( &properties ) ); | |
| 19755 | |
| 19756 return structureChain; | |
| 19757 } | |
| 19758 | |
| 19759 // wrapper function for command vkGetPhysicalDeviceFormatProperties2KHR, see | |
| 19760 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties2KHR.html | |
| 19761 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE FormatProperties2 PhysicalDevice::getFormatProperties2KHR( Format format ) const VULKAN_HPP_NOEXCEPT | |
| 19762 { | |
| 19763 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceFormatProperties2KHR && | |
| 19764 "Function <vkGetPhysicalDeviceFormatProperties2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); | |
| 19765 | |
| 19766 FormatProperties2 formatProperties; | |
| 19767 getDispatcher()->vkGetPhysicalDeviceFormatProperties2KHR( | |
| 19768 static_cast<VkPhysicalDevice>( m_physicalDevice ), static_cast<VkFormat>( format ), reinterpret_cast<VkFormatProperties2 *>( &formatProperties ) ); | |
| 19769 | |
| 19770 return formatProperties; | |
| 19771 } | |
| 19772 | |
| 19773 // wrapper function for command vkGetPhysicalDeviceFormatProperties2KHR, see | |
| 19774 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties2KHR.html | |
| 19775 template <typename X, typename Y, typename... Z> | |
| 19776 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> PhysicalDevice::getFormatProperties2KHR( Format format ) const VULKAN_HPP_NOEXCEPT | |
| 19777 { | |
| 19778 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceFormatProperties2KHR && | |
| 19779 "Function <vkGetPhysicalDeviceFormatProperties2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); | |
| 19780 | |
| 19781 StructureChain<X, Y, Z...> structureChain; | |
| 19782 FormatProperties2 & formatProperties = structureChain.template get<FormatProperties2>(); | |
| 19783 getDispatcher()->vkGetPhysicalDeviceFormatProperties2KHR( | |
| 19784 static_cast<VkPhysicalDevice>( m_physicalDevice ), static_cast<VkFormat>( format ), reinterpret_cast<VkFormatProperties2 *>( &formatProperties ) ); | |
| 19785 | |
| 19786 return structureChain; | |
| 19787 } | |
| 19788 | |
| 19789 // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2KHR, see | |
| 19790 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2KHR.html | |
| 19791 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getImageFormatProperties2KHR( | |
| 19792 const PhysicalDeviceImageFormatInfo2 * pImageFormatInfo, ImageFormatProperties2 * pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT | |
| 19793 { | |
| 19794 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2KHR && | |
| 19795 "Function <vkGetPhysicalDeviceImageFormatProperties2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); | |
| 19796 return static_cast<Result>( | |
| 19797 getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 19798 reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>( pImageFormatInfo ), | |
| 19799 reinterpret_cast<VkImageFormatProperties2 *>( pImageFormatProperties ) ) ); | |
| 19800 } | |
| 19801 | |
| 19802 // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2KHR, see | |
| 19803 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2KHR.html | |
| 19804 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<ImageFormatProperties2>::type | |
| 19805 PhysicalDevice::getImageFormatProperties2KHR( const PhysicalDeviceImageFormatInfo2 & imageFormatInfo ) const | |
| 19806 { | |
| 19807 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2KHR && | |
| 19808 "Function <vkGetPhysicalDeviceImageFormatProperties2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); | |
| 19809 | |
| 19810 ImageFormatProperties2 imageFormatProperties; | |
| 19811 Result result = static_cast<Result>( | |
| 19812 getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 19813 reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>( &imageFormatInfo ), | |
| 19814 reinterpret_cast<VkImageFormatProperties2 *>( &imageFormatProperties ) ) ); | |
| 19815 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2KHR" ); | |
| 19816 | |
| 19817 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( imageFormatProperties ) ); | |
| 19818 } | |
| 19819 | |
| 19820 // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2KHR, see | |
| 19821 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2KHR.html | |
| 19822 template <typename X, typename Y, typename... Z> | |
| 19823 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<StructureChain<X, Y, Z...>>::type | |
| 19824 PhysicalDevice::getImageFormatProperties2KHR( const PhysicalDeviceImageFormatInfo2 & imageFormatInfo ) const | |
| 19825 { | |
| 19826 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2KHR && | |
| 19827 "Function <vkGetPhysicalDeviceImageFormatProperties2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); | |
| 19828 | |
| 19829 StructureChain<X, Y, Z...> structureChain; | |
| 19830 ImageFormatProperties2 & imageFormatProperties = structureChain.template get<ImageFormatProperties2>(); | |
| 19831 Result result = static_cast<Result>( | |
| 19832 getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 19833 reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>( &imageFormatInfo ), | |
| 19834 reinterpret_cast<VkImageFormatProperties2 *>( &imageFormatProperties ) ) ); | |
| 19835 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2KHR" ); | |
| 19836 | |
| 19837 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChain ) ); | |
| 19838 } | |
| 19839 | |
| 19840 // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2KHR, see | |
| 19841 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2KHR.html | |
| 19842 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<QueueFamilyProperties2> PhysicalDevice::getQueueFamilyProperties2KHR() const | |
| 19843 { | |
| 19844 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2KHR && | |
| 19845 "Function <vkGetPhysicalDeviceQueueFamilyProperties2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); | |
| 19846 | |
| 19847 std::vector<QueueFamilyProperties2> queueFamilyProperties; | |
| 19848 uint32_t queueFamilyPropertyCount; | |
| 19849 getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), &queueFamilyPropertyCount, nullptr ); | |
| 19850 queueFamilyProperties.resize( queueFamilyPropertyCount ); | |
| 19851 getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 19852 &queueFamilyPropertyCount, | |
| 19853 reinterpret_cast<VkQueueFamilyProperties2 *>( queueFamilyProperties.data() ) ); | |
| 19854 | |
| 19855 VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); | |
| 19856 if ( queueFamilyPropertyCount < queueFamilyProperties.size() ) | |
| 19857 { | |
| 19858 queueFamilyProperties.resize( queueFamilyPropertyCount ); | |
| 19859 } | |
| 19860 return queueFamilyProperties; | |
| 19861 } | |
| 19862 | |
| 19863 // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2KHR, see | |
| 19864 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2KHR.html | |
| 19865 template <typename StructureChain> | |
| 19866 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<StructureChain> PhysicalDevice::getQueueFamilyProperties2KHR() const | |
| 19867 { | |
| 19868 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2KHR && | |
| 19869 "Function <vkGetPhysicalDeviceQueueFamilyProperties2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); | |
| 19870 | |
| 19871 std::vector<StructureChain> structureChains; | |
| 19872 std::vector<QueueFamilyProperties2> queueFamilyProperties; | |
| 19873 uint32_t queueFamilyPropertyCount; | |
| 19874 getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), &queueFamilyPropertyCount, nullptr ); | |
| 19875 structureChains.resize( queueFamilyPropertyCount ); | |
| 19876 queueFamilyProperties.resize( queueFamilyPropertyCount ); | |
| 19877 for ( uint32_t i = 0; i < queueFamilyPropertyCount; i++ ) | |
| 19878 { | |
| 19879 queueFamilyProperties[i].pNext = structureChains[i].template get<QueueFamilyProperties2>().pNext; | |
| 19880 } | |
| 19881 getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 19882 &queueFamilyPropertyCount, | |
| 19883 reinterpret_cast<VkQueueFamilyProperties2 *>( queueFamilyProperties.data() ) ); | |
| 19884 | |
| 19885 VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); | |
| 19886 if ( queueFamilyPropertyCount < queueFamilyProperties.size() ) | |
| 19887 { | |
| 19888 structureChains.resize( queueFamilyPropertyCount ); | |
| 19889 } | |
| 19890 for ( uint32_t i = 0; i < queueFamilyPropertyCount; i++ ) | |
| 19891 { | |
| 19892 structureChains[i].template get<QueueFamilyProperties2>() = queueFamilyProperties[i]; | |
| 19893 } | |
| 19894 return structureChains; | |
| 19895 } | |
| 19896 | |
| 19897 // wrapper function for command vkGetPhysicalDeviceMemoryProperties2KHR, see | |
| 19898 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties2KHR.html | |
| 19899 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE PhysicalDeviceMemoryProperties2 PhysicalDevice::getMemoryProperties2KHR() const VULKAN_HPP_NOEXCEPT | |
| 19900 { | |
| 19901 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceMemoryProperties2KHR && | |
| 19902 "Function <vkGetPhysicalDeviceMemoryProperties2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); | |
| 19903 | |
| 19904 PhysicalDeviceMemoryProperties2 memoryProperties; | |
| 19905 getDispatcher()->vkGetPhysicalDeviceMemoryProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 19906 reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>( &memoryProperties ) ); | |
| 19907 | |
| 19908 return memoryProperties; | |
| 19909 } | |
| 19910 | |
| 19911 // wrapper function for command vkGetPhysicalDeviceMemoryProperties2KHR, see | |
| 19912 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties2KHR.html | |
| 19913 template <typename X, typename Y, typename... Z> | |
| 19914 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> PhysicalDevice::getMemoryProperties2KHR() const VULKAN_HPP_NOEXCEPT | |
| 19915 { | |
| 19916 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceMemoryProperties2KHR && | |
| 19917 "Function <vkGetPhysicalDeviceMemoryProperties2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); | |
| 19918 | |
| 19919 StructureChain<X, Y, Z...> structureChain; | |
| 19920 PhysicalDeviceMemoryProperties2 & memoryProperties = structureChain.template get<PhysicalDeviceMemoryProperties2>(); | |
| 19921 getDispatcher()->vkGetPhysicalDeviceMemoryProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 19922 reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>( &memoryProperties ) ); | |
| 19923 | |
| 19924 return structureChain; | |
| 19925 } | |
| 19926 | |
| 19927 // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties2KHR, see | |
| 19928 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2KHR.html | |
| 19929 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<SparseImageFormatProperties2> | |
| 19930 PhysicalDevice::getSparseImageFormatProperties2KHR( const PhysicalDeviceSparseImageFormatInfo2 & formatInfo ) const | |
| 19931 { | |
| 19932 VULKAN_HPP_ASSERT( | |
| 19933 getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties2KHR && | |
| 19934 "Function <vkGetPhysicalDeviceSparseImageFormatProperties2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); | |
| 19935 | |
| 19936 std::vector<SparseImageFormatProperties2> properties; | |
| 19937 uint32_t propertyCount; | |
| 19938 getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 19939 reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ), | |
| 19940 &propertyCount, | |
| 19941 nullptr ); | |
| 19942 properties.resize( propertyCount ); | |
| 19943 getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 19944 reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ), | |
| 19945 &propertyCount, | |
| 19946 reinterpret_cast<VkSparseImageFormatProperties2 *>( properties.data() ) ); | |
| 19947 | |
| 19948 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); | |
| 19949 if ( propertyCount < properties.size() ) | |
| 19950 { | |
| 19951 properties.resize( propertyCount ); | |
| 19952 } | |
| 19953 return properties; | |
| 19954 } | |
| 19955 | |
| 19956 //=== VK_KHR_device_group === | |
| 19957 | |
| 19958 // wrapper function for command vkGetDeviceGroupPeerMemoryFeaturesKHR, see | |
| 19959 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupPeerMemoryFeaturesKHR.html | |
| 19960 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE PeerMemoryFeatureFlags Device::getGroupPeerMemoryFeaturesKHR( uint32_t heapIndex, | |
| 19961 uint32_t localDeviceIndex, | |
| 19962 uint32_t remoteDeviceIndex ) const VULKAN_HPP_NOEXCEPT | |
| 19963 { | |
| 19964 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceGroupPeerMemoryFeaturesKHR && | |
| 19965 "Function <vkGetDeviceGroupPeerMemoryFeaturesKHR> requires <VK_KHR_device_group> or <VK_VERSION_1_1>" ); | |
| 19966 | |
| 19967 PeerMemoryFeatureFlags peerMemoryFeatures; | |
| 19968 getDispatcher()->vkGetDeviceGroupPeerMemoryFeaturesKHR( static_cast<VkDevice>( m_device ), | |
| 19969 heapIndex, | |
| 19970 localDeviceIndex, | |
| 19971 remoteDeviceIndex, | |
| 19972 reinterpret_cast<VkPeerMemoryFeatureFlags *>( &peerMemoryFeatures ) ); | |
| 19973 | |
| 19974 return peerMemoryFeatures; | |
| 19975 } | |
| 19976 | |
| 19977 // wrapper function for command vkCmdSetDeviceMaskKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDeviceMaskKHR.html | |
| 19978 VULKAN_HPP_INLINE void CommandBuffer::setDeviceMaskKHR( uint32_t deviceMask ) const VULKAN_HPP_NOEXCEPT | |
| 19979 { | |
| 19980 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDeviceMaskKHR && "Function <vkCmdSetDeviceMaskKHR> requires <VK_KHR_device_group> or <VK_VERSION_1_1>" ); | |
| 19981 | |
| 19982 getDispatcher()->vkCmdSetDeviceMaskKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), deviceMask ); | |
| 19983 } | |
| 19984 | |
| 19985 // wrapper function for command vkCmdDispatchBaseKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchBaseKHR.html | |
| 19986 VULKAN_HPP_INLINE void CommandBuffer::dispatchBaseKHR( uint32_t baseGroupX, | |
| 19987 uint32_t baseGroupY, | |
| 19988 uint32_t baseGroupZ, | |
| 19989 uint32_t groupCountX, | |
| 19990 uint32_t groupCountY, | |
| 19991 uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT | |
| 19992 { | |
| 19993 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDispatchBaseKHR && "Function <vkCmdDispatchBaseKHR> requires <VK_KHR_device_group> or <VK_VERSION_1_1>" ); | |
| 19994 | |
| 19995 getDispatcher()->vkCmdDispatchBaseKHR( | |
| 19996 static_cast<VkCommandBuffer>( m_commandBuffer ), baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ ); | |
| 19997 } | |
| 19998 | |
| 19999 # if defined( VK_USE_PLATFORM_VI_NN ) | |
| 20000 //=== VK_NN_vi_surface === | |
| 20001 | |
| 20002 // wrapper function for command vkCreateViSurfaceNN, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateViSurfaceNN.html | |
| 20003 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<SurfaceKHR>::type | |
| 20004 Instance::createViSurfaceNN( ViSurfaceCreateInfoNN const & createInfo, | |
| 20005 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 20006 { | |
| 20007 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; | |
| 20008 Result result = static_cast<Result>( getDispatcher()->vkCreateViSurfaceNN( static_cast<VkInstance>( m_instance ), | |
| 20009 reinterpret_cast<const VkViSurfaceCreateInfoNN *>( &createInfo ), | |
| 20010 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 20011 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); | |
| 20012 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createViSurfaceNN" ); | |
| 20013 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast<VkSurfaceKHR *>( &surface ), allocator ) ); | |
| 20014 } | |
| 20015 # endif /*VK_USE_PLATFORM_VI_NN*/ | |
| 20016 | |
| 20017 //=== VK_KHR_maintenance1 === | |
| 20018 | |
| 20019 // wrapper function for command vkTrimCommandPoolKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTrimCommandPoolKHR.html | |
| 20020 VULKAN_HPP_INLINE void CommandPool::trimKHR( CommandPoolTrimFlags flags ) const VULKAN_HPP_NOEXCEPT | |
| 20021 { | |
| 20022 VULKAN_HPP_ASSERT( getDispatcher()->vkTrimCommandPoolKHR && "Function <vkTrimCommandPoolKHR> requires <VK_KHR_maintenance1> or <VK_VERSION_1_1>" ); | |
| 20023 | |
| 20024 getDispatcher()->vkTrimCommandPoolKHR( | |
| 20025 static_cast<VkDevice>( m_device ), static_cast<VkCommandPool>( m_commandPool ), static_cast<VkCommandPoolTrimFlags>( flags ) ); | |
| 20026 } | |
| 20027 | |
| 20028 //=== VK_KHR_device_group_creation === | |
| 20029 | |
| 20030 // wrapper function for command vkEnumeratePhysicalDeviceGroupsKHR, see | |
| 20031 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceGroupsKHR.html | |
| 20032 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<PhysicalDeviceGroupProperties>>::type | |
| 20033 Instance::enumeratePhysicalDeviceGroupsKHR() const | |
| 20034 { | |
| 20035 VULKAN_HPP_ASSERT( getDispatcher()->vkEnumeratePhysicalDeviceGroupsKHR && | |
| 20036 "Function <vkEnumeratePhysicalDeviceGroupsKHR> requires <VK_KHR_device_group_creation> or <VK_VERSION_1_1>" ); | |
| 20037 | |
| 20038 std::vector<PhysicalDeviceGroupProperties> physicalDeviceGroupProperties; | |
| 20039 uint32_t physicalDeviceGroupCount; | |
| 20040 Result result; | |
| 20041 do | |
| 20042 { | |
| 20043 result = static_cast<Result>( | |
| 20044 getDispatcher()->vkEnumeratePhysicalDeviceGroupsKHR( static_cast<VkInstance>( m_instance ), &physicalDeviceGroupCount, nullptr ) ); | |
| 20045 if ( ( result == Result::eSuccess ) && physicalDeviceGroupCount ) | |
| 20046 { | |
| 20047 physicalDeviceGroupProperties.resize( physicalDeviceGroupCount ); | |
| 20048 result = static_cast<Result>( getDispatcher()->vkEnumeratePhysicalDeviceGroupsKHR( | |
| 20049 static_cast<VkInstance>( m_instance ), | |
| 20050 &physicalDeviceGroupCount, | |
| 20051 reinterpret_cast<VkPhysicalDeviceGroupProperties *>( physicalDeviceGroupProperties.data() ) ) ); | |
| 20052 } | |
| 20053 } while ( result == Result::eIncomplete ); | |
| 20054 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::enumeratePhysicalDeviceGroupsKHR" ); | |
| 20055 VULKAN_HPP_ASSERT( physicalDeviceGroupCount <= physicalDeviceGroupProperties.size() ); | |
| 20056 if ( physicalDeviceGroupCount < physicalDeviceGroupProperties.size() ) | |
| 20057 { | |
| 20058 physicalDeviceGroupProperties.resize( physicalDeviceGroupCount ); | |
| 20059 } | |
| 20060 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( physicalDeviceGroupProperties ) ); | |
| 20061 } | |
| 20062 | |
| 20063 //=== VK_KHR_external_memory_capabilities === | |
| 20064 | |
| 20065 // wrapper function for command vkGetPhysicalDeviceExternalBufferPropertiesKHR, see | |
| 20066 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalBufferPropertiesKHR.html | |
| 20067 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ExternalBufferProperties | |
| 20068 PhysicalDevice::getExternalBufferPropertiesKHR( const PhysicalDeviceExternalBufferInfo & externalBufferInfo ) const VULKAN_HPP_NOEXCEPT | |
| 20069 { | |
| 20070 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceExternalBufferPropertiesKHR && | |
| 20071 "Function <vkGetPhysicalDeviceExternalBufferPropertiesKHR> requires <VK_KHR_external_memory_capabilities> or <VK_VERSION_1_1>" ); | |
| 20072 | |
| 20073 ExternalBufferProperties externalBufferProperties; | |
| 20074 getDispatcher()->vkGetPhysicalDeviceExternalBufferPropertiesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 20075 reinterpret_cast<const VkPhysicalDeviceExternalBufferInfo *>( &externalBufferInfo ), | |
| 20076 reinterpret_cast<VkExternalBufferProperties *>( &externalBufferProperties ) ); | |
| 20077 | |
| 20078 return externalBufferProperties; | |
| 20079 } | |
| 20080 | |
| 20081 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 20082 //=== VK_KHR_external_memory_win32 === | |
| 20083 | |
| 20084 // wrapper function for command vkGetMemoryWin32HandleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryWin32HandleKHR.html | |
| 20085 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<HANDLE>::type | |
| 20086 Device::getMemoryWin32HandleKHR( const MemoryGetWin32HandleInfoKHR & getWin32HandleInfo ) const | |
| 20087 { | |
| 20088 VULKAN_HPP_ASSERT( getDispatcher()->vkGetMemoryWin32HandleKHR && "Function <vkGetMemoryWin32HandleKHR> requires <VK_KHR_external_memory_win32>" ); | |
| 20089 | |
| 20090 HANDLE handle; | |
| 20091 Result result = static_cast<Result>( getDispatcher()->vkGetMemoryWin32HandleKHR( | |
| 20092 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkMemoryGetWin32HandleInfoKHR *>( &getWin32HandleInfo ), &handle ) ); | |
| 20093 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryWin32HandleKHR" ); | |
| 20094 | |
| 20095 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( handle ) ); | |
| 20096 } | |
| 20097 | |
| 20098 // wrapper function for command vkGetMemoryWin32HandlePropertiesKHR, see | |
| 20099 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryWin32HandlePropertiesKHR.html | |
| 20100 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<MemoryWin32HandlePropertiesKHR>::type | |
| 20101 Device::getMemoryWin32HandlePropertiesKHR( ExternalMemoryHandleTypeFlagBits handleType, HANDLE handle ) const | |
| 20102 { | |
| 20103 VULKAN_HPP_ASSERT( getDispatcher()->vkGetMemoryWin32HandlePropertiesKHR && | |
| 20104 "Function <vkGetMemoryWin32HandlePropertiesKHR> requires <VK_KHR_external_memory_win32>" ); | |
| 20105 | |
| 20106 MemoryWin32HandlePropertiesKHR memoryWin32HandleProperties; | |
| 20107 Result result = static_cast<Result>( | |
| 20108 getDispatcher()->vkGetMemoryWin32HandlePropertiesKHR( static_cast<VkDevice>( m_device ), | |
| 20109 static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ), | |
| 20110 handle, | |
| 20111 reinterpret_cast<VkMemoryWin32HandlePropertiesKHR *>( &memoryWin32HandleProperties ) ) ); | |
| 20112 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryWin32HandlePropertiesKHR" ); | |
| 20113 | |
| 20114 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( memoryWin32HandleProperties ) ); | |
| 20115 } | |
| 20116 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 20117 | |
| 20118 //=== VK_KHR_external_memory_fd === | |
| 20119 | |
| 20120 // wrapper function for command vkGetMemoryFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryFdKHR.html | |
| 20121 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<int>::type Device::getMemoryFdKHR( const MemoryGetFdInfoKHR & getFdInfo ) const | |
| 20122 { | |
| 20123 VULKAN_HPP_ASSERT( getDispatcher()->vkGetMemoryFdKHR && "Function <vkGetMemoryFdKHR> requires <VK_KHR_external_memory_fd>" ); | |
| 20124 | |
| 20125 int fd; | |
| 20126 Result result = static_cast<Result>( | |
| 20127 getDispatcher()->vkGetMemoryFdKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkMemoryGetFdInfoKHR *>( &getFdInfo ), &fd ) ); | |
| 20128 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryFdKHR" ); | |
| 20129 | |
| 20130 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( fd ) ); | |
| 20131 } | |
| 20132 | |
| 20133 // wrapper function for command vkGetMemoryFdPropertiesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryFdPropertiesKHR.html | |
| 20134 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<MemoryFdPropertiesKHR>::type | |
| 20135 Device::getMemoryFdPropertiesKHR( ExternalMemoryHandleTypeFlagBits handleType, int fd ) const | |
| 20136 { | |
| 20137 VULKAN_HPP_ASSERT( getDispatcher()->vkGetMemoryFdPropertiesKHR && "Function <vkGetMemoryFdPropertiesKHR> requires <VK_KHR_external_memory_fd>" ); | |
| 20138 | |
| 20139 MemoryFdPropertiesKHR memoryFdProperties; | |
| 20140 Result result = static_cast<Result>( getDispatcher()->vkGetMemoryFdPropertiesKHR( static_cast<VkDevice>( m_device ), | |
| 20141 static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ), | |
| 20142 fd, | |
| 20143 reinterpret_cast<VkMemoryFdPropertiesKHR *>( &memoryFdProperties ) ) ); | |
| 20144 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryFdPropertiesKHR" ); | |
| 20145 | |
| 20146 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( memoryFdProperties ) ); | |
| 20147 } | |
| 20148 | |
| 20149 //=== VK_KHR_external_semaphore_capabilities === | |
| 20150 | |
| 20151 // wrapper function for command vkGetPhysicalDeviceExternalSemaphorePropertiesKHR, see | |
| 20152 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalSemaphorePropertiesKHR.html | |
| 20153 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ExternalSemaphoreProperties | |
| 20154 PhysicalDevice::getExternalSemaphorePropertiesKHR( const PhysicalDeviceExternalSemaphoreInfo & externalSemaphoreInfo ) const VULKAN_HPP_NOEXCEPT | |
| 20155 { | |
| 20156 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceExternalSemaphorePropertiesKHR && | |
| 20157 "Function <vkGetPhysicalDeviceExternalSemaphorePropertiesKHR> requires <VK_KHR_external_semaphore_capabilities> or <VK_VERSION_1_1>" ); | |
| 20158 | |
| 20159 ExternalSemaphoreProperties externalSemaphoreProperties; | |
| 20160 getDispatcher()->vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( | |
| 20161 static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 20162 reinterpret_cast<const VkPhysicalDeviceExternalSemaphoreInfo *>( &externalSemaphoreInfo ), | |
| 20163 reinterpret_cast<VkExternalSemaphoreProperties *>( &externalSemaphoreProperties ) ); | |
| 20164 | |
| 20165 return externalSemaphoreProperties; | |
| 20166 } | |
| 20167 | |
| 20168 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 20169 //=== VK_KHR_external_semaphore_win32 === | |
| 20170 | |
| 20171 // wrapper function for command vkImportSemaphoreWin32HandleKHR, see | |
| 20172 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportSemaphoreWin32HandleKHR.html | |
| 20173 VULKAN_HPP_INLINE typename ResultValueType<void>::type | |
| 20174 Device::importSemaphoreWin32HandleKHR( const ImportSemaphoreWin32HandleInfoKHR & importSemaphoreWin32HandleInfo ) const | |
| 20175 { | |
| 20176 VULKAN_HPP_ASSERT( getDispatcher()->vkImportSemaphoreWin32HandleKHR && | |
| 20177 "Function <vkImportSemaphoreWin32HandleKHR> requires <VK_KHR_external_semaphore_win32>" ); | |
| 20178 | |
| 20179 Result result = static_cast<Result>( getDispatcher()->vkImportSemaphoreWin32HandleKHR( | |
| 20180 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkImportSemaphoreWin32HandleInfoKHR *>( &importSemaphoreWin32HandleInfo ) ) ); | |
| 20181 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::importSemaphoreWin32HandleKHR" ); | |
| 20182 | |
| 20183 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 20184 } | |
| 20185 | |
| 20186 // wrapper function for command vkGetSemaphoreWin32HandleKHR, see | |
| 20187 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreWin32HandleKHR.html | |
| 20188 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<HANDLE>::type | |
| 20189 Device::getSemaphoreWin32HandleKHR( const SemaphoreGetWin32HandleInfoKHR & getWin32HandleInfo ) const | |
| 20190 { | |
| 20191 VULKAN_HPP_ASSERT( getDispatcher()->vkGetSemaphoreWin32HandleKHR && | |
| 20192 "Function <vkGetSemaphoreWin32HandleKHR> requires <VK_KHR_external_semaphore_win32>" ); | |
| 20193 | |
| 20194 HANDLE handle; | |
| 20195 Result result = static_cast<Result>( getDispatcher()->vkGetSemaphoreWin32HandleKHR( | |
| 20196 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSemaphoreGetWin32HandleInfoKHR *>( &getWin32HandleInfo ), &handle ) ); | |
| 20197 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getSemaphoreWin32HandleKHR" ); | |
| 20198 | |
| 20199 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( handle ) ); | |
| 20200 } | |
| 20201 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 20202 | |
| 20203 //=== VK_KHR_external_semaphore_fd === | |
| 20204 | |
| 20205 // wrapper function for command vkImportSemaphoreFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportSemaphoreFdKHR.html | |
| 20206 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::importSemaphoreFdKHR( const ImportSemaphoreFdInfoKHR & importSemaphoreFdInfo ) const | |
| 20207 { | |
| 20208 VULKAN_HPP_ASSERT( getDispatcher()->vkImportSemaphoreFdKHR && "Function <vkImportSemaphoreFdKHR> requires <VK_KHR_external_semaphore_fd>" ); | |
| 20209 | |
| 20210 Result result = static_cast<Result>( getDispatcher()->vkImportSemaphoreFdKHR( | |
| 20211 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkImportSemaphoreFdInfoKHR *>( &importSemaphoreFdInfo ) ) ); | |
| 20212 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::importSemaphoreFdKHR" ); | |
| 20213 | |
| 20214 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 20215 } | |
| 20216 | |
| 20217 // wrapper function for command vkGetSemaphoreFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreFdKHR.html | |
| 20218 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<int>::type Device::getSemaphoreFdKHR( const SemaphoreGetFdInfoKHR & getFdInfo ) const | |
| 20219 { | |
| 20220 VULKAN_HPP_ASSERT( getDispatcher()->vkGetSemaphoreFdKHR && "Function <vkGetSemaphoreFdKHR> requires <VK_KHR_external_semaphore_fd>" ); | |
| 20221 | |
| 20222 int fd; | |
| 20223 Result result = static_cast<Result>( | |
| 20224 getDispatcher()->vkGetSemaphoreFdKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSemaphoreGetFdInfoKHR *>( &getFdInfo ), &fd ) ); | |
| 20225 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getSemaphoreFdKHR" ); | |
| 20226 | |
| 20227 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( fd ) ); | |
| 20228 } | |
| 20229 | |
| 20230 //=== VK_KHR_push_descriptor === | |
| 20231 | |
| 20232 // wrapper function for command vkCmdPushDescriptorSetKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetKHR.html | |
| 20233 VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetKHR( PipelineBindPoint pipelineBindPoint, | |
| 20234 VULKAN_HPP_NAMESPACE::PipelineLayout layout, | |
| 20235 uint32_t set, | |
| 20236 ArrayProxy<const WriteDescriptorSet> const & descriptorWrites ) const VULKAN_HPP_NOEXCEPT | |
| 20237 { | |
| 20238 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdPushDescriptorSetKHR && | |
| 20239 "Function <vkCmdPushDescriptorSetKHR> requires <VK_KHR_push_descriptor> or <VK_VERSION_1_4>" ); | |
| 20240 | |
| 20241 getDispatcher()->vkCmdPushDescriptorSetKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 20242 static_cast<VkPipelineBindPoint>( pipelineBindPoint ), | |
| 20243 static_cast<VkPipelineLayout>( layout ), | |
| 20244 set, | |
| 20245 descriptorWrites.size(), | |
| 20246 reinterpret_cast<const VkWriteDescriptorSet *>( descriptorWrites.data() ) ); | |
| 20247 } | |
| 20248 | |
| 20249 // wrapper function for command vkCmdPushDescriptorSetWithTemplateKHR, see | |
| 20250 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplateKHR.html | |
| 20251 template <typename DataType> | |
| 20252 VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetWithTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, | |
| 20253 VULKAN_HPP_NAMESPACE::PipelineLayout layout, | |
| 20254 uint32_t set, | |
| 20255 DataType const & data ) const VULKAN_HPP_NOEXCEPT | |
| 20256 { | |
| 20257 VULKAN_HPP_ASSERT( | |
| 20258 getDispatcher()->vkCmdPushDescriptorSetWithTemplateKHR && | |
| 20259 "Function <vkCmdPushDescriptorSetWithTemplateKHR> requires <VK_KHR_descriptor_update_template> or <VK_KHR_push_descriptor> or <VK_VERSION_1_4>" ); | |
| 20260 | |
| 20261 getDispatcher()->vkCmdPushDescriptorSetWithTemplateKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 20262 static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), | |
| 20263 static_cast<VkPipelineLayout>( layout ), | |
| 20264 set, | |
| 20265 reinterpret_cast<const void *>( &data ) ); | |
| 20266 } | |
| 20267 | |
| 20268 //=== VK_EXT_conditional_rendering === | |
| 20269 | |
| 20270 // wrapper function for command vkCmdBeginConditionalRenderingEXT, see | |
| 20271 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginConditionalRenderingEXT.html | |
| 20272 VULKAN_HPP_INLINE void | |
| 20273 CommandBuffer::beginConditionalRenderingEXT( const ConditionalRenderingBeginInfoEXT & conditionalRenderingBegin ) const VULKAN_HPP_NOEXCEPT | |
| 20274 { | |
| 20275 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBeginConditionalRenderingEXT && | |
| 20276 "Function <vkCmdBeginConditionalRenderingEXT> requires <VK_EXT_conditional_rendering>" ); | |
| 20277 | |
| 20278 getDispatcher()->vkCmdBeginConditionalRenderingEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 20279 reinterpret_cast<const VkConditionalRenderingBeginInfoEXT *>( &conditionalRenderingBegin ) ); | |
| 20280 } | |
| 20281 | |
| 20282 // wrapper function for command vkCmdEndConditionalRenderingEXT, see | |
| 20283 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndConditionalRenderingEXT.html | |
| 20284 VULKAN_HPP_INLINE void CommandBuffer::endConditionalRenderingEXT() const VULKAN_HPP_NOEXCEPT | |
| 20285 { | |
| 20286 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdEndConditionalRenderingEXT && | |
| 20287 "Function <vkCmdEndConditionalRenderingEXT> requires <VK_EXT_conditional_rendering>" ); | |
| 20288 | |
| 20289 getDispatcher()->vkCmdEndConditionalRenderingEXT( static_cast<VkCommandBuffer>( m_commandBuffer ) ); | |
| 20290 } | |
| 20291 | |
| 20292 //=== VK_KHR_descriptor_update_template === | |
| 20293 | |
| 20294 // wrapper function for command vkCreateDescriptorUpdateTemplateKHR, see | |
| 20295 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorUpdateTemplateKHR.html | |
| 20296 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DescriptorUpdateTemplate>::type | |
| 20297 Device::createDescriptorUpdateTemplateKHR( DescriptorUpdateTemplateCreateInfo const & createInfo, | |
| 20298 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 20299 { | |
| 20300 VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate; | |
| 20301 Result result = static_cast<Result>( | |
| 20302 getDispatcher()->vkCreateDescriptorUpdateTemplateKHR( static_cast<VkDevice>( m_device ), | |
| 20303 reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo *>( &createInfo ), | |
| 20304 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 20305 reinterpret_cast<VkDescriptorUpdateTemplate *>( &descriptorUpdateTemplate ) ) ); | |
| 20306 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createDescriptorUpdateTemplateKHR" ); | |
| 20307 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( | |
| 20308 result, DescriptorUpdateTemplate( *this, *reinterpret_cast<VkDescriptorUpdateTemplate *>( &descriptorUpdateTemplate ), allocator ) ); | |
| 20309 } | |
| 20310 | |
| 20311 // wrapper function for command vkDestroyDescriptorUpdateTemplateKHR, see | |
| 20312 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorUpdateTemplateKHR.html | |
| 20313 VULKAN_HPP_INLINE void Device::destroyDescriptorUpdateTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, | |
| 20314 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT | |
| 20315 { | |
| 20316 VULKAN_HPP_ASSERT( getDispatcher()->vkDestroyDescriptorUpdateTemplateKHR && | |
| 20317 "Function <vkDestroyDescriptorUpdateTemplateKHR> requires <VK_KHR_descriptor_update_template> or <VK_VERSION_1_1>" ); | |
| 20318 | |
| 20319 getDispatcher()->vkDestroyDescriptorUpdateTemplateKHR( static_cast<VkDevice>( m_device ), | |
| 20320 static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), | |
| 20321 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ) ); | |
| 20322 } | |
| 20323 | |
| 20324 // wrapper function for command vkUpdateDescriptorSetWithTemplateKHR, see | |
| 20325 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateDescriptorSetWithTemplateKHR.html | |
| 20326 template <typename DataType> | |
| 20327 VULKAN_HPP_INLINE void DescriptorSet::updateWithTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, | |
| 20328 DataType const & data ) const VULKAN_HPP_NOEXCEPT | |
| 20329 { | |
| 20330 VULKAN_HPP_ASSERT( getDispatcher()->vkUpdateDescriptorSetWithTemplateKHR && | |
| 20331 "Function <vkUpdateDescriptorSetWithTemplateKHR> requires <VK_KHR_descriptor_update_template> or <VK_VERSION_1_1>" ); | |
| 20332 | |
| 20333 getDispatcher()->vkUpdateDescriptorSetWithTemplateKHR( static_cast<VkDevice>( m_device ), | |
| 20334 static_cast<VkDescriptorSet>( m_descriptorSet ), | |
| 20335 static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), | |
| 20336 reinterpret_cast<const void *>( &data ) ); | |
| 20337 } | |
| 20338 | |
| 20339 //=== VK_NV_clip_space_w_scaling === | |
| 20340 | |
| 20341 // wrapper function for command vkCmdSetViewportWScalingNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWScalingNV.html | |
| 20342 VULKAN_HPP_INLINE void CommandBuffer::setViewportWScalingNV( uint32_t firstViewport, | |
| 20343 ArrayProxy<const ViewportWScalingNV> const & viewportWScalings ) const VULKAN_HPP_NOEXCEPT | |
| 20344 { | |
| 20345 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetViewportWScalingNV && "Function <vkCmdSetViewportWScalingNV> requires <VK_NV_clip_space_w_scaling>" ); | |
| 20346 | |
| 20347 getDispatcher()->vkCmdSetViewportWScalingNV( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 20348 firstViewport, | |
| 20349 viewportWScalings.size(), | |
| 20350 reinterpret_cast<const VkViewportWScalingNV *>( viewportWScalings.data() ) ); | |
| 20351 } | |
| 20352 | |
| 20353 # if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT ) | |
| 20354 //=== VK_EXT_acquire_xlib_display === | |
| 20355 | |
| 20356 // wrapper function for command vkAcquireXlibDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireXlibDisplayEXT.html | |
| 20357 VULKAN_HPP_INLINE typename ResultValueType<void>::type PhysicalDevice::acquireXlibDisplayEXT( Display & dpy, | |
| 20358 VULKAN_HPP_NAMESPACE::DisplayKHR display ) const | |
| 20359 { | |
| 20360 VULKAN_HPP_ASSERT( getDispatcher()->vkAcquireXlibDisplayEXT && "Function <vkAcquireXlibDisplayEXT> requires <VK_EXT_acquire_xlib_display>" ); | |
| 20361 | |
| 20362 Result result = static_cast<Result>( | |
| 20363 getDispatcher()->vkAcquireXlibDisplayEXT( static_cast<VkPhysicalDevice>( m_physicalDevice ), &dpy, static_cast<VkDisplayKHR>( display ) ) ); | |
| 20364 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::acquireXlibDisplayEXT" ); | |
| 20365 | |
| 20366 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 20367 } | |
| 20368 | |
| 20369 // wrapper function for command vkGetRandROutputDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRandROutputDisplayEXT.html | |
| 20370 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DisplayKHR>::type | |
| 20371 PhysicalDevice::getRandROutputDisplayEXT( Display & dpy, RROutput rrOutput ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 20372 { | |
| 20373 VULKAN_HPP_NAMESPACE::DisplayKHR display; | |
| 20374 Result result = static_cast<Result>( getDispatcher()->vkGetRandROutputDisplayEXT( | |
| 20375 static_cast<VkPhysicalDevice>( m_physicalDevice ), &dpy, rrOutput, reinterpret_cast<VkDisplayKHR *>( &display ) ) ); | |
| 20376 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getRandROutputDisplayEXT" ); | |
| 20377 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, DisplayKHR( *this, *reinterpret_cast<VkDisplayKHR *>( &display ) ) ); | |
| 20378 } | |
| 20379 # endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/ | |
| 20380 | |
| 20381 //=== VK_EXT_display_surface_counter === | |
| 20382 | |
| 20383 // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2EXT, see | |
| 20384 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2EXT.html | |
| 20385 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<SurfaceCapabilities2EXT>::type | |
| 20386 PhysicalDevice::getSurfaceCapabilities2EXT( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const | |
| 20387 { | |
| 20388 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilities2EXT && | |
| 20389 "Function <vkGetPhysicalDeviceSurfaceCapabilities2EXT> requires <VK_EXT_display_surface_counter>" ); | |
| 20390 | |
| 20391 SurfaceCapabilities2EXT surfaceCapabilities; | |
| 20392 Result result = static_cast<Result>( | |
| 20393 getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilities2EXT( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 20394 static_cast<VkSurfaceKHR>( surface ), | |
| 20395 reinterpret_cast<VkSurfaceCapabilities2EXT *>( &surfaceCapabilities ) ) ); | |
| 20396 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2EXT" ); | |
| 20397 | |
| 20398 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surfaceCapabilities ) ); | |
| 20399 } | |
| 20400 | |
| 20401 //=== VK_EXT_display_control === | |
| 20402 | |
| 20403 // wrapper function for command vkDisplayPowerControlEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDisplayPowerControlEXT.html | |
| 20404 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::displayPowerControlEXT( VULKAN_HPP_NAMESPACE::DisplayKHR display, | |
| 20405 const DisplayPowerInfoEXT & displayPowerInfo ) const | |
| 20406 { | |
| 20407 VULKAN_HPP_ASSERT( getDispatcher()->vkDisplayPowerControlEXT && "Function <vkDisplayPowerControlEXT> requires <VK_EXT_display_control>" ); | |
| 20408 | |
| 20409 Result result = static_cast<Result>( getDispatcher()->vkDisplayPowerControlEXT( | |
| 20410 static_cast<VkDevice>( m_device ), static_cast<VkDisplayKHR>( display ), reinterpret_cast<const VkDisplayPowerInfoEXT *>( &displayPowerInfo ) ) ); | |
| 20411 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::displayPowerControlEXT" ); | |
| 20412 | |
| 20413 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 20414 } | |
| 20415 | |
| 20416 // wrapper function for command vkRegisterDeviceEventEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkRegisterDeviceEventEXT.html | |
| 20417 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<Fence>::type | |
| 20418 Device::registerEventEXT( DeviceEventInfoEXT const & deviceEventInfo, | |
| 20419 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 20420 { | |
| 20421 VULKAN_HPP_NAMESPACE::Fence fence; | |
| 20422 Result result = static_cast<Result>( getDispatcher()->vkRegisterDeviceEventEXT( static_cast<VkDevice>( m_device ), | |
| 20423 reinterpret_cast<const VkDeviceEventInfoEXT *>( &deviceEventInfo ), | |
| 20424 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 20425 reinterpret_cast<VkFence *>( &fence ) ) ); | |
| 20426 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::registerEventEXT" ); | |
| 20427 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Fence( *this, *reinterpret_cast<VkFence *>( &fence ), allocator ) ); | |
| 20428 } | |
| 20429 | |
| 20430 // wrapper function for command vkRegisterDisplayEventEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkRegisterDisplayEventEXT.html | |
| 20431 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<Fence>::type | |
| 20432 Device::registerDisplayEventEXT( DisplayKHR const & display, | |
| 20433 DisplayEventInfoEXT const & displayEventInfo, | |
| 20434 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 20435 { | |
| 20436 VULKAN_HPP_NAMESPACE::Fence fence; | |
| 20437 Result result = static_cast<Result>( getDispatcher()->vkRegisterDisplayEventEXT( static_cast<VkDevice>( m_device ), | |
| 20438 static_cast<VkDisplayKHR>( *display ), | |
| 20439 reinterpret_cast<const VkDisplayEventInfoEXT *>( &displayEventInfo ), | |
| 20440 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 20441 reinterpret_cast<VkFence *>( &fence ) ) ); | |
| 20442 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::registerDisplayEventEXT" ); | |
| 20443 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Fence( *this, *reinterpret_cast<VkFence *>( &fence ), allocator ) ); | |
| 20444 } | |
| 20445 | |
| 20446 // wrapper function for command vkGetSwapchainCounterEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainCounterEXT.html | |
| 20447 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE | |
| 20448 # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) | |
| 20449 ResultValue<uint64_t> | |
| 20450 # else | |
| 20451 typename ResultValueType<uint64_t>::type | |
| 20452 # endif | |
| 20453 SwapchainKHR::getCounterEXT( SurfaceCounterFlagBitsEXT counter ) const | |
| 20454 { | |
| 20455 VULKAN_HPP_ASSERT( getDispatcher()->vkGetSwapchainCounterEXT && "Function <vkGetSwapchainCounterEXT> requires <VK_EXT_display_control>" ); | |
| 20456 | |
| 20457 uint64_t counterValue; | |
| 20458 Result result = static_cast<Result>( getDispatcher()->vkGetSwapchainCounterEXT( static_cast<VkDevice>( m_device ), | |
| 20459 static_cast<VkSwapchainKHR>( m_swapchainKHR ), | |
| 20460 static_cast<VkSurfaceCounterFlagBitsEXT>( counter ), | |
| 20461 &counterValue ) ); | |
| 20462 | |
| 20463 # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) | |
| 20464 VULKAN_HPP_NAMESPACE::detail::resultCheck( | |
| 20465 result, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::getCounterEXT", { Result::eSuccess, Result::eErrorOutOfDateKHR } ); | |
| 20466 # else | |
| 20467 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::getCounterEXT" ); | |
| 20468 # endif | |
| 20469 | |
| 20470 # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) | |
| 20471 return ResultValue<uint64_t>( result, std::move( counterValue ) ); | |
| 20472 # else | |
| 20473 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( counterValue ) ); | |
| 20474 # endif | |
| 20475 } | |
| 20476 | |
| 20477 //=== VK_GOOGLE_display_timing === | |
| 20478 | |
| 20479 // wrapper function for command vkGetRefreshCycleDurationGOOGLE, see | |
| 20480 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRefreshCycleDurationGOOGLE.html | |
| 20481 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<RefreshCycleDurationGOOGLE>::type SwapchainKHR::getRefreshCycleDurationGOOGLE() const | |
| 20482 { | |
| 20483 VULKAN_HPP_ASSERT( getDispatcher()->vkGetRefreshCycleDurationGOOGLE && "Function <vkGetRefreshCycleDurationGOOGLE> requires <VK_GOOGLE_display_timing>" ); | |
| 20484 | |
| 20485 RefreshCycleDurationGOOGLE displayTimingProperties; | |
| 20486 Result result = | |
| 20487 static_cast<Result>( getDispatcher()->vkGetRefreshCycleDurationGOOGLE( static_cast<VkDevice>( m_device ), | |
| 20488 static_cast<VkSwapchainKHR>( m_swapchainKHR ), | |
| 20489 reinterpret_cast<VkRefreshCycleDurationGOOGLE *>( &displayTimingProperties ) ) ); | |
| 20490 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::getRefreshCycleDurationGOOGLE" ); | |
| 20491 | |
| 20492 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( displayTimingProperties ) ); | |
| 20493 } | |
| 20494 | |
| 20495 // wrapper function for command vkGetPastPresentationTimingGOOGLE, see | |
| 20496 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPastPresentationTimingGOOGLE.html | |
| 20497 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE | |
| 20498 # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) | |
| 20499 ResultValue<std::vector<PastPresentationTimingGOOGLE>> | |
| 20500 # else | |
| 20501 typename ResultValueType<std::vector<PastPresentationTimingGOOGLE>>::type | |
| 20502 # endif | |
| 20503 SwapchainKHR::getPastPresentationTimingGOOGLE() const | |
| 20504 { | |
| 20505 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPastPresentationTimingGOOGLE && | |
| 20506 "Function <vkGetPastPresentationTimingGOOGLE> requires <VK_GOOGLE_display_timing>" ); | |
| 20507 | |
| 20508 std::vector<PastPresentationTimingGOOGLE> presentationTimings; | |
| 20509 uint32_t presentationTimingCount; | |
| 20510 Result result; | |
| 20511 do | |
| 20512 { | |
| 20513 result = static_cast<Result>( getDispatcher()->vkGetPastPresentationTimingGOOGLE( | |
| 20514 static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ), &presentationTimingCount, nullptr ) ); | |
| 20515 if ( ( result == Result::eSuccess ) && presentationTimingCount ) | |
| 20516 { | |
| 20517 presentationTimings.resize( presentationTimingCount ); | |
| 20518 result = static_cast<Result>( | |
| 20519 getDispatcher()->vkGetPastPresentationTimingGOOGLE( static_cast<VkDevice>( m_device ), | |
| 20520 static_cast<VkSwapchainKHR>( m_swapchainKHR ), | |
| 20521 &presentationTimingCount, | |
| 20522 reinterpret_cast<VkPastPresentationTimingGOOGLE *>( presentationTimings.data() ) ) ); | |
| 20523 } | |
| 20524 } while ( result == Result::eIncomplete ); | |
| 20525 | |
| 20526 # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) | |
| 20527 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, | |
| 20528 VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::getPastPresentationTimingGOOGLE", | |
| 20529 { Result::eSuccess, Result::eIncomplete, Result::eErrorOutOfDateKHR } ); | |
| 20530 # else | |
| 20531 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::getPastPresentationTimingGOOGLE" ); | |
| 20532 # endif | |
| 20533 | |
| 20534 VULKAN_HPP_ASSERT( presentationTimingCount <= presentationTimings.size() ); | |
| 20535 if ( presentationTimingCount < presentationTimings.size() ) | |
| 20536 { | |
| 20537 presentationTimings.resize( presentationTimingCount ); | |
| 20538 } | |
| 20539 | |
| 20540 # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) | |
| 20541 return ResultValue<std::vector<PastPresentationTimingGOOGLE>>( result, std::move( presentationTimings ) ); | |
| 20542 # else | |
| 20543 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( presentationTimings ) ); | |
| 20544 # endif | |
| 20545 } | |
| 20546 | |
| 20547 //=== VK_EXT_discard_rectangles === | |
| 20548 | |
| 20549 // wrapper function for command vkCmdSetDiscardRectangleEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDiscardRectangleEXT.html | |
| 20550 VULKAN_HPP_INLINE void CommandBuffer::setDiscardRectangleEXT( uint32_t firstDiscardRectangle, | |
| 20551 ArrayProxy<const Rect2D> const & discardRectangles ) const VULKAN_HPP_NOEXCEPT | |
| 20552 { | |
| 20553 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDiscardRectangleEXT && "Function <vkCmdSetDiscardRectangleEXT> requires <VK_EXT_discard_rectangles>" ); | |
| 20554 | |
| 20555 getDispatcher()->vkCmdSetDiscardRectangleEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 20556 firstDiscardRectangle, | |
| 20557 discardRectangles.size(), | |
| 20558 reinterpret_cast<const VkRect2D *>( discardRectangles.data() ) ); | |
| 20559 } | |
| 20560 | |
| 20561 // wrapper function for command vkCmdSetDiscardRectangleEnableEXT, see | |
| 20562 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDiscardRectangleEnableEXT.html | |
| 20563 VULKAN_HPP_INLINE void CommandBuffer::setDiscardRectangleEnableEXT( Bool32 discardRectangleEnable ) const VULKAN_HPP_NOEXCEPT | |
| 20564 { | |
| 20565 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDiscardRectangleEnableEXT && | |
| 20566 "Function <vkCmdSetDiscardRectangleEnableEXT> requires <VK_EXT_discard_rectangles>" ); | |
| 20567 | |
| 20568 getDispatcher()->vkCmdSetDiscardRectangleEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( discardRectangleEnable ) ); | |
| 20569 } | |
| 20570 | |
| 20571 // wrapper function for command vkCmdSetDiscardRectangleModeEXT, see | |
| 20572 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDiscardRectangleModeEXT.html | |
| 20573 VULKAN_HPP_INLINE void CommandBuffer::setDiscardRectangleModeEXT( DiscardRectangleModeEXT discardRectangleMode ) const VULKAN_HPP_NOEXCEPT | |
| 20574 { | |
| 20575 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDiscardRectangleModeEXT && | |
| 20576 "Function <vkCmdSetDiscardRectangleModeEXT> requires <VK_EXT_discard_rectangles>" ); | |
| 20577 | |
| 20578 getDispatcher()->vkCmdSetDiscardRectangleModeEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 20579 static_cast<VkDiscardRectangleModeEXT>( discardRectangleMode ) ); | |
| 20580 } | |
| 20581 | |
| 20582 //=== VK_EXT_hdr_metadata === | |
| 20583 | |
| 20584 // wrapper function for command vkSetHdrMetadataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetHdrMetadataEXT.html | |
| 20585 VULKAN_HPP_INLINE void Device::setHdrMetadataEXT( ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainKHR> const & swapchains, | |
| 20586 ArrayProxy<const HdrMetadataEXT> const & metadata ) const | |
| 20587 { | |
| 20588 VULKAN_HPP_ASSERT( getDispatcher()->vkSetHdrMetadataEXT && "Function <vkSetHdrMetadataEXT> requires <VK_EXT_hdr_metadata>" ); | |
| 20589 # ifdef VULKAN_HPP_NO_EXCEPTIONS | |
| 20590 VULKAN_HPP_ASSERT( swapchains.size() == metadata.size() ); | |
| 20591 # else | |
| 20592 if ( swapchains.size() != metadata.size() ) | |
| 20593 { | |
| 20594 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::Device::setHdrMetadataEXT: swapchains.size() != metadata.size()" ); | |
| 20595 } | |
| 20596 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ | |
| 20597 | |
| 20598 getDispatcher()->vkSetHdrMetadataEXT( static_cast<VkDevice>( m_device ), | |
| 20599 swapchains.size(), | |
| 20600 reinterpret_cast<const VkSwapchainKHR *>( swapchains.data() ), | |
| 20601 reinterpret_cast<const VkHdrMetadataEXT *>( metadata.data() ) ); | |
| 20602 } | |
| 20603 | |
| 20604 //=== VK_KHR_create_renderpass2 === | |
| 20605 | |
| 20606 // wrapper function for command vkCreateRenderPass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass2KHR.html | |
| 20607 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<RenderPass>::type | |
| 20608 Device::createRenderPass2KHR( RenderPassCreateInfo2 const & createInfo, | |
| 20609 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 20610 { | |
| 20611 VULKAN_HPP_NAMESPACE::RenderPass renderPass; | |
| 20612 Result result = static_cast<Result>( getDispatcher()->vkCreateRenderPass2KHR( static_cast<VkDevice>( m_device ), | |
| 20613 reinterpret_cast<const VkRenderPassCreateInfo2 *>( &createInfo ), | |
| 20614 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 20615 reinterpret_cast<VkRenderPass *>( &renderPass ) ) ); | |
| 20616 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createRenderPass2KHR" ); | |
| 20617 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, RenderPass( *this, *reinterpret_cast<VkRenderPass *>( &renderPass ), allocator ) ); | |
| 20618 } | |
| 20619 | |
| 20620 // wrapper function for command vkCmdBeginRenderPass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderPass2KHR.html | |
| 20621 VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass2KHR( const RenderPassBeginInfo & renderPassBegin, | |
| 20622 const SubpassBeginInfo & subpassBeginInfo ) const VULKAN_HPP_NOEXCEPT | |
| 20623 { | |
| 20624 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBeginRenderPass2KHR && | |
| 20625 "Function <vkCmdBeginRenderPass2KHR> requires <VK_KHR_create_renderpass2> or <VK_VERSION_1_2>" ); | |
| 20626 | |
| 20627 getDispatcher()->vkCmdBeginRenderPass2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 20628 reinterpret_cast<const VkRenderPassBeginInfo *>( &renderPassBegin ), | |
| 20629 reinterpret_cast<const VkSubpassBeginInfo *>( &subpassBeginInfo ) ); | |
| 20630 } | |
| 20631 | |
| 20632 // wrapper function for command vkCmdNextSubpass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdNextSubpass2KHR.html | |
| 20633 VULKAN_HPP_INLINE void CommandBuffer::nextSubpass2KHR( const SubpassBeginInfo & subpassBeginInfo, | |
| 20634 const SubpassEndInfo & subpassEndInfo ) const VULKAN_HPP_NOEXCEPT | |
| 20635 { | |
| 20636 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdNextSubpass2KHR && "Function <vkCmdNextSubpass2KHR> requires <VK_KHR_create_renderpass2> or <VK_VERSION_1_2>" ); | |
| 20637 | |
| 20638 getDispatcher()->vkCmdNextSubpass2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 20639 reinterpret_cast<const VkSubpassBeginInfo *>( &subpassBeginInfo ), | |
| 20640 reinterpret_cast<const VkSubpassEndInfo *>( &subpassEndInfo ) ); | |
| 20641 } | |
| 20642 | |
| 20643 // wrapper function for command vkCmdEndRenderPass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRenderPass2KHR.html | |
| 20644 VULKAN_HPP_INLINE void CommandBuffer::endRenderPass2KHR( const SubpassEndInfo & subpassEndInfo ) const VULKAN_HPP_NOEXCEPT | |
| 20645 { | |
| 20646 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdEndRenderPass2KHR && | |
| 20647 "Function <vkCmdEndRenderPass2KHR> requires <VK_KHR_create_renderpass2> or <VK_VERSION_1_2>" ); | |
| 20648 | |
| 20649 getDispatcher()->vkCmdEndRenderPass2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkSubpassEndInfo *>( &subpassEndInfo ) ); | |
| 20650 } | |
| 20651 | |
| 20652 //=== VK_KHR_shared_presentable_image === | |
| 20653 | |
| 20654 // wrapper function for command vkGetSwapchainStatusKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainStatusKHR.html | |
| 20655 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result SwapchainKHR::getStatus() const | |
| 20656 { | |
| 20657 VULKAN_HPP_ASSERT( getDispatcher()->vkGetSwapchainStatusKHR && "Function <vkGetSwapchainStatusKHR> requires <VK_KHR_shared_presentable_image>" ); | |
| 20658 | |
| 20659 Result result = | |
| 20660 static_cast<Result>( getDispatcher()->vkGetSwapchainStatusKHR( static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ) ) ); | |
| 20661 | |
| 20662 # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) | |
| 20663 VULKAN_HPP_NAMESPACE::detail::resultCheck( | |
| 20664 result, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::getStatus", { Result::eSuccess, Result::eSuboptimalKHR, Result::eErrorOutOfDateKHR } ); | |
| 20665 # else | |
| 20666 VULKAN_HPP_NAMESPACE::detail::resultCheck( | |
| 20667 result, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::getStatus", { Result::eSuccess, Result::eSuboptimalKHR } ); | |
| 20668 # endif | |
| 20669 | |
| 20670 return static_cast<Result>( result ); | |
| 20671 } | |
| 20672 | |
| 20673 //=== VK_KHR_external_fence_capabilities === | |
| 20674 | |
| 20675 // wrapper function for command vkGetPhysicalDeviceExternalFencePropertiesKHR, see | |
| 20676 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalFencePropertiesKHR.html | |
| 20677 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ExternalFenceProperties | |
| 20678 PhysicalDevice::getExternalFencePropertiesKHR( const PhysicalDeviceExternalFenceInfo & externalFenceInfo ) const VULKAN_HPP_NOEXCEPT | |
| 20679 { | |
| 20680 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceExternalFencePropertiesKHR && | |
| 20681 "Function <vkGetPhysicalDeviceExternalFencePropertiesKHR> requires <VK_KHR_external_fence_capabilities> or <VK_VERSION_1_1>" ); | |
| 20682 | |
| 20683 ExternalFenceProperties externalFenceProperties; | |
| 20684 getDispatcher()->vkGetPhysicalDeviceExternalFencePropertiesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 20685 reinterpret_cast<const VkPhysicalDeviceExternalFenceInfo *>( &externalFenceInfo ), | |
| 20686 reinterpret_cast<VkExternalFenceProperties *>( &externalFenceProperties ) ); | |
| 20687 | |
| 20688 return externalFenceProperties; | |
| 20689 } | |
| 20690 | |
| 20691 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 20692 //=== VK_KHR_external_fence_win32 === | |
| 20693 | |
| 20694 // wrapper function for command vkImportFenceWin32HandleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportFenceWin32HandleKHR.html | |
| 20695 VULKAN_HPP_INLINE typename ResultValueType<void>::type | |
| 20696 Device::importFenceWin32HandleKHR( const ImportFenceWin32HandleInfoKHR & importFenceWin32HandleInfo ) const | |
| 20697 { | |
| 20698 VULKAN_HPP_ASSERT( getDispatcher()->vkImportFenceWin32HandleKHR && "Function <vkImportFenceWin32HandleKHR> requires <VK_KHR_external_fence_win32>" ); | |
| 20699 | |
| 20700 Result result = static_cast<Result>( getDispatcher()->vkImportFenceWin32HandleKHR( | |
| 20701 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkImportFenceWin32HandleInfoKHR *>( &importFenceWin32HandleInfo ) ) ); | |
| 20702 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::importFenceWin32HandleKHR" ); | |
| 20703 | |
| 20704 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 20705 } | |
| 20706 | |
| 20707 // wrapper function for command vkGetFenceWin32HandleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceWin32HandleKHR.html | |
| 20708 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<HANDLE>::type | |
| 20709 Device::getFenceWin32HandleKHR( const FenceGetWin32HandleInfoKHR & getWin32HandleInfo ) const | |
| 20710 { | |
| 20711 VULKAN_HPP_ASSERT( getDispatcher()->vkGetFenceWin32HandleKHR && "Function <vkGetFenceWin32HandleKHR> requires <VK_KHR_external_fence_win32>" ); | |
| 20712 | |
| 20713 HANDLE handle; | |
| 20714 Result result = static_cast<Result>( getDispatcher()->vkGetFenceWin32HandleKHR( | |
| 20715 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkFenceGetWin32HandleInfoKHR *>( &getWin32HandleInfo ), &handle ) ); | |
| 20716 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getFenceWin32HandleKHR" ); | |
| 20717 | |
| 20718 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( handle ) ); | |
| 20719 } | |
| 20720 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 20721 | |
| 20722 //=== VK_KHR_external_fence_fd === | |
| 20723 | |
| 20724 // wrapper function for command vkImportFenceFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportFenceFdKHR.html | |
| 20725 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::importFenceFdKHR( const ImportFenceFdInfoKHR & importFenceFdInfo ) const | |
| 20726 { | |
| 20727 VULKAN_HPP_ASSERT( getDispatcher()->vkImportFenceFdKHR && "Function <vkImportFenceFdKHR> requires <VK_KHR_external_fence_fd>" ); | |
| 20728 | |
| 20729 Result result = static_cast<Result>( | |
| 20730 getDispatcher()->vkImportFenceFdKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkImportFenceFdInfoKHR *>( &importFenceFdInfo ) ) ); | |
| 20731 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::importFenceFdKHR" ); | |
| 20732 | |
| 20733 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 20734 } | |
| 20735 | |
| 20736 // wrapper function for command vkGetFenceFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceFdKHR.html | |
| 20737 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<int>::type Device::getFenceFdKHR( const FenceGetFdInfoKHR & getFdInfo ) const | |
| 20738 { | |
| 20739 VULKAN_HPP_ASSERT( getDispatcher()->vkGetFenceFdKHR && "Function <vkGetFenceFdKHR> requires <VK_KHR_external_fence_fd>" ); | |
| 20740 | |
| 20741 int fd; | |
| 20742 Result result = static_cast<Result>( | |
| 20743 getDispatcher()->vkGetFenceFdKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkFenceGetFdInfoKHR *>( &getFdInfo ), &fd ) ); | |
| 20744 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getFenceFdKHR" ); | |
| 20745 | |
| 20746 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( fd ) ); | |
| 20747 } | |
| 20748 | |
| 20749 //=== VK_KHR_performance_query === | |
| 20750 | |
| 20751 // wrapper function for command vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR, see | |
| 20752 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR.html | |
| 20753 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE | |
| 20754 typename ResultValueType<std::pair<std::vector<PerformanceCounterKHR>, std::vector<PerformanceCounterDescriptionKHR>>>::type | |
| 20755 PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR( uint32_t queueFamilyIndex ) const | |
| 20756 { | |
| 20757 VULKAN_HPP_ASSERT( getDispatcher()->vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR && | |
| 20758 "Function <vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR> requires <VK_KHR_performance_query>" ); | |
| 20759 | |
| 20760 std::pair<std::vector<PerformanceCounterKHR>, std::vector<PerformanceCounterDescriptionKHR>> data_; | |
| 20761 std::vector<PerformanceCounterKHR> & counters = data_.first; | |
| 20762 std::vector<PerformanceCounterDescriptionKHR> & counterDescriptions = data_.second; | |
| 20763 uint32_t counterCount; | |
| 20764 Result result; | |
| 20765 do | |
| 20766 { | |
| 20767 result = static_cast<Result>( getDispatcher()->vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( | |
| 20768 static_cast<VkPhysicalDevice>( m_physicalDevice ), queueFamilyIndex, &counterCount, nullptr, nullptr ) ); | |
| 20769 if ( ( result == Result::eSuccess ) && counterCount ) | |
| 20770 { | |
| 20771 counters.resize( counterCount ); | |
| 20772 counterDescriptions.resize( counterCount ); | |
| 20773 result = static_cast<Result>( getDispatcher()->vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( | |
| 20774 static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 20775 queueFamilyIndex, | |
| 20776 &counterCount, | |
| 20777 reinterpret_cast<VkPerformanceCounterKHR *>( counters.data() ), | |
| 20778 reinterpret_cast<VkPerformanceCounterDescriptionKHR *>( counterDescriptions.data() ) ) ); | |
| 20779 } | |
| 20780 } while ( result == Result::eIncomplete ); | |
| 20781 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR" ); | |
| 20782 VULKAN_HPP_ASSERT( counterCount <= counters.size() ); | |
| 20783 if ( counterCount < counters.size() ) | |
| 20784 { | |
| 20785 counters.resize( counterCount ); | |
| 20786 counterDescriptions.resize( counterCount ); | |
| 20787 } | |
| 20788 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); | |
| 20789 } | |
| 20790 | |
| 20791 // wrapper function for command vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR, see | |
| 20792 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR.html | |
| 20793 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint32_t | |
| 20794 PhysicalDevice::getQueueFamilyPerformanceQueryPassesKHR( const QueryPoolPerformanceCreateInfoKHR & performanceQueryCreateInfo ) const VULKAN_HPP_NOEXCEPT | |
| 20795 { | |
| 20796 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR && | |
| 20797 "Function <vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR> requires <VK_KHR_performance_query>" ); | |
| 20798 | |
| 20799 uint32_t numPasses; | |
| 20800 getDispatcher()->vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( | |
| 20801 static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 20802 reinterpret_cast<const VkQueryPoolPerformanceCreateInfoKHR *>( &performanceQueryCreateInfo ), | |
| 20803 &numPasses ); | |
| 20804 | |
| 20805 return numPasses; | |
| 20806 } | |
| 20807 | |
| 20808 // wrapper function for command vkAcquireProfilingLockKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireProfilingLockKHR.html | |
| 20809 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::acquireProfilingLockKHR( const AcquireProfilingLockInfoKHR & info ) const | |
| 20810 { | |
| 20811 VULKAN_HPP_ASSERT( getDispatcher()->vkAcquireProfilingLockKHR && "Function <vkAcquireProfilingLockKHR> requires <VK_KHR_performance_query>" ); | |
| 20812 | |
| 20813 Result result = static_cast<Result>( | |
| 20814 getDispatcher()->vkAcquireProfilingLockKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkAcquireProfilingLockInfoKHR *>( &info ) ) ); | |
| 20815 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::acquireProfilingLockKHR" ); | |
| 20816 | |
| 20817 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 20818 } | |
| 20819 | |
| 20820 // wrapper function for command vkReleaseProfilingLockKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseProfilingLockKHR.html | |
| 20821 VULKAN_HPP_INLINE void Device::releaseProfilingLockKHR() const VULKAN_HPP_NOEXCEPT | |
| 20822 { | |
| 20823 VULKAN_HPP_ASSERT( getDispatcher()->vkReleaseProfilingLockKHR && "Function <vkReleaseProfilingLockKHR> requires <VK_KHR_performance_query>" ); | |
| 20824 | |
| 20825 getDispatcher()->vkReleaseProfilingLockKHR( static_cast<VkDevice>( m_device ) ); | |
| 20826 } | |
| 20827 | |
| 20828 //=== VK_KHR_get_surface_capabilities2 === | |
| 20829 // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2KHR, see | |
| 20830 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2KHR.html | |
| 20831 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getSurfaceCapabilities2KHR( | |
| 20832 const PhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo, SurfaceCapabilities2KHR * pSurfaceCapabilities ) const VULKAN_HPP_NOEXCEPT | |
| 20833 { | |
| 20834 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilities2KHR && | |
| 20835 "Function <vkGetPhysicalDeviceSurfaceCapabilities2KHR> requires <VK_KHR_get_surface_capabilities2>" ); | |
| 20836 return static_cast<Result>( | |
| 20837 getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilities2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 20838 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( pSurfaceInfo ), | |
| 20839 reinterpret_cast<VkSurfaceCapabilities2KHR *>( pSurfaceCapabilities ) ) ); | |
| 20840 } | |
| 20841 | |
| 20842 // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2KHR, see | |
| 20843 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2KHR.html | |
| 20844 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<SurfaceCapabilities2KHR>::type | |
| 20845 PhysicalDevice::getSurfaceCapabilities2KHR( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const | |
| 20846 { | |
| 20847 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilities2KHR && | |
| 20848 "Function <vkGetPhysicalDeviceSurfaceCapabilities2KHR> requires <VK_KHR_get_surface_capabilities2>" ); | |
| 20849 | |
| 20850 SurfaceCapabilities2KHR surfaceCapabilities; | |
| 20851 Result result = static_cast<Result>( | |
| 20852 getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilities2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 20853 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), | |
| 20854 reinterpret_cast<VkSurfaceCapabilities2KHR *>( &surfaceCapabilities ) ) ); | |
| 20855 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2KHR" ); | |
| 20856 | |
| 20857 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surfaceCapabilities ) ); | |
| 20858 } | |
| 20859 | |
| 20860 // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2KHR, see | |
| 20861 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2KHR.html | |
| 20862 template <typename X, typename Y, typename... Z> | |
| 20863 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<StructureChain<X, Y, Z...>>::type | |
| 20864 PhysicalDevice::getSurfaceCapabilities2KHR( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const | |
| 20865 { | |
| 20866 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilities2KHR && | |
| 20867 "Function <vkGetPhysicalDeviceSurfaceCapabilities2KHR> requires <VK_KHR_get_surface_capabilities2>" ); | |
| 20868 | |
| 20869 StructureChain<X, Y, Z...> structureChain; | |
| 20870 SurfaceCapabilities2KHR & surfaceCapabilities = structureChain.template get<SurfaceCapabilities2KHR>(); | |
| 20871 Result result = static_cast<Result>( | |
| 20872 getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilities2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 20873 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), | |
| 20874 reinterpret_cast<VkSurfaceCapabilities2KHR *>( &surfaceCapabilities ) ) ); | |
| 20875 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2KHR" ); | |
| 20876 | |
| 20877 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChain ) ); | |
| 20878 } | |
| 20879 | |
| 20880 // wrapper function for command vkGetPhysicalDeviceSurfaceFormats2KHR, see | |
| 20881 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormats2KHR.html | |
| 20882 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<SurfaceFormat2KHR>>::type | |
| 20883 PhysicalDevice::getSurfaceFormats2KHR( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const | |
| 20884 { | |
| 20885 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceSurfaceFormats2KHR && | |
| 20886 "Function <vkGetPhysicalDeviceSurfaceFormats2KHR> requires <VK_KHR_get_surface_capabilities2>" ); | |
| 20887 | |
| 20888 std::vector<SurfaceFormat2KHR> surfaceFormats; | |
| 20889 uint32_t surfaceFormatCount; | |
| 20890 Result result; | |
| 20891 do | |
| 20892 { | |
| 20893 result = static_cast<Result>( | |
| 20894 getDispatcher()->vkGetPhysicalDeviceSurfaceFormats2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 20895 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), | |
| 20896 &surfaceFormatCount, | |
| 20897 nullptr ) ); | |
| 20898 if ( ( result == Result::eSuccess ) && surfaceFormatCount ) | |
| 20899 { | |
| 20900 surfaceFormats.resize( surfaceFormatCount ); | |
| 20901 result = static_cast<Result>( | |
| 20902 getDispatcher()->vkGetPhysicalDeviceSurfaceFormats2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 20903 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), | |
| 20904 &surfaceFormatCount, | |
| 20905 reinterpret_cast<VkSurfaceFormat2KHR *>( surfaceFormats.data() ) ) ); | |
| 20906 } | |
| 20907 } while ( result == Result::eIncomplete ); | |
| 20908 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormats2KHR" ); | |
| 20909 VULKAN_HPP_ASSERT( surfaceFormatCount <= surfaceFormats.size() ); | |
| 20910 if ( surfaceFormatCount < surfaceFormats.size() ) | |
| 20911 { | |
| 20912 surfaceFormats.resize( surfaceFormatCount ); | |
| 20913 } | |
| 20914 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surfaceFormats ) ); | |
| 20915 } | |
| 20916 | |
| 20917 // wrapper function for command vkGetPhysicalDeviceSurfaceFormats2KHR, see | |
| 20918 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormats2KHR.html | |
| 20919 template <typename StructureChain> | |
| 20920 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<StructureChain>>::type | |
| 20921 PhysicalDevice::getSurfaceFormats2KHR( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const | |
| 20922 { | |
| 20923 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceSurfaceFormats2KHR && | |
| 20924 "Function <vkGetPhysicalDeviceSurfaceFormats2KHR> requires <VK_KHR_get_surface_capabilities2>" ); | |
| 20925 | |
| 20926 std::vector<StructureChain> structureChains; | |
| 20927 std::vector<SurfaceFormat2KHR> surfaceFormats; | |
| 20928 uint32_t surfaceFormatCount; | |
| 20929 Result result; | |
| 20930 do | |
| 20931 { | |
| 20932 result = static_cast<Result>( | |
| 20933 getDispatcher()->vkGetPhysicalDeviceSurfaceFormats2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 20934 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), | |
| 20935 &surfaceFormatCount, | |
| 20936 nullptr ) ); | |
| 20937 if ( ( result == Result::eSuccess ) && surfaceFormatCount ) | |
| 20938 { | |
| 20939 structureChains.resize( surfaceFormatCount ); | |
| 20940 surfaceFormats.resize( surfaceFormatCount ); | |
| 20941 for ( uint32_t i = 0; i < surfaceFormatCount; i++ ) | |
| 20942 { | |
| 20943 surfaceFormats[i].pNext = structureChains[i].template get<SurfaceFormat2KHR>().pNext; | |
| 20944 } | |
| 20945 result = static_cast<Result>( | |
| 20946 getDispatcher()->vkGetPhysicalDeviceSurfaceFormats2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 20947 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), | |
| 20948 &surfaceFormatCount, | |
| 20949 reinterpret_cast<VkSurfaceFormat2KHR *>( surfaceFormats.data() ) ) ); | |
| 20950 } | |
| 20951 } while ( result == Result::eIncomplete ); | |
| 20952 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormats2KHR" ); | |
| 20953 VULKAN_HPP_ASSERT( surfaceFormatCount <= surfaceFormats.size() ); | |
| 20954 if ( surfaceFormatCount < surfaceFormats.size() ) | |
| 20955 { | |
| 20956 structureChains.resize( surfaceFormatCount ); | |
| 20957 } | |
| 20958 for ( uint32_t i = 0; i < surfaceFormatCount; i++ ) | |
| 20959 { | |
| 20960 structureChains[i].template get<SurfaceFormat2KHR>() = surfaceFormats[i]; | |
| 20961 } | |
| 20962 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChains ) ); | |
| 20963 } | |
| 20964 | |
| 20965 //=== VK_KHR_get_display_properties2 === | |
| 20966 | |
| 20967 // wrapper function for command vkGetPhysicalDeviceDisplayProperties2KHR, see | |
| 20968 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayProperties2KHR.html | |
| 20969 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DisplayProperties2KHR>>::type PhysicalDevice::getDisplayProperties2KHR() const | |
| 20970 { | |
| 20971 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceDisplayProperties2KHR && | |
| 20972 "Function <vkGetPhysicalDeviceDisplayProperties2KHR> requires <VK_KHR_get_display_properties2>" ); | |
| 20973 | |
| 20974 std::vector<DisplayProperties2KHR> properties; | |
| 20975 uint32_t propertyCount; | |
| 20976 Result result; | |
| 20977 do | |
| 20978 { | |
| 20979 result = static_cast<Result>( | |
| 20980 getDispatcher()->vkGetPhysicalDeviceDisplayProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), &propertyCount, nullptr ) ); | |
| 20981 if ( ( result == Result::eSuccess ) && propertyCount ) | |
| 20982 { | |
| 20983 properties.resize( propertyCount ); | |
| 20984 result = static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceDisplayProperties2KHR( | |
| 20985 static_cast<VkPhysicalDevice>( m_physicalDevice ), &propertyCount, reinterpret_cast<VkDisplayProperties2KHR *>( properties.data() ) ) ); | |
| 20986 } | |
| 20987 } while ( result == Result::eIncomplete ); | |
| 20988 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getDisplayProperties2KHR" ); | |
| 20989 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); | |
| 20990 if ( propertyCount < properties.size() ) | |
| 20991 { | |
| 20992 properties.resize( propertyCount ); | |
| 20993 } | |
| 20994 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); | |
| 20995 } | |
| 20996 | |
| 20997 // wrapper function for command vkGetPhysicalDeviceDisplayPlaneProperties2KHR, see | |
| 20998 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPlaneProperties2KHR.html | |
| 20999 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DisplayPlaneProperties2KHR>>::type | |
| 21000 PhysicalDevice::getDisplayPlaneProperties2KHR() const | |
| 21001 { | |
| 21002 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceDisplayPlaneProperties2KHR && | |
| 21003 "Function <vkGetPhysicalDeviceDisplayPlaneProperties2KHR> requires <VK_KHR_get_display_properties2>" ); | |
| 21004 | |
| 21005 std::vector<DisplayPlaneProperties2KHR> properties; | |
| 21006 uint32_t propertyCount; | |
| 21007 Result result; | |
| 21008 do | |
| 21009 { | |
| 21010 result = static_cast<Result>( | |
| 21011 getDispatcher()->vkGetPhysicalDeviceDisplayPlaneProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), &propertyCount, nullptr ) ); | |
| 21012 if ( ( result == Result::eSuccess ) && propertyCount ) | |
| 21013 { | |
| 21014 properties.resize( propertyCount ); | |
| 21015 result = static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceDisplayPlaneProperties2KHR( | |
| 21016 static_cast<VkPhysicalDevice>( m_physicalDevice ), &propertyCount, reinterpret_cast<VkDisplayPlaneProperties2KHR *>( properties.data() ) ) ); | |
| 21017 } | |
| 21018 } while ( result == Result::eIncomplete ); | |
| 21019 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneProperties2KHR" ); | |
| 21020 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); | |
| 21021 if ( propertyCount < properties.size() ) | |
| 21022 { | |
| 21023 properties.resize( propertyCount ); | |
| 21024 } | |
| 21025 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); | |
| 21026 } | |
| 21027 | |
| 21028 // wrapper function for command vkGetDisplayModeProperties2KHR, see | |
| 21029 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModeProperties2KHR.html | |
| 21030 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DisplayModeProperties2KHR>>::type DisplayKHR::getModeProperties2() const | |
| 21031 { | |
| 21032 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDisplayModeProperties2KHR && | |
| 21033 "Function <vkGetDisplayModeProperties2KHR> requires <VK_KHR_get_display_properties2>" ); | |
| 21034 | |
| 21035 std::vector<DisplayModeProperties2KHR> properties; | |
| 21036 uint32_t propertyCount; | |
| 21037 Result result; | |
| 21038 do | |
| 21039 { | |
| 21040 result = static_cast<Result>( getDispatcher()->vkGetDisplayModeProperties2KHR( | |
| 21041 static_cast<VkPhysicalDevice>( m_physicalDevice ), static_cast<VkDisplayKHR>( m_displayKHR ), &propertyCount, nullptr ) ); | |
| 21042 if ( ( result == Result::eSuccess ) && propertyCount ) | |
| 21043 { | |
| 21044 properties.resize( propertyCount ); | |
| 21045 result = | |
| 21046 static_cast<Result>( getDispatcher()->vkGetDisplayModeProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 21047 static_cast<VkDisplayKHR>( m_displayKHR ), | |
| 21048 &propertyCount, | |
| 21049 reinterpret_cast<VkDisplayModeProperties2KHR *>( properties.data() ) ) ); | |
| 21050 } | |
| 21051 } while ( result == Result::eIncomplete ); | |
| 21052 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::DisplayKHR::getModeProperties2" ); | |
| 21053 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); | |
| 21054 if ( propertyCount < properties.size() ) | |
| 21055 { | |
| 21056 properties.resize( propertyCount ); | |
| 21057 } | |
| 21058 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); | |
| 21059 } | |
| 21060 | |
| 21061 // wrapper function for command vkGetDisplayModeProperties2KHR, see | |
| 21062 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModeProperties2KHR.html | |
| 21063 template <typename StructureChain> | |
| 21064 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<StructureChain>>::type DisplayKHR::getModeProperties2() const | |
| 21065 { | |
| 21066 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDisplayModeProperties2KHR && | |
| 21067 "Function <vkGetDisplayModeProperties2KHR> requires <VK_KHR_get_display_properties2>" ); | |
| 21068 | |
| 21069 std::vector<StructureChain> structureChains; | |
| 21070 std::vector<DisplayModeProperties2KHR> properties; | |
| 21071 uint32_t propertyCount; | |
| 21072 Result result; | |
| 21073 do | |
| 21074 { | |
| 21075 result = static_cast<Result>( getDispatcher()->vkGetDisplayModeProperties2KHR( | |
| 21076 static_cast<VkPhysicalDevice>( m_physicalDevice ), static_cast<VkDisplayKHR>( m_displayKHR ), &propertyCount, nullptr ) ); | |
| 21077 if ( ( result == Result::eSuccess ) && propertyCount ) | |
| 21078 { | |
| 21079 structureChains.resize( propertyCount ); | |
| 21080 properties.resize( propertyCount ); | |
| 21081 for ( uint32_t i = 0; i < propertyCount; i++ ) | |
| 21082 { | |
| 21083 properties[i].pNext = structureChains[i].template get<DisplayModeProperties2KHR>().pNext; | |
| 21084 } | |
| 21085 result = | |
| 21086 static_cast<Result>( getDispatcher()->vkGetDisplayModeProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 21087 static_cast<VkDisplayKHR>( m_displayKHR ), | |
| 21088 &propertyCount, | |
| 21089 reinterpret_cast<VkDisplayModeProperties2KHR *>( properties.data() ) ) ); | |
| 21090 } | |
| 21091 } while ( result == Result::eIncomplete ); | |
| 21092 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::DisplayKHR::getModeProperties2" ); | |
| 21093 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); | |
| 21094 if ( propertyCount < properties.size() ) | |
| 21095 { | |
| 21096 structureChains.resize( propertyCount ); | |
| 21097 } | |
| 21098 for ( uint32_t i = 0; i < propertyCount; i++ ) | |
| 21099 { | |
| 21100 structureChains[i].template get<DisplayModeProperties2KHR>() = properties[i]; | |
| 21101 } | |
| 21102 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChains ) ); | |
| 21103 } | |
| 21104 | |
| 21105 // wrapper function for command vkGetDisplayPlaneCapabilities2KHR, see | |
| 21106 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayPlaneCapabilities2KHR.html | |
| 21107 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DisplayPlaneCapabilities2KHR>::type | |
| 21108 PhysicalDevice::getDisplayPlaneCapabilities2KHR( const DisplayPlaneInfo2KHR & displayPlaneInfo ) const | |
| 21109 { | |
| 21110 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDisplayPlaneCapabilities2KHR && | |
| 21111 "Function <vkGetDisplayPlaneCapabilities2KHR> requires <VK_KHR_get_display_properties2>" ); | |
| 21112 | |
| 21113 DisplayPlaneCapabilities2KHR capabilities; | |
| 21114 Result result = | |
| 21115 static_cast<Result>( getDispatcher()->vkGetDisplayPlaneCapabilities2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 21116 reinterpret_cast<const VkDisplayPlaneInfo2KHR *>( &displayPlaneInfo ), | |
| 21117 reinterpret_cast<VkDisplayPlaneCapabilities2KHR *>( &capabilities ) ) ); | |
| 21118 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneCapabilities2KHR" ); | |
| 21119 | |
| 21120 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( capabilities ) ); | |
| 21121 } | |
| 21122 | |
| 21123 # if defined( VK_USE_PLATFORM_IOS_MVK ) | |
| 21124 //=== VK_MVK_ios_surface === | |
| 21125 | |
| 21126 // wrapper function for command vkCreateIOSSurfaceMVK, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIOSSurfaceMVK.html | |
| 21127 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<SurfaceKHR>::type | |
| 21128 Instance::createIOSSurfaceMVK( IOSSurfaceCreateInfoMVK const & createInfo, | |
| 21129 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 21130 { | |
| 21131 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; | |
| 21132 Result result = static_cast<Result>( getDispatcher()->vkCreateIOSSurfaceMVK( static_cast<VkInstance>( m_instance ), | |
| 21133 reinterpret_cast<const VkIOSSurfaceCreateInfoMVK *>( &createInfo ), | |
| 21134 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 21135 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); | |
| 21136 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createIOSSurfaceMVK" ); | |
| 21137 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast<VkSurfaceKHR *>( &surface ), allocator ) ); | |
| 21138 } | |
| 21139 # endif /*VK_USE_PLATFORM_IOS_MVK*/ | |
| 21140 | |
| 21141 # if defined( VK_USE_PLATFORM_MACOS_MVK ) | |
| 21142 //=== VK_MVK_macos_surface === | |
| 21143 | |
| 21144 // wrapper function for command vkCreateMacOSSurfaceMVK, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMacOSSurfaceMVK.html | |
| 21145 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<SurfaceKHR>::type | |
| 21146 Instance::createMacOSSurfaceMVK( MacOSSurfaceCreateInfoMVK const & createInfo, | |
| 21147 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 21148 { | |
| 21149 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; | |
| 21150 Result result = static_cast<Result>( getDispatcher()->vkCreateMacOSSurfaceMVK( static_cast<VkInstance>( m_instance ), | |
| 21151 reinterpret_cast<const VkMacOSSurfaceCreateInfoMVK *>( &createInfo ), | |
| 21152 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 21153 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); | |
| 21154 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createMacOSSurfaceMVK" ); | |
| 21155 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast<VkSurfaceKHR *>( &surface ), allocator ) ); | |
| 21156 } | |
| 21157 # endif /*VK_USE_PLATFORM_MACOS_MVK*/ | |
| 21158 | |
| 21159 //=== VK_EXT_debug_utils === | |
| 21160 | |
| 21161 // wrapper function for command vkSetDebugUtilsObjectNameEXT, see | |
| 21162 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDebugUtilsObjectNameEXT.html | |
| 21163 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::setDebugUtilsObjectNameEXT( const DebugUtilsObjectNameInfoEXT & nameInfo ) const | |
| 21164 { | |
| 21165 VULKAN_HPP_ASSERT( getDispatcher()->vkSetDebugUtilsObjectNameEXT && "Function <vkSetDebugUtilsObjectNameEXT> requires <VK_EXT_debug_utils>" ); | |
| 21166 | |
| 21167 Result result = static_cast<Result>( getDispatcher()->vkSetDebugUtilsObjectNameEXT( | |
| 21168 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkDebugUtilsObjectNameInfoEXT *>( &nameInfo ) ) ); | |
| 21169 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::setDebugUtilsObjectNameEXT" ); | |
| 21170 | |
| 21171 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 21172 } | |
| 21173 | |
| 21174 // wrapper function for command vkSetDebugUtilsObjectNameEXT, see | |
| 21175 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDebugUtilsObjectNameEXT.html | |
| 21176 template <typename HandleType> | |
| 21177 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::setDebugUtilsObjectNameEXT( HandleType const & handle, std::string const & name ) const | |
| 21178 { | |
| 21179 VULKAN_HPP_STATIC_ASSERT( VULKAN_HPP_NAMESPACE::isVulkanHandleType<HandleType>::value, "HandleType must be a Vulkan handle type" ); | |
| 21180 // It might be, that neither constructors, nor setters, nor designated initializers are available... need to explicitly set member by member | |
| 21181 VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT nameInfo; | |
| 21182 nameInfo.objectType = handle.objectType; | |
| 21183 nameInfo.objectHandle = reinterpret_cast<uint64_t>( static_cast<typename HandleType::CType>( handle ) ); | |
| 21184 nameInfo.pObjectName = name.c_str(); | |
| 21185 return setDebugUtilsObjectNameEXT( nameInfo ); | |
| 21186 } | |
| 21187 | |
| 21188 // wrapper function for command vkSetDebugUtilsObjectTagEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDebugUtilsObjectTagEXT.html | |
| 21189 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::setDebugUtilsObjectTagEXT( const DebugUtilsObjectTagInfoEXT & tagInfo ) const | |
| 21190 { | |
| 21191 VULKAN_HPP_ASSERT( getDispatcher()->vkSetDebugUtilsObjectTagEXT && "Function <vkSetDebugUtilsObjectTagEXT> requires <VK_EXT_debug_utils>" ); | |
| 21192 | |
| 21193 Result result = static_cast<Result>( | |
| 21194 getDispatcher()->vkSetDebugUtilsObjectTagEXT( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkDebugUtilsObjectTagInfoEXT *>( &tagInfo ) ) ); | |
| 21195 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::setDebugUtilsObjectTagEXT" ); | |
| 21196 | |
| 21197 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 21198 } | |
| 21199 | |
| 21200 // wrapper function for command vkSetDebugUtilsObjectTagEXT, see | |
| 21201 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDebugUtilsObjectTagEXT.html | |
| 21202 template <typename HandleType, typename TagType> | |
| 21203 VULKAN_HPP_INLINE typename ResultValueType<void>::type | |
| 21204 Device::setDebugUtilsObjectTagEXT( HandleType const & handle, uint64_t name, TagType const & tag ) const | |
| 21205 { | |
| 21206 VULKAN_HPP_STATIC_ASSERT( VULKAN_HPP_NAMESPACE::isVulkanHandleType<HandleType>::value, "HandleType must be a Vulkan handle type" ); | |
| 21207 // It might be, that neither constructors, nor setters, nor designated initializers are available... need to explicitly set member by member | |
| 21208 VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT tagInfo; | |
| 21209 tagInfo.objectType = handle.objectType; | |
| 21210 tagInfo.objectHandle = reinterpret_cast<uint64_t>( static_cast<typename HandleType::CType>( handle ) ); | |
| 21211 tagInfo.tagName = name; | |
| 21212 tagInfo.tagSize = sizeof( TagType ); | |
| 21213 tagInfo.pTag = &tag; | |
| 21214 return setDebugUtilsObjectTagEXT( tagInfo ); | |
| 21215 } | |
| 21216 | |
| 21217 // wrapper function for command vkQueueBeginDebugUtilsLabelEXT, see | |
| 21218 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueBeginDebugUtilsLabelEXT.html | |
| 21219 VULKAN_HPP_INLINE void Queue::beginDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo ) const VULKAN_HPP_NOEXCEPT | |
| 21220 { | |
| 21221 VULKAN_HPP_ASSERT( getDispatcher()->vkQueueBeginDebugUtilsLabelEXT && "Function <vkQueueBeginDebugUtilsLabelEXT> requires <VK_EXT_debug_utils>" ); | |
| 21222 | |
| 21223 getDispatcher()->vkQueueBeginDebugUtilsLabelEXT( static_cast<VkQueue>( m_queue ), reinterpret_cast<const VkDebugUtilsLabelEXT *>( &labelInfo ) ); | |
| 21224 } | |
| 21225 | |
| 21226 // wrapper function for command vkQueueEndDebugUtilsLabelEXT, see | |
| 21227 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueEndDebugUtilsLabelEXT.html | |
| 21228 VULKAN_HPP_INLINE void Queue::endDebugUtilsLabelEXT() const VULKAN_HPP_NOEXCEPT | |
| 21229 { | |
| 21230 VULKAN_HPP_ASSERT( getDispatcher()->vkQueueEndDebugUtilsLabelEXT && "Function <vkQueueEndDebugUtilsLabelEXT> requires <VK_EXT_debug_utils>" ); | |
| 21231 | |
| 21232 getDispatcher()->vkQueueEndDebugUtilsLabelEXT( static_cast<VkQueue>( m_queue ) ); | |
| 21233 } | |
| 21234 | |
| 21235 // wrapper function for command vkQueueInsertDebugUtilsLabelEXT, see | |
| 21236 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueInsertDebugUtilsLabelEXT.html | |
| 21237 VULKAN_HPP_INLINE void Queue::insertDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo ) const VULKAN_HPP_NOEXCEPT | |
| 21238 { | |
| 21239 VULKAN_HPP_ASSERT( getDispatcher()->vkQueueInsertDebugUtilsLabelEXT && "Function <vkQueueInsertDebugUtilsLabelEXT> requires <VK_EXT_debug_utils>" ); | |
| 21240 | |
| 21241 getDispatcher()->vkQueueInsertDebugUtilsLabelEXT( static_cast<VkQueue>( m_queue ), reinterpret_cast<const VkDebugUtilsLabelEXT *>( &labelInfo ) ); | |
| 21242 } | |
| 21243 | |
| 21244 // wrapper function for command vkCmdBeginDebugUtilsLabelEXT, see | |
| 21245 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginDebugUtilsLabelEXT.html | |
| 21246 VULKAN_HPP_INLINE void CommandBuffer::beginDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo ) const VULKAN_HPP_NOEXCEPT | |
| 21247 { | |
| 21248 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBeginDebugUtilsLabelEXT && "Function <vkCmdBeginDebugUtilsLabelEXT> requires <VK_EXT_debug_utils>" ); | |
| 21249 | |
| 21250 getDispatcher()->vkCmdBeginDebugUtilsLabelEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 21251 reinterpret_cast<const VkDebugUtilsLabelEXT *>( &labelInfo ) ); | |
| 21252 } | |
| 21253 | |
| 21254 // wrapper function for command vkCmdEndDebugUtilsLabelEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndDebugUtilsLabelEXT.html | |
| 21255 VULKAN_HPP_INLINE void CommandBuffer::endDebugUtilsLabelEXT() const VULKAN_HPP_NOEXCEPT | |
| 21256 { | |
| 21257 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdEndDebugUtilsLabelEXT && "Function <vkCmdEndDebugUtilsLabelEXT> requires <VK_EXT_debug_utils>" ); | |
| 21258 | |
| 21259 getDispatcher()->vkCmdEndDebugUtilsLabelEXT( static_cast<VkCommandBuffer>( m_commandBuffer ) ); | |
| 21260 } | |
| 21261 | |
| 21262 // wrapper function for command vkCmdInsertDebugUtilsLabelEXT, see | |
| 21263 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdInsertDebugUtilsLabelEXT.html | |
| 21264 VULKAN_HPP_INLINE void CommandBuffer::insertDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo ) const VULKAN_HPP_NOEXCEPT | |
| 21265 { | |
| 21266 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdInsertDebugUtilsLabelEXT && "Function <vkCmdInsertDebugUtilsLabelEXT> requires <VK_EXT_debug_utils>" ); | |
| 21267 | |
| 21268 getDispatcher()->vkCmdInsertDebugUtilsLabelEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 21269 reinterpret_cast<const VkDebugUtilsLabelEXT *>( &labelInfo ) ); | |
| 21270 } | |
| 21271 | |
| 21272 // wrapper function for command vkCreateDebugUtilsMessengerEXT, see | |
| 21273 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDebugUtilsMessengerEXT.html | |
| 21274 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DebugUtilsMessengerEXT>::type | |
| 21275 Instance::createDebugUtilsMessengerEXT( DebugUtilsMessengerCreateInfoEXT const & createInfo, | |
| 21276 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 21277 { | |
| 21278 VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger; | |
| 21279 Result result = | |
| 21280 static_cast<Result>( getDispatcher()->vkCreateDebugUtilsMessengerEXT( static_cast<VkInstance>( m_instance ), | |
| 21281 reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT *>( &createInfo ), | |
| 21282 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 21283 reinterpret_cast<VkDebugUtilsMessengerEXT *>( &messenger ) ) ); | |
| 21284 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createDebugUtilsMessengerEXT" ); | |
| 21285 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( | |
| 21286 result, DebugUtilsMessengerEXT( *this, *reinterpret_cast<VkDebugUtilsMessengerEXT *>( &messenger ), allocator ) ); | |
| 21287 } | |
| 21288 | |
| 21289 // wrapper function for command vkSubmitDebugUtilsMessageEXT, see | |
| 21290 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSubmitDebugUtilsMessageEXT.html | |
| 21291 VULKAN_HPP_INLINE void Instance::submitDebugUtilsMessageEXT( DebugUtilsMessageSeverityFlagBitsEXT messageSeverity, | |
| 21292 DebugUtilsMessageTypeFlagsEXT messageTypes, | |
| 21293 const DebugUtilsMessengerCallbackDataEXT & callbackData ) const VULKAN_HPP_NOEXCEPT | |
| 21294 { | |
| 21295 VULKAN_HPP_ASSERT( getDispatcher()->vkSubmitDebugUtilsMessageEXT && "Function <vkSubmitDebugUtilsMessageEXT> requires <VK_EXT_debug_utils>" ); | |
| 21296 | |
| 21297 getDispatcher()->vkSubmitDebugUtilsMessageEXT( static_cast<VkInstance>( m_instance ), | |
| 21298 static_cast<VkDebugUtilsMessageSeverityFlagBitsEXT>( messageSeverity ), | |
| 21299 static_cast<VkDebugUtilsMessageTypeFlagsEXT>( messageTypes ), | |
| 21300 reinterpret_cast<const VkDebugUtilsMessengerCallbackDataEXT *>( &callbackData ) ); | |
| 21301 } | |
| 21302 | |
| 21303 # if defined( VK_USE_PLATFORM_ANDROID_KHR ) | |
| 21304 //=== VK_ANDROID_external_memory_android_hardware_buffer === | |
| 21305 // wrapper function for command vkGetAndroidHardwareBufferPropertiesANDROID, see | |
| 21306 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAndroidHardwareBufferPropertiesANDROID.html | |
| 21307 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getAndroidHardwareBufferPropertiesANDROID( | |
| 21308 const struct AHardwareBuffer * buffer, AndroidHardwareBufferPropertiesANDROID * pProperties ) const VULKAN_HPP_NOEXCEPT | |
| 21309 { | |
| 21310 VULKAN_HPP_ASSERT( getDispatcher()->vkGetAndroidHardwareBufferPropertiesANDROID && | |
| 21311 "Function <vkGetAndroidHardwareBufferPropertiesANDROID> requires <VK_ANDROID_external_memory_android_hardware_buffer>" ); | |
| 21312 return static_cast<Result>( getDispatcher()->vkGetAndroidHardwareBufferPropertiesANDROID( | |
| 21313 static_cast<VkDevice>( m_device ), buffer, reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID *>( pProperties ) ) ); | |
| 21314 } | |
| 21315 | |
| 21316 // wrapper function for command vkGetAndroidHardwareBufferPropertiesANDROID, see | |
| 21317 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAndroidHardwareBufferPropertiesANDROID.html | |
| 21318 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<AndroidHardwareBufferPropertiesANDROID>::type | |
| 21319 Device::getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer ) const | |
| 21320 { | |
| 21321 VULKAN_HPP_ASSERT( getDispatcher()->vkGetAndroidHardwareBufferPropertiesANDROID && | |
| 21322 "Function <vkGetAndroidHardwareBufferPropertiesANDROID> requires <VK_ANDROID_external_memory_android_hardware_buffer>" ); | |
| 21323 | |
| 21324 AndroidHardwareBufferPropertiesANDROID properties; | |
| 21325 Result result = static_cast<Result>( getDispatcher()->vkGetAndroidHardwareBufferPropertiesANDROID( | |
| 21326 static_cast<VkDevice>( m_device ), &buffer, reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID *>( &properties ) ) ); | |
| 21327 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getAndroidHardwareBufferPropertiesANDROID" ); | |
| 21328 | |
| 21329 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); | |
| 21330 } | |
| 21331 | |
| 21332 // wrapper function for command vkGetAndroidHardwareBufferPropertiesANDROID, see | |
| 21333 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAndroidHardwareBufferPropertiesANDROID.html | |
| 21334 template <typename X, typename Y, typename... Z> | |
| 21335 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<StructureChain<X, Y, Z...>>::type | |
| 21336 Device::getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer ) const | |
| 21337 { | |
| 21338 VULKAN_HPP_ASSERT( getDispatcher()->vkGetAndroidHardwareBufferPropertiesANDROID && | |
| 21339 "Function <vkGetAndroidHardwareBufferPropertiesANDROID> requires <VK_ANDROID_external_memory_android_hardware_buffer>" ); | |
| 21340 | |
| 21341 StructureChain<X, Y, Z...> structureChain; | |
| 21342 AndroidHardwareBufferPropertiesANDROID & properties = structureChain.template get<AndroidHardwareBufferPropertiesANDROID>(); | |
| 21343 Result result = static_cast<Result>( getDispatcher()->vkGetAndroidHardwareBufferPropertiesANDROID( | |
| 21344 static_cast<VkDevice>( m_device ), &buffer, reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID *>( &properties ) ) ); | |
| 21345 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getAndroidHardwareBufferPropertiesANDROID" ); | |
| 21346 | |
| 21347 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChain ) ); | |
| 21348 } | |
| 21349 | |
| 21350 // wrapper function for command vkGetMemoryAndroidHardwareBufferANDROID, see | |
| 21351 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryAndroidHardwareBufferANDROID.html | |
| 21352 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<struct AHardwareBuffer *>::type | |
| 21353 Device::getMemoryAndroidHardwareBufferANDROID( const MemoryGetAndroidHardwareBufferInfoANDROID & info ) const | |
| 21354 { | |
| 21355 VULKAN_HPP_ASSERT( getDispatcher()->vkGetMemoryAndroidHardwareBufferANDROID && | |
| 21356 "Function <vkGetMemoryAndroidHardwareBufferANDROID> requires <VK_ANDROID_external_memory_android_hardware_buffer>" ); | |
| 21357 | |
| 21358 struct AHardwareBuffer * buffer; | |
| 21359 Result result = static_cast<Result>( getDispatcher()->vkGetMemoryAndroidHardwareBufferANDROID( | |
| 21360 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkMemoryGetAndroidHardwareBufferInfoANDROID *>( &info ), &buffer ) ); | |
| 21361 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryAndroidHardwareBufferANDROID" ); | |
| 21362 | |
| 21363 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( buffer ) ); | |
| 21364 } | |
| 21365 # endif /*VK_USE_PLATFORM_ANDROID_KHR*/ | |
| 21366 | |
| 21367 # if defined( VK_ENABLE_BETA_EXTENSIONS ) | |
| 21368 //=== VK_AMDX_shader_enqueue === | |
| 21369 | |
| 21370 // wrapper function for command vkCreateExecutionGraphPipelinesAMDX, see | |
| 21371 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExecutionGraphPipelinesAMDX.html | |
| 21372 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<Pipeline>>::type | |
| 21373 Device::createExecutionGraphPipelinesAMDX( Optional<const PipelineCache> const & pipelineCache, | |
| 21374 ArrayProxy<ExecutionGraphPipelineCreateInfoAMDX> const & createInfos, | |
| 21375 Optional<const AllocationCallbacks> allocator ) const | |
| 21376 { | |
| 21377 std::vector<VULKAN_HPP_NAMESPACE::Pipeline> pipelines( createInfos.size() ); | |
| 21378 Result result = static_cast<Result>( | |
| 21379 getDispatcher()->vkCreateExecutionGraphPipelinesAMDX( static_cast<VkDevice>( m_device ), | |
| 21380 pipelineCache ? static_cast<VkPipelineCache>( **pipelineCache ) : 0, | |
| 21381 createInfos.size(), | |
| 21382 reinterpret_cast<const VkExecutionGraphPipelineCreateInfoAMDX *>( createInfos.data() ), | |
| 21383 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 21384 reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); | |
| 21385 VULKAN_HPP_NAMESPACE::detail::resultCheck( | |
| 21386 result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createExecutionGraphPipelinesAMDX", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); | |
| 21387 std::vector<Pipeline> pipelinesRAII; | |
| 21388 if ( result == Result::eSuccess ) | |
| 21389 { | |
| 21390 pipelinesRAII.reserve( pipelines.size() ); | |
| 21391 for ( auto & pipeline : pipelines ) | |
| 21392 { | |
| 21393 pipelinesRAII.emplace_back( *this, *reinterpret_cast<VkPipeline *>( &pipeline ), allocator, result ); | |
| 21394 } | |
| 21395 } | |
| 21396 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pipelinesRAII ) ); | |
| 21397 } | |
| 21398 | |
| 21399 // wrapper function for command vkCreateExecutionGraphPipelinesAMDX, see | |
| 21400 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExecutionGraphPipelinesAMDX.html | |
| 21401 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<Pipeline>::type | |
| 21402 Device::createExecutionGraphPipelineAMDX( Optional<const PipelineCache> const & pipelineCache, | |
| 21403 ExecutionGraphPipelineCreateInfoAMDX const & createInfo, | |
| 21404 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 21405 { | |
| 21406 VULKAN_HPP_NAMESPACE::Pipeline pipeline; | |
| 21407 Result result = static_cast<Result>( | |
| 21408 getDispatcher()->vkCreateExecutionGraphPipelinesAMDX( static_cast<VkDevice>( m_device ), | |
| 21409 pipelineCache ? static_cast<VkPipelineCache>( **pipelineCache ) : 0, | |
| 21410 1, | |
| 21411 reinterpret_cast<const VkExecutionGraphPipelineCreateInfoAMDX *>( &createInfo ), | |
| 21412 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 21413 reinterpret_cast<VkPipeline *>( &pipeline ) ) ); | |
| 21414 VULKAN_HPP_NAMESPACE::detail::resultCheck( | |
| 21415 result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createExecutionGraphPipelineAMDX", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); | |
| 21416 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Pipeline( *this, *reinterpret_cast<VkPipeline *>( &pipeline ), allocator, result ) ); | |
| 21417 } | |
| 21418 | |
| 21419 // wrapper function for command vkGetExecutionGraphPipelineScratchSizeAMDX, see | |
| 21420 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetExecutionGraphPipelineScratchSizeAMDX.html | |
| 21421 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<ExecutionGraphPipelineScratchSizeAMDX>::type | |
| 21422 Pipeline::getExecutionGraphScratchSizeAMDX() const | |
| 21423 { | |
| 21424 VULKAN_HPP_ASSERT( getDispatcher()->vkGetExecutionGraphPipelineScratchSizeAMDX && | |
| 21425 "Function <vkGetExecutionGraphPipelineScratchSizeAMDX> requires <VK_AMDX_shader_enqueue>" ); | |
| 21426 | |
| 21427 ExecutionGraphPipelineScratchSizeAMDX sizeInfo; | |
| 21428 Result result = static_cast<Result>( getDispatcher()->vkGetExecutionGraphPipelineScratchSizeAMDX( | |
| 21429 static_cast<VkDevice>( m_device ), static_cast<VkPipeline>( m_pipeline ), reinterpret_cast<VkExecutionGraphPipelineScratchSizeAMDX *>( &sizeInfo ) ) ); | |
| 21430 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::getExecutionGraphScratchSizeAMDX" ); | |
| 21431 | |
| 21432 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( sizeInfo ) ); | |
| 21433 } | |
| 21434 | |
| 21435 // wrapper function for command vkGetExecutionGraphPipelineNodeIndexAMDX, see | |
| 21436 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetExecutionGraphPipelineNodeIndexAMDX.html | |
| 21437 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<uint32_t>::type | |
| 21438 Pipeline::getExecutionGraphNodeIndexAMDX( const PipelineShaderStageNodeCreateInfoAMDX & nodeInfo ) const | |
| 21439 { | |
| 21440 VULKAN_HPP_ASSERT( getDispatcher()->vkGetExecutionGraphPipelineNodeIndexAMDX && | |
| 21441 "Function <vkGetExecutionGraphPipelineNodeIndexAMDX> requires <VK_AMDX_shader_enqueue>" ); | |
| 21442 | |
| 21443 uint32_t nodeIndex; | |
| 21444 Result result = static_cast<Result>( | |
| 21445 getDispatcher()->vkGetExecutionGraphPipelineNodeIndexAMDX( static_cast<VkDevice>( m_device ), | |
| 21446 static_cast<VkPipeline>( m_pipeline ), | |
| 21447 reinterpret_cast<const VkPipelineShaderStageNodeCreateInfoAMDX *>( &nodeInfo ), | |
| 21448 &nodeIndex ) ); | |
| 21449 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::getExecutionGraphNodeIndexAMDX" ); | |
| 21450 | |
| 21451 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( nodeIndex ) ); | |
| 21452 } | |
| 21453 | |
| 21454 // wrapper function for command vkCmdInitializeGraphScratchMemoryAMDX, see | |
| 21455 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdInitializeGraphScratchMemoryAMDX.html | |
| 21456 VULKAN_HPP_INLINE void CommandBuffer::initializeGraphScratchMemoryAMDX( VULKAN_HPP_NAMESPACE::Pipeline executionGraph, | |
| 21457 DeviceAddress scratch, | |
| 21458 DeviceSize scratchSize ) const VULKAN_HPP_NOEXCEPT | |
| 21459 { | |
| 21460 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdInitializeGraphScratchMemoryAMDX && | |
| 21461 "Function <vkCmdInitializeGraphScratchMemoryAMDX> requires <VK_AMDX_shader_enqueue>" ); | |
| 21462 | |
| 21463 getDispatcher()->vkCmdInitializeGraphScratchMemoryAMDX( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 21464 static_cast<VkPipeline>( executionGraph ), | |
| 21465 static_cast<VkDeviceAddress>( scratch ), | |
| 21466 static_cast<VkDeviceSize>( scratchSize ) ); | |
| 21467 } | |
| 21468 | |
| 21469 // wrapper function for command vkCmdDispatchGraphAMDX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchGraphAMDX.html | |
| 21470 VULKAN_HPP_INLINE void | |
| 21471 CommandBuffer::dispatchGraphAMDX( DeviceAddress scratch, DeviceSize scratchSize, const DispatchGraphCountInfoAMDX & countInfo ) const VULKAN_HPP_NOEXCEPT | |
| 21472 { | |
| 21473 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDispatchGraphAMDX && "Function <vkCmdDispatchGraphAMDX> requires <VK_AMDX_shader_enqueue>" ); | |
| 21474 | |
| 21475 getDispatcher()->vkCmdDispatchGraphAMDX( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 21476 static_cast<VkDeviceAddress>( scratch ), | |
| 21477 static_cast<VkDeviceSize>( scratchSize ), | |
| 21478 reinterpret_cast<const VkDispatchGraphCountInfoAMDX *>( &countInfo ) ); | |
| 21479 } | |
| 21480 | |
| 21481 // wrapper function for command vkCmdDispatchGraphIndirectAMDX, see | |
| 21482 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchGraphIndirectAMDX.html | |
| 21483 VULKAN_HPP_INLINE void CommandBuffer::dispatchGraphIndirectAMDX( DeviceAddress scratch, | |
| 21484 DeviceSize scratchSize, | |
| 21485 const DispatchGraphCountInfoAMDX & countInfo ) const VULKAN_HPP_NOEXCEPT | |
| 21486 { | |
| 21487 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDispatchGraphIndirectAMDX && "Function <vkCmdDispatchGraphIndirectAMDX> requires <VK_AMDX_shader_enqueue>" ); | |
| 21488 | |
| 21489 getDispatcher()->vkCmdDispatchGraphIndirectAMDX( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 21490 static_cast<VkDeviceAddress>( scratch ), | |
| 21491 static_cast<VkDeviceSize>( scratchSize ), | |
| 21492 reinterpret_cast<const VkDispatchGraphCountInfoAMDX *>( &countInfo ) ); | |
| 21493 } | |
| 21494 | |
| 21495 // wrapper function for command vkCmdDispatchGraphIndirectCountAMDX, see | |
| 21496 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchGraphIndirectCountAMDX.html | |
| 21497 VULKAN_HPP_INLINE void | |
| 21498 CommandBuffer::dispatchGraphIndirectCountAMDX( DeviceAddress scratch, DeviceSize scratchSize, DeviceAddress countInfo ) const VULKAN_HPP_NOEXCEPT | |
| 21499 { | |
| 21500 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDispatchGraphIndirectCountAMDX && | |
| 21501 "Function <vkCmdDispatchGraphIndirectCountAMDX> requires <VK_AMDX_shader_enqueue>" ); | |
| 21502 | |
| 21503 getDispatcher()->vkCmdDispatchGraphIndirectCountAMDX( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 21504 static_cast<VkDeviceAddress>( scratch ), | |
| 21505 static_cast<VkDeviceSize>( scratchSize ), | |
| 21506 static_cast<VkDeviceAddress>( countInfo ) ); | |
| 21507 } | |
| 21508 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ | |
| 21509 | |
| 21510 //=== VK_EXT_sample_locations === | |
| 21511 | |
| 21512 // wrapper function for command vkCmdSetSampleLocationsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetSampleLocationsEXT.html | |
| 21513 VULKAN_HPP_INLINE void CommandBuffer::setSampleLocationsEXT( const SampleLocationsInfoEXT & sampleLocationsInfo ) const VULKAN_HPP_NOEXCEPT | |
| 21514 { | |
| 21515 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetSampleLocationsEXT && "Function <vkCmdSetSampleLocationsEXT> requires <VK_EXT_sample_locations>" ); | |
| 21516 | |
| 21517 getDispatcher()->vkCmdSetSampleLocationsEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 21518 reinterpret_cast<const VkSampleLocationsInfoEXT *>( &sampleLocationsInfo ) ); | |
| 21519 } | |
| 21520 | |
| 21521 // wrapper function for command vkGetPhysicalDeviceMultisamplePropertiesEXT, see | |
| 21522 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMultisamplePropertiesEXT.html | |
| 21523 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MultisamplePropertiesEXT | |
| 21524 PhysicalDevice::getMultisamplePropertiesEXT( SampleCountFlagBits samples ) const VULKAN_HPP_NOEXCEPT | |
| 21525 { | |
| 21526 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceMultisamplePropertiesEXT && | |
| 21527 "Function <vkGetPhysicalDeviceMultisamplePropertiesEXT> requires <VK_EXT_sample_locations>" ); | |
| 21528 | |
| 21529 MultisamplePropertiesEXT multisampleProperties; | |
| 21530 getDispatcher()->vkGetPhysicalDeviceMultisamplePropertiesEXT( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 21531 static_cast<VkSampleCountFlagBits>( samples ), | |
| 21532 reinterpret_cast<VkMultisamplePropertiesEXT *>( &multisampleProperties ) ); | |
| 21533 | |
| 21534 return multisampleProperties; | |
| 21535 } | |
| 21536 | |
| 21537 //=== VK_KHR_get_memory_requirements2 === | |
| 21538 | |
| 21539 // wrapper function for command vkGetImageMemoryRequirements2KHR, see | |
| 21540 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements2KHR.html | |
| 21541 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 | |
| 21542 Device::getImageMemoryRequirements2KHR( const ImageMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT | |
| 21543 { | |
| 21544 VULKAN_HPP_ASSERT( getDispatcher()->vkGetImageMemoryRequirements2KHR && | |
| 21545 "Function <vkGetImageMemoryRequirements2KHR> requires <VK_KHR_get_memory_requirements2> or <VK_VERSION_1_1>" ); | |
| 21546 | |
| 21547 MemoryRequirements2 memoryRequirements; | |
| 21548 getDispatcher()->vkGetImageMemoryRequirements2KHR( static_cast<VkDevice>( m_device ), | |
| 21549 reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>( &info ), | |
| 21550 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); | |
| 21551 | |
| 21552 return memoryRequirements; | |
| 21553 } | |
| 21554 | |
| 21555 // wrapper function for command vkGetImageMemoryRequirements2KHR, see | |
| 21556 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements2KHR.html | |
| 21557 template <typename X, typename Y, typename... Z> | |
| 21558 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> | |
| 21559 Device::getImageMemoryRequirements2KHR( const ImageMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT | |
| 21560 { | |
| 21561 VULKAN_HPP_ASSERT( getDispatcher()->vkGetImageMemoryRequirements2KHR && | |
| 21562 "Function <vkGetImageMemoryRequirements2KHR> requires <VK_KHR_get_memory_requirements2> or <VK_VERSION_1_1>" ); | |
| 21563 | |
| 21564 StructureChain<X, Y, Z...> structureChain; | |
| 21565 MemoryRequirements2 & memoryRequirements = structureChain.template get<MemoryRequirements2>(); | |
| 21566 getDispatcher()->vkGetImageMemoryRequirements2KHR( static_cast<VkDevice>( m_device ), | |
| 21567 reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>( &info ), | |
| 21568 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); | |
| 21569 | |
| 21570 return structureChain; | |
| 21571 } | |
| 21572 | |
| 21573 // wrapper function for command vkGetBufferMemoryRequirements2KHR, see | |
| 21574 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements2KHR.html | |
| 21575 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 | |
| 21576 Device::getBufferMemoryRequirements2KHR( const BufferMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT | |
| 21577 { | |
| 21578 VULKAN_HPP_ASSERT( getDispatcher()->vkGetBufferMemoryRequirements2KHR && | |
| 21579 "Function <vkGetBufferMemoryRequirements2KHR> requires <VK_KHR_get_memory_requirements2> or <VK_VERSION_1_1>" ); | |
| 21580 | |
| 21581 MemoryRequirements2 memoryRequirements; | |
| 21582 getDispatcher()->vkGetBufferMemoryRequirements2KHR( static_cast<VkDevice>( m_device ), | |
| 21583 reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>( &info ), | |
| 21584 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); | |
| 21585 | |
| 21586 return memoryRequirements; | |
| 21587 } | |
| 21588 | |
| 21589 // wrapper function for command vkGetBufferMemoryRequirements2KHR, see | |
| 21590 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements2KHR.html | |
| 21591 template <typename X, typename Y, typename... Z> | |
| 21592 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> | |
| 21593 Device::getBufferMemoryRequirements2KHR( const BufferMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT | |
| 21594 { | |
| 21595 VULKAN_HPP_ASSERT( getDispatcher()->vkGetBufferMemoryRequirements2KHR && | |
| 21596 "Function <vkGetBufferMemoryRequirements2KHR> requires <VK_KHR_get_memory_requirements2> or <VK_VERSION_1_1>" ); | |
| 21597 | |
| 21598 StructureChain<X, Y, Z...> structureChain; | |
| 21599 MemoryRequirements2 & memoryRequirements = structureChain.template get<MemoryRequirements2>(); | |
| 21600 getDispatcher()->vkGetBufferMemoryRequirements2KHR( static_cast<VkDevice>( m_device ), | |
| 21601 reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>( &info ), | |
| 21602 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); | |
| 21603 | |
| 21604 return structureChain; | |
| 21605 } | |
| 21606 | |
| 21607 // wrapper function for command vkGetImageSparseMemoryRequirements2KHR, see | |
| 21608 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements2KHR.html | |
| 21609 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<SparseImageMemoryRequirements2> | |
| 21610 Device::getImageSparseMemoryRequirements2KHR( const ImageSparseMemoryRequirementsInfo2 & info ) const | |
| 21611 { | |
| 21612 VULKAN_HPP_ASSERT( getDispatcher()->vkGetImageSparseMemoryRequirements2KHR && | |
| 21613 "Function <vkGetImageSparseMemoryRequirements2KHR> requires <VK_KHR_get_memory_requirements2> or <VK_VERSION_1_1>" ); | |
| 21614 | |
| 21615 std::vector<SparseImageMemoryRequirements2> sparseMemoryRequirements; | |
| 21616 uint32_t sparseMemoryRequirementCount; | |
| 21617 getDispatcher()->vkGetImageSparseMemoryRequirements2KHR( | |
| 21618 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ), &sparseMemoryRequirementCount, nullptr ); | |
| 21619 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); | |
| 21620 getDispatcher()->vkGetImageSparseMemoryRequirements2KHR( static_cast<VkDevice>( m_device ), | |
| 21621 reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ), | |
| 21622 &sparseMemoryRequirementCount, | |
| 21623 reinterpret_cast<VkSparseImageMemoryRequirements2 *>( sparseMemoryRequirements.data() ) ); | |
| 21624 | |
| 21625 VULKAN_HPP_ASSERT( sparseMemoryRequirementCount <= sparseMemoryRequirements.size() ); | |
| 21626 if ( sparseMemoryRequirementCount < sparseMemoryRequirements.size() ) | |
| 21627 { | |
| 21628 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); | |
| 21629 } | |
| 21630 return sparseMemoryRequirements; | |
| 21631 } | |
| 21632 | |
| 21633 //=== VK_KHR_acceleration_structure === | |
| 21634 | |
| 21635 // wrapper function for command vkCreateAccelerationStructureKHR, see | |
| 21636 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAccelerationStructureKHR.html | |
| 21637 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<AccelerationStructureKHR>::type | |
| 21638 Device::createAccelerationStructureKHR( AccelerationStructureCreateInfoKHR const & createInfo, | |
| 21639 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 21640 { | |
| 21641 VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure; | |
| 21642 Result result = | |
| 21643 static_cast<Result>( getDispatcher()->vkCreateAccelerationStructureKHR( static_cast<VkDevice>( m_device ), | |
| 21644 reinterpret_cast<const VkAccelerationStructureCreateInfoKHR *>( &createInfo ), | |
| 21645 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 21646 reinterpret_cast<VkAccelerationStructureKHR *>( &accelerationStructure ) ) ); | |
| 21647 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createAccelerationStructureKHR" ); | |
| 21648 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( | |
| 21649 result, AccelerationStructureKHR( *this, *reinterpret_cast<VkAccelerationStructureKHR *>( &accelerationStructure ), allocator ) ); | |
| 21650 } | |
| 21651 | |
| 21652 // wrapper function for command vkCmdBuildAccelerationStructuresKHR, see | |
| 21653 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildAccelerationStructuresKHR.html | |
| 21654 VULKAN_HPP_INLINE void | |
| 21655 CommandBuffer::buildAccelerationStructuresKHR( ArrayProxy<const AccelerationStructureBuildGeometryInfoKHR> const & infos, | |
| 21656 ArrayProxy<const AccelerationStructureBuildRangeInfoKHR * const> const & pBuildRangeInfos ) const | |
| 21657 { | |
| 21658 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBuildAccelerationStructuresKHR && | |
| 21659 "Function <vkCmdBuildAccelerationStructuresKHR> requires <VK_KHR_acceleration_structure>" ); | |
| 21660 # ifdef VULKAN_HPP_NO_EXCEPTIONS | |
| 21661 VULKAN_HPP_ASSERT( infos.size() == pBuildRangeInfos.size() ); | |
| 21662 # else | |
| 21663 if ( infos.size() != pBuildRangeInfos.size() ) | |
| 21664 { | |
| 21665 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::buildAccelerationStructuresKHR: infos.size() != pBuildRangeInfos.size()" ); | |
| 21666 } | |
| 21667 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ | |
| 21668 | |
| 21669 getDispatcher()->vkCmdBuildAccelerationStructuresKHR( | |
| 21670 static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 21671 infos.size(), | |
| 21672 reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>( infos.data() ), | |
| 21673 reinterpret_cast<const VkAccelerationStructureBuildRangeInfoKHR * const *>( pBuildRangeInfos.data() ) ); | |
| 21674 } | |
| 21675 | |
| 21676 // wrapper function for command vkCmdBuildAccelerationStructuresIndirectKHR, see | |
| 21677 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildAccelerationStructuresIndirectKHR.html | |
| 21678 VULKAN_HPP_INLINE void CommandBuffer::buildAccelerationStructuresIndirectKHR( ArrayProxy<const AccelerationStructureBuildGeometryInfoKHR> const & infos, | |
| 21679 ArrayProxy<const DeviceAddress> const & indirectDeviceAddresses, | |
| 21680 ArrayProxy<const uint32_t> const & indirectStrides, | |
| 21681 ArrayProxy<const uint32_t * const> const & pMaxPrimitiveCounts ) const | |
| 21682 { | |
| 21683 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBuildAccelerationStructuresIndirectKHR && | |
| 21684 "Function <vkCmdBuildAccelerationStructuresIndirectKHR> requires <VK_KHR_acceleration_structure>" ); | |
| 21685 # ifdef VULKAN_HPP_NO_EXCEPTIONS | |
| 21686 VULKAN_HPP_ASSERT( infos.size() == indirectDeviceAddresses.size() ); | |
| 21687 VULKAN_HPP_ASSERT( infos.size() == indirectStrides.size() ); | |
| 21688 VULKAN_HPP_ASSERT( infos.size() == pMaxPrimitiveCounts.size() ); | |
| 21689 # else | |
| 21690 if ( infos.size() != indirectDeviceAddresses.size() ) | |
| 21691 { | |
| 21692 throw LogicError( VULKAN_HPP_NAMESPACE_STRING | |
| 21693 "::CommandBuffer::buildAccelerationStructuresIndirectKHR: infos.size() != indirectDeviceAddresses.size()" ); | |
| 21694 } | |
| 21695 if ( infos.size() != indirectStrides.size() ) | |
| 21696 { | |
| 21697 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::buildAccelerationStructuresIndirectKHR: infos.size() != indirectStrides.size()" ); | |
| 21698 } | |
| 21699 if ( infos.size() != pMaxPrimitiveCounts.size() ) | |
| 21700 { | |
| 21701 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::buildAccelerationStructuresIndirectKHR: infos.size() != pMaxPrimitiveCounts.size()" ); | |
| 21702 } | |
| 21703 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ | |
| 21704 | |
| 21705 getDispatcher()->vkCmdBuildAccelerationStructuresIndirectKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 21706 infos.size(), | |
| 21707 reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>( infos.data() ), | |
| 21708 reinterpret_cast<const VkDeviceAddress *>( indirectDeviceAddresses.data() ), | |
| 21709 indirectStrides.data(), | |
| 21710 pMaxPrimitiveCounts.data() ); | |
| 21711 } | |
| 21712 | |
| 21713 // wrapper function for command vkBuildAccelerationStructuresKHR, see | |
| 21714 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBuildAccelerationStructuresKHR.html | |
| 21715 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result | |
| 21716 Device::buildAccelerationStructuresKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, | |
| 21717 ArrayProxy<const AccelerationStructureBuildGeometryInfoKHR> const & infos, | |
| 21718 ArrayProxy<const AccelerationStructureBuildRangeInfoKHR * const> const & pBuildRangeInfos ) const | |
| 21719 { | |
| 21720 VULKAN_HPP_ASSERT( getDispatcher()->vkBuildAccelerationStructuresKHR && | |
| 21721 "Function <vkBuildAccelerationStructuresKHR> requires <VK_KHR_acceleration_structure>" ); | |
| 21722 # ifdef VULKAN_HPP_NO_EXCEPTIONS | |
| 21723 VULKAN_HPP_ASSERT( infos.size() == pBuildRangeInfos.size() ); | |
| 21724 # else | |
| 21725 if ( infos.size() != pBuildRangeInfos.size() ) | |
| 21726 { | |
| 21727 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::Device::buildAccelerationStructuresKHR: infos.size() != pBuildRangeInfos.size()" ); | |
| 21728 } | |
| 21729 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ | |
| 21730 | |
| 21731 Result result = static_cast<Result>( getDispatcher()->vkBuildAccelerationStructuresKHR( | |
| 21732 static_cast<VkDevice>( m_device ), | |
| 21733 static_cast<VkDeferredOperationKHR>( deferredOperation ), | |
| 21734 infos.size(), | |
| 21735 reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>( infos.data() ), | |
| 21736 reinterpret_cast<const VkAccelerationStructureBuildRangeInfoKHR * const *>( pBuildRangeInfos.data() ) ) ); | |
| 21737 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, | |
| 21738 VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::buildAccelerationStructuresKHR", | |
| 21739 { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } ); | |
| 21740 | |
| 21741 return static_cast<Result>( result ); | |
| 21742 } | |
| 21743 | |
| 21744 // wrapper function for command vkCopyAccelerationStructureKHR, see | |
| 21745 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyAccelerationStructureKHR.html | |
| 21746 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyAccelerationStructureKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, | |
| 21747 const CopyAccelerationStructureInfoKHR & info ) const | |
| 21748 { | |
| 21749 VULKAN_HPP_ASSERT( getDispatcher()->vkCopyAccelerationStructureKHR && | |
| 21750 "Function <vkCopyAccelerationStructureKHR> requires <VK_KHR_acceleration_structure>" ); | |
| 21751 | |
| 21752 Result result = | |
| 21753 static_cast<Result>( getDispatcher()->vkCopyAccelerationStructureKHR( static_cast<VkDevice>( m_device ), | |
| 21754 static_cast<VkDeferredOperationKHR>( deferredOperation ), | |
| 21755 reinterpret_cast<const VkCopyAccelerationStructureInfoKHR *>( &info ) ) ); | |
| 21756 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, | |
| 21757 VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyAccelerationStructureKHR", | |
| 21758 { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } ); | |
| 21759 | |
| 21760 return static_cast<Result>( result ); | |
| 21761 } | |
| 21762 | |
| 21763 // wrapper function for command vkCopyAccelerationStructureToMemoryKHR, see | |
| 21764 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyAccelerationStructureToMemoryKHR.html | |
| 21765 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyAccelerationStructureToMemoryKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, | |
| 21766 const CopyAccelerationStructureToMemoryInfoKHR & info ) const | |
| 21767 { | |
| 21768 VULKAN_HPP_ASSERT( getDispatcher()->vkCopyAccelerationStructureToMemoryKHR && | |
| 21769 "Function <vkCopyAccelerationStructureToMemoryKHR> requires <VK_KHR_acceleration_structure>" ); | |
| 21770 | |
| 21771 Result result = static_cast<Result>( | |
| 21772 getDispatcher()->vkCopyAccelerationStructureToMemoryKHR( static_cast<VkDevice>( m_device ), | |
| 21773 static_cast<VkDeferredOperationKHR>( deferredOperation ), | |
| 21774 reinterpret_cast<const VkCopyAccelerationStructureToMemoryInfoKHR *>( &info ) ) ); | |
| 21775 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, | |
| 21776 VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyAccelerationStructureToMemoryKHR", | |
| 21777 { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } ); | |
| 21778 | |
| 21779 return static_cast<Result>( result ); | |
| 21780 } | |
| 21781 | |
| 21782 // wrapper function for command vkCopyMemoryToAccelerationStructureKHR, see | |
| 21783 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToAccelerationStructureKHR.html | |
| 21784 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyMemoryToAccelerationStructureKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, | |
| 21785 const CopyMemoryToAccelerationStructureInfoKHR & info ) const | |
| 21786 { | |
| 21787 VULKAN_HPP_ASSERT( getDispatcher()->vkCopyMemoryToAccelerationStructureKHR && | |
| 21788 "Function <vkCopyMemoryToAccelerationStructureKHR> requires <VK_KHR_acceleration_structure>" ); | |
| 21789 | |
| 21790 Result result = static_cast<Result>( | |
| 21791 getDispatcher()->vkCopyMemoryToAccelerationStructureKHR( static_cast<VkDevice>( m_device ), | |
| 21792 static_cast<VkDeferredOperationKHR>( deferredOperation ), | |
| 21793 reinterpret_cast<const VkCopyMemoryToAccelerationStructureInfoKHR *>( &info ) ) ); | |
| 21794 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, | |
| 21795 VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyMemoryToAccelerationStructureKHR", | |
| 21796 { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } ); | |
| 21797 | |
| 21798 return static_cast<Result>( result ); | |
| 21799 } | |
| 21800 | |
| 21801 // wrapper function for command vkWriteAccelerationStructuresPropertiesKHR, see | |
| 21802 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteAccelerationStructuresPropertiesKHR.html | |
| 21803 template <typename DataType> | |
| 21804 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DataType>>::type | |
| 21805 Device::writeAccelerationStructuresPropertiesKHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures, | |
| 21806 QueryType queryType, | |
| 21807 size_t dataSize, | |
| 21808 size_t stride ) const | |
| 21809 { | |
| 21810 VULKAN_HPP_ASSERT( getDispatcher()->vkWriteAccelerationStructuresPropertiesKHR && | |
| 21811 "Function <vkWriteAccelerationStructuresPropertiesKHR> requires <VK_KHR_acceleration_structure>" ); | |
| 21812 | |
| 21813 VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); | |
| 21814 std::vector<DataType> data( dataSize / sizeof( DataType ) ); | |
| 21815 Result result = static_cast<Result>( | |
| 21816 getDispatcher()->vkWriteAccelerationStructuresPropertiesKHR( static_cast<VkDevice>( m_device ), | |
| 21817 accelerationStructures.size(), | |
| 21818 reinterpret_cast<const VkAccelerationStructureKHR *>( accelerationStructures.data() ), | |
| 21819 static_cast<VkQueryType>( queryType ), | |
| 21820 data.size() * sizeof( DataType ), | |
| 21821 reinterpret_cast<void *>( data.data() ), | |
| 21822 stride ) ); | |
| 21823 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::writeAccelerationStructuresPropertiesKHR" ); | |
| 21824 | |
| 21825 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); | |
| 21826 } | |
| 21827 | |
| 21828 // wrapper function for command vkWriteAccelerationStructuresPropertiesKHR, see | |
| 21829 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteAccelerationStructuresPropertiesKHR.html | |
| 21830 template <typename DataType> | |
| 21831 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type Device::writeAccelerationStructuresPropertyKHR( | |
| 21832 ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures, QueryType queryType, size_t stride ) const | |
| 21833 { | |
| 21834 VULKAN_HPP_ASSERT( getDispatcher()->vkWriteAccelerationStructuresPropertiesKHR && | |
| 21835 "Function <vkWriteAccelerationStructuresPropertiesKHR> requires <VK_KHR_acceleration_structure>" ); | |
| 21836 | |
| 21837 DataType data; | |
| 21838 Result result = static_cast<Result>( | |
| 21839 getDispatcher()->vkWriteAccelerationStructuresPropertiesKHR( static_cast<VkDevice>( m_device ), | |
| 21840 accelerationStructures.size(), | |
| 21841 reinterpret_cast<const VkAccelerationStructureKHR *>( accelerationStructures.data() ), | |
| 21842 static_cast<VkQueryType>( queryType ), | |
| 21843 sizeof( DataType ), | |
| 21844 reinterpret_cast<void *>( &data ), | |
| 21845 stride ) ); | |
| 21846 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::writeAccelerationStructuresPropertyKHR" ); | |
| 21847 | |
| 21848 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); | |
| 21849 } | |
| 21850 | |
| 21851 // wrapper function for command vkCmdCopyAccelerationStructureKHR, see | |
| 21852 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyAccelerationStructureKHR.html | |
| 21853 VULKAN_HPP_INLINE void CommandBuffer::copyAccelerationStructureKHR( const CopyAccelerationStructureInfoKHR & info ) const VULKAN_HPP_NOEXCEPT | |
| 21854 { | |
| 21855 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyAccelerationStructureKHR && | |
| 21856 "Function <vkCmdCopyAccelerationStructureKHR> requires <VK_KHR_acceleration_structure>" ); | |
| 21857 | |
| 21858 getDispatcher()->vkCmdCopyAccelerationStructureKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 21859 reinterpret_cast<const VkCopyAccelerationStructureInfoKHR *>( &info ) ); | |
| 21860 } | |
| 21861 | |
| 21862 // wrapper function for command vkCmdCopyAccelerationStructureToMemoryKHR, see | |
| 21863 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyAccelerationStructureToMemoryKHR.html | |
| 21864 VULKAN_HPP_INLINE void | |
| 21865 CommandBuffer::copyAccelerationStructureToMemoryKHR( const CopyAccelerationStructureToMemoryInfoKHR & info ) const VULKAN_HPP_NOEXCEPT | |
| 21866 { | |
| 21867 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyAccelerationStructureToMemoryKHR && | |
| 21868 "Function <vkCmdCopyAccelerationStructureToMemoryKHR> requires <VK_KHR_acceleration_structure>" ); | |
| 21869 | |
| 21870 getDispatcher()->vkCmdCopyAccelerationStructureToMemoryKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 21871 reinterpret_cast<const VkCopyAccelerationStructureToMemoryInfoKHR *>( &info ) ); | |
| 21872 } | |
| 21873 | |
| 21874 // wrapper function for command vkCmdCopyMemoryToAccelerationStructureKHR, see | |
| 21875 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToAccelerationStructureKHR.html | |
| 21876 VULKAN_HPP_INLINE void | |
| 21877 CommandBuffer::copyMemoryToAccelerationStructureKHR( const CopyMemoryToAccelerationStructureInfoKHR & info ) const VULKAN_HPP_NOEXCEPT | |
| 21878 { | |
| 21879 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyMemoryToAccelerationStructureKHR && | |
| 21880 "Function <vkCmdCopyMemoryToAccelerationStructureKHR> requires <VK_KHR_acceleration_structure>" ); | |
| 21881 | |
| 21882 getDispatcher()->vkCmdCopyMemoryToAccelerationStructureKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 21883 reinterpret_cast<const VkCopyMemoryToAccelerationStructureInfoKHR *>( &info ) ); | |
| 21884 } | |
| 21885 | |
| 21886 // wrapper function for command vkGetAccelerationStructureDeviceAddressKHR, see | |
| 21887 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureDeviceAddressKHR.html | |
| 21888 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE DeviceAddress | |
| 21889 Device::getAccelerationStructureAddressKHR( const AccelerationStructureDeviceAddressInfoKHR & info ) const VULKAN_HPP_NOEXCEPT | |
| 21890 { | |
| 21891 VULKAN_HPP_ASSERT( getDispatcher()->vkGetAccelerationStructureDeviceAddressKHR && | |
| 21892 "Function <vkGetAccelerationStructureDeviceAddressKHR> requires <VK_KHR_acceleration_structure>" ); | |
| 21893 | |
| 21894 VkDeviceAddress result = getDispatcher()->vkGetAccelerationStructureDeviceAddressKHR( | |
| 21895 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkAccelerationStructureDeviceAddressInfoKHR *>( &info ) ); | |
| 21896 | |
| 21897 return static_cast<DeviceAddress>( result ); | |
| 21898 } | |
| 21899 | |
| 21900 // wrapper function for command vkCmdWriteAccelerationStructuresPropertiesKHR, see | |
| 21901 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteAccelerationStructuresPropertiesKHR.html | |
| 21902 VULKAN_HPP_INLINE void | |
| 21903 CommandBuffer::writeAccelerationStructuresPropertiesKHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures, | |
| 21904 QueryType queryType, | |
| 21905 VULKAN_HPP_NAMESPACE::QueryPool queryPool, | |
| 21906 uint32_t firstQuery ) const VULKAN_HPP_NOEXCEPT | |
| 21907 { | |
| 21908 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdWriteAccelerationStructuresPropertiesKHR && | |
| 21909 "Function <vkCmdWriteAccelerationStructuresPropertiesKHR> requires <VK_KHR_acceleration_structure>" ); | |
| 21910 | |
| 21911 getDispatcher()->vkCmdWriteAccelerationStructuresPropertiesKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 21912 accelerationStructures.size(), | |
| 21913 reinterpret_cast<const VkAccelerationStructureKHR *>( accelerationStructures.data() ), | |
| 21914 static_cast<VkQueryType>( queryType ), | |
| 21915 static_cast<VkQueryPool>( queryPool ), | |
| 21916 firstQuery ); | |
| 21917 } | |
| 21918 | |
| 21919 // wrapper function for command vkGetDeviceAccelerationStructureCompatibilityKHR, see | |
| 21920 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceAccelerationStructureCompatibilityKHR.html | |
| 21921 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE AccelerationStructureCompatibilityKHR | |
| 21922 Device::getAccelerationStructureCompatibilityKHR( const AccelerationStructureVersionInfoKHR & versionInfo ) const VULKAN_HPP_NOEXCEPT | |
| 21923 { | |
| 21924 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceAccelerationStructureCompatibilityKHR && | |
| 21925 "Function <vkGetDeviceAccelerationStructureCompatibilityKHR> requires <VK_KHR_acceleration_structure>" ); | |
| 21926 | |
| 21927 AccelerationStructureCompatibilityKHR compatibility; | |
| 21928 getDispatcher()->vkGetDeviceAccelerationStructureCompatibilityKHR( static_cast<VkDevice>( m_device ), | |
| 21929 reinterpret_cast<const VkAccelerationStructureVersionInfoKHR *>( &versionInfo ), | |
| 21930 reinterpret_cast<VkAccelerationStructureCompatibilityKHR *>( &compatibility ) ); | |
| 21931 | |
| 21932 return compatibility; | |
| 21933 } | |
| 21934 | |
| 21935 // wrapper function for command vkGetAccelerationStructureBuildSizesKHR, see | |
| 21936 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureBuildSizesKHR.html | |
| 21937 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE AccelerationStructureBuildSizesInfoKHR | |
| 21938 Device::getAccelerationStructureBuildSizesKHR( AccelerationStructureBuildTypeKHR buildType, | |
| 21939 const AccelerationStructureBuildGeometryInfoKHR & buildInfo, | |
| 21940 ArrayProxy<const uint32_t> const & maxPrimitiveCounts ) const | |
| 21941 { | |
| 21942 VULKAN_HPP_ASSERT( getDispatcher()->vkGetAccelerationStructureBuildSizesKHR && | |
| 21943 "Function <vkGetAccelerationStructureBuildSizesKHR> requires <VK_KHR_acceleration_structure>" ); | |
| 21944 # ifdef VULKAN_HPP_NO_EXCEPTIONS | |
| 21945 VULKAN_HPP_ASSERT( maxPrimitiveCounts.size() == buildInfo.geometryCount ); | |
| 21946 # else | |
| 21947 if ( maxPrimitiveCounts.size() != buildInfo.geometryCount ) | |
| 21948 { | |
| 21949 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::Device::getAccelerationStructureBuildSizesKHR: maxPrimitiveCounts.size() != buildInfo.geometryCount" ); | |
| 21950 } | |
| 21951 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ | |
| 21952 | |
| 21953 AccelerationStructureBuildSizesInfoKHR sizeInfo; | |
| 21954 getDispatcher()->vkGetAccelerationStructureBuildSizesKHR( static_cast<VkDevice>( m_device ), | |
| 21955 static_cast<VkAccelerationStructureBuildTypeKHR>( buildType ), | |
| 21956 reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>( &buildInfo ), | |
| 21957 maxPrimitiveCounts.data(), | |
| 21958 reinterpret_cast<VkAccelerationStructureBuildSizesInfoKHR *>( &sizeInfo ) ); | |
| 21959 | |
| 21960 return sizeInfo; | |
| 21961 } | |
| 21962 | |
| 21963 //=== VK_KHR_ray_tracing_pipeline === | |
| 21964 | |
| 21965 // wrapper function for command vkCmdTraceRaysKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdTraceRaysKHR.html | |
| 21966 VULKAN_HPP_INLINE void CommandBuffer::traceRaysKHR( const StridedDeviceAddressRegionKHR & raygenShaderBindingTable, | |
| 21967 const StridedDeviceAddressRegionKHR & missShaderBindingTable, | |
| 21968 const StridedDeviceAddressRegionKHR & hitShaderBindingTable, | |
| 21969 const StridedDeviceAddressRegionKHR & callableShaderBindingTable, | |
| 21970 uint32_t width, | |
| 21971 uint32_t height, | |
| 21972 uint32_t depth ) const VULKAN_HPP_NOEXCEPT | |
| 21973 { | |
| 21974 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdTraceRaysKHR && "Function <vkCmdTraceRaysKHR> requires <VK_KHR_ray_tracing_pipeline>" ); | |
| 21975 | |
| 21976 getDispatcher()->vkCmdTraceRaysKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 21977 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &raygenShaderBindingTable ), | |
| 21978 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &missShaderBindingTable ), | |
| 21979 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &hitShaderBindingTable ), | |
| 21980 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &callableShaderBindingTable ), | |
| 21981 width, | |
| 21982 height, | |
| 21983 depth ); | |
| 21984 } | |
| 21985 | |
| 21986 // wrapper function for command vkCreateRayTracingPipelinesKHR, see | |
| 21987 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesKHR.html | |
| 21988 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<Pipeline>>::type | |
| 21989 Device::createRayTracingPipelinesKHR( Optional<const DeferredOperationKHR> const & deferredOperation, | |
| 21990 Optional<const PipelineCache> const & pipelineCache, | |
| 21991 ArrayProxy<RayTracingPipelineCreateInfoKHR> const & createInfos, | |
| 21992 Optional<const AllocationCallbacks> allocator ) const | |
| 21993 { | |
| 21994 std::vector<VULKAN_HPP_NAMESPACE::Pipeline> pipelines( createInfos.size() ); | |
| 21995 Result result = static_cast<Result>( | |
| 21996 getDispatcher()->vkCreateRayTracingPipelinesKHR( static_cast<VkDevice>( m_device ), | |
| 21997 deferredOperation ? static_cast<VkDeferredOperationKHR>( **deferredOperation ) : 0, | |
| 21998 pipelineCache ? static_cast<VkPipelineCache>( **pipelineCache ) : 0, | |
| 21999 createInfos.size(), | |
| 22000 reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( createInfos.data() ), | |
| 22001 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 22002 reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); | |
| 22003 VULKAN_HPP_NAMESPACE::detail::resultCheck( | |
| 22004 result, | |
| 22005 VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createRayTracingPipelinesKHR", | |
| 22006 { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR, Result::ePipelineCompileRequiredEXT } ); | |
| 22007 std::vector<Pipeline> pipelinesRAII; | |
| 22008 if ( result == Result::eSuccess ) | |
| 22009 { | |
| 22010 pipelinesRAII.reserve( pipelines.size() ); | |
| 22011 for ( auto & pipeline : pipelines ) | |
| 22012 { | |
| 22013 pipelinesRAII.emplace_back( *this, *reinterpret_cast<VkPipeline *>( &pipeline ), allocator, result ); | |
| 22014 } | |
| 22015 } | |
| 22016 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pipelinesRAII ) ); | |
| 22017 } | |
| 22018 | |
| 22019 // wrapper function for command vkCreateRayTracingPipelinesKHR, see | |
| 22020 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesKHR.html | |
| 22021 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<Pipeline>::type | |
| 22022 Device::createRayTracingPipelineKHR( Optional<const DeferredOperationKHR> const & deferredOperation, | |
| 22023 Optional<const PipelineCache> const & pipelineCache, | |
| 22024 RayTracingPipelineCreateInfoKHR const & createInfo, | |
| 22025 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 22026 { | |
| 22027 VULKAN_HPP_NAMESPACE::Pipeline pipeline; | |
| 22028 Result result = static_cast<Result>( | |
| 22029 getDispatcher()->vkCreateRayTracingPipelinesKHR( static_cast<VkDevice>( m_device ), | |
| 22030 deferredOperation ? static_cast<VkDeferredOperationKHR>( **deferredOperation ) : 0, | |
| 22031 pipelineCache ? static_cast<VkPipelineCache>( **pipelineCache ) : 0, | |
| 22032 1, | |
| 22033 reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( &createInfo ), | |
| 22034 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 22035 reinterpret_cast<VkPipeline *>( &pipeline ) ) ); | |
| 22036 VULKAN_HPP_NAMESPACE::detail::resultCheck( | |
| 22037 result, | |
| 22038 VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createRayTracingPipelineKHR", | |
| 22039 { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR, Result::ePipelineCompileRequiredEXT } ); | |
| 22040 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Pipeline( *this, *reinterpret_cast<VkPipeline *>( &pipeline ), allocator, result ) ); | |
| 22041 } | |
| 22042 | |
| 22043 // wrapper function for command vkGetRayTracingShaderGroupHandlesKHR, see | |
| 22044 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupHandlesKHR.html | |
| 22045 template <typename DataType> | |
| 22046 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DataType>>::type | |
| 22047 Pipeline::getRayTracingShaderGroupHandlesKHR( uint32_t firstGroup, uint32_t groupCount, size_t dataSize ) const | |
| 22048 { | |
| 22049 VULKAN_HPP_ASSERT( getDispatcher()->vkGetRayTracingShaderGroupHandlesKHR && | |
| 22050 "Function <vkGetRayTracingShaderGroupHandlesKHR> requires <VK_KHR_ray_tracing_pipeline> or <VK_NV_ray_tracing>" ); | |
| 22051 | |
| 22052 VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); | |
| 22053 std::vector<DataType> data( dataSize / sizeof( DataType ) ); | |
| 22054 Result result = static_cast<Result>( getDispatcher()->vkGetRayTracingShaderGroupHandlesKHR( static_cast<VkDevice>( m_device ), | |
| 22055 static_cast<VkPipeline>( m_pipeline ), | |
| 22056 firstGroup, | |
| 22057 groupCount, | |
| 22058 data.size() * sizeof( DataType ), | |
| 22059 reinterpret_cast<void *>( data.data() ) ) ); | |
| 22060 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::getRayTracingShaderGroupHandlesKHR" ); | |
| 22061 | |
| 22062 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); | |
| 22063 } | |
| 22064 | |
| 22065 // wrapper function for command vkGetRayTracingShaderGroupHandlesKHR, see | |
| 22066 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupHandlesKHR.html | |
| 22067 template <typename DataType> | |
| 22068 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type Pipeline::getRayTracingShaderGroupHandleKHR( uint32_t firstGroup, | |
| 22069 uint32_t groupCount ) const | |
| 22070 { | |
| 22071 VULKAN_HPP_ASSERT( getDispatcher()->vkGetRayTracingShaderGroupHandlesKHR && | |
| 22072 "Function <vkGetRayTracingShaderGroupHandlesKHR> requires <VK_KHR_ray_tracing_pipeline> or <VK_NV_ray_tracing>" ); | |
| 22073 | |
| 22074 DataType data; | |
| 22075 Result result = static_cast<Result>( getDispatcher()->vkGetRayTracingShaderGroupHandlesKHR( static_cast<VkDevice>( m_device ), | |
| 22076 static_cast<VkPipeline>( m_pipeline ), | |
| 22077 firstGroup, | |
| 22078 groupCount, | |
| 22079 sizeof( DataType ), | |
| 22080 reinterpret_cast<void *>( &data ) ) ); | |
| 22081 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::getRayTracingShaderGroupHandleKHR" ); | |
| 22082 | |
| 22083 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); | |
| 22084 } | |
| 22085 | |
| 22086 // wrapper function for command vkGetRayTracingCaptureReplayShaderGroupHandlesKHR, see | |
| 22087 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingCaptureReplayShaderGroupHandlesKHR.html | |
| 22088 template <typename DataType> | |
| 22089 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DataType>>::type | |
| 22090 Pipeline::getRayTracingCaptureReplayShaderGroupHandlesKHR( uint32_t firstGroup, uint32_t groupCount, size_t dataSize ) const | |
| 22091 { | |
| 22092 VULKAN_HPP_ASSERT( getDispatcher()->vkGetRayTracingCaptureReplayShaderGroupHandlesKHR && | |
| 22093 "Function <vkGetRayTracingCaptureReplayShaderGroupHandlesKHR> requires <VK_KHR_ray_tracing_pipeline>" ); | |
| 22094 | |
| 22095 VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); | |
| 22096 std::vector<DataType> data( dataSize / sizeof( DataType ) ); | |
| 22097 Result result = static_cast<Result>( getDispatcher()->vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( static_cast<VkDevice>( m_device ), | |
| 22098 static_cast<VkPipeline>( m_pipeline ), | |
| 22099 firstGroup, | |
| 22100 groupCount, | |
| 22101 data.size() * sizeof( DataType ), | |
| 22102 reinterpret_cast<void *>( data.data() ) ) ); | |
| 22103 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::getRayTracingCaptureReplayShaderGroupHandlesKHR" ); | |
| 22104 | |
| 22105 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); | |
| 22106 } | |
| 22107 | |
| 22108 // wrapper function for command vkGetRayTracingCaptureReplayShaderGroupHandlesKHR, see | |
| 22109 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingCaptureReplayShaderGroupHandlesKHR.html | |
| 22110 template <typename DataType> | |
| 22111 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type | |
| 22112 Pipeline::getRayTracingCaptureReplayShaderGroupHandleKHR( uint32_t firstGroup, uint32_t groupCount ) const | |
| 22113 { | |
| 22114 VULKAN_HPP_ASSERT( getDispatcher()->vkGetRayTracingCaptureReplayShaderGroupHandlesKHR && | |
| 22115 "Function <vkGetRayTracingCaptureReplayShaderGroupHandlesKHR> requires <VK_KHR_ray_tracing_pipeline>" ); | |
| 22116 | |
| 22117 DataType data; | |
| 22118 Result result = static_cast<Result>( getDispatcher()->vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( static_cast<VkDevice>( m_device ), | |
| 22119 static_cast<VkPipeline>( m_pipeline ), | |
| 22120 firstGroup, | |
| 22121 groupCount, | |
| 22122 sizeof( DataType ), | |
| 22123 reinterpret_cast<void *>( &data ) ) ); | |
| 22124 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::getRayTracingCaptureReplayShaderGroupHandleKHR" ); | |
| 22125 | |
| 22126 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); | |
| 22127 } | |
| 22128 | |
| 22129 // wrapper function for command vkCmdTraceRaysIndirectKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdTraceRaysIndirectKHR.html | |
| 22130 VULKAN_HPP_INLINE void CommandBuffer::traceRaysIndirectKHR( const StridedDeviceAddressRegionKHR & raygenShaderBindingTable, | |
| 22131 const StridedDeviceAddressRegionKHR & missShaderBindingTable, | |
| 22132 const StridedDeviceAddressRegionKHR & hitShaderBindingTable, | |
| 22133 const StridedDeviceAddressRegionKHR & callableShaderBindingTable, | |
| 22134 DeviceAddress indirectDeviceAddress ) const VULKAN_HPP_NOEXCEPT | |
| 22135 { | |
| 22136 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdTraceRaysIndirectKHR && "Function <vkCmdTraceRaysIndirectKHR> requires <VK_KHR_ray_tracing_pipeline>" ); | |
| 22137 | |
| 22138 getDispatcher()->vkCmdTraceRaysIndirectKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 22139 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &raygenShaderBindingTable ), | |
| 22140 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &missShaderBindingTable ), | |
| 22141 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &hitShaderBindingTable ), | |
| 22142 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &callableShaderBindingTable ), | |
| 22143 static_cast<VkDeviceAddress>( indirectDeviceAddress ) ); | |
| 22144 } | |
| 22145 | |
| 22146 // wrapper function for command vkGetRayTracingShaderGroupStackSizeKHR, see | |
| 22147 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupStackSizeKHR.html | |
| 22148 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE DeviceSize | |
| 22149 Pipeline::getRayTracingShaderGroupStackSizeKHR( uint32_t group, ShaderGroupShaderKHR groupShader ) const VULKAN_HPP_NOEXCEPT | |
| 22150 { | |
| 22151 VULKAN_HPP_ASSERT( getDispatcher()->vkGetRayTracingShaderGroupStackSizeKHR && | |
| 22152 "Function <vkGetRayTracingShaderGroupStackSizeKHR> requires <VK_KHR_ray_tracing_pipeline>" ); | |
| 22153 | |
| 22154 VkDeviceSize result = getDispatcher()->vkGetRayTracingShaderGroupStackSizeKHR( | |
| 22155 static_cast<VkDevice>( m_device ), static_cast<VkPipeline>( m_pipeline ), group, static_cast<VkShaderGroupShaderKHR>( groupShader ) ); | |
| 22156 | |
| 22157 return static_cast<DeviceSize>( result ); | |
| 22158 } | |
| 22159 | |
| 22160 // wrapper function for command vkCmdSetRayTracingPipelineStackSizeKHR, see | |
| 22161 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRayTracingPipelineStackSizeKHR.html | |
| 22162 VULKAN_HPP_INLINE void CommandBuffer::setRayTracingPipelineStackSizeKHR( uint32_t pipelineStackSize ) const VULKAN_HPP_NOEXCEPT | |
| 22163 { | |
| 22164 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetRayTracingPipelineStackSizeKHR && | |
| 22165 "Function <vkCmdSetRayTracingPipelineStackSizeKHR> requires <VK_KHR_ray_tracing_pipeline>" ); | |
| 22166 | |
| 22167 getDispatcher()->vkCmdSetRayTracingPipelineStackSizeKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), pipelineStackSize ); | |
| 22168 } | |
| 22169 | |
| 22170 //=== VK_KHR_sampler_ycbcr_conversion === | |
| 22171 | |
| 22172 // wrapper function for command vkCreateSamplerYcbcrConversionKHR, see | |
| 22173 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSamplerYcbcrConversionKHR.html | |
| 22174 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<SamplerYcbcrConversion>::type | |
| 22175 Device::createSamplerYcbcrConversionKHR( SamplerYcbcrConversionCreateInfo const & createInfo, | |
| 22176 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 22177 { | |
| 22178 VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion; | |
| 22179 Result result = | |
| 22180 static_cast<Result>( getDispatcher()->vkCreateSamplerYcbcrConversionKHR( static_cast<VkDevice>( m_device ), | |
| 22181 reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo *>( &createInfo ), | |
| 22182 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 22183 reinterpret_cast<VkSamplerYcbcrConversion *>( &ycbcrConversion ) ) ); | |
| 22184 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createSamplerYcbcrConversionKHR" ); | |
| 22185 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( | |
| 22186 result, SamplerYcbcrConversion( *this, *reinterpret_cast<VkSamplerYcbcrConversion *>( &ycbcrConversion ), allocator ) ); | |
| 22187 } | |
| 22188 | |
| 22189 // wrapper function for command vkDestroySamplerYcbcrConversionKHR, see | |
| 22190 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySamplerYcbcrConversionKHR.html | |
| 22191 VULKAN_HPP_INLINE void Device::destroySamplerYcbcrConversionKHR( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion, | |
| 22192 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT | |
| 22193 { | |
| 22194 VULKAN_HPP_ASSERT( getDispatcher()->vkDestroySamplerYcbcrConversionKHR && | |
| 22195 "Function <vkDestroySamplerYcbcrConversionKHR> requires <VK_KHR_sampler_ycbcr_conversion> or <VK_VERSION_1_1>" ); | |
| 22196 | |
| 22197 getDispatcher()->vkDestroySamplerYcbcrConversionKHR( static_cast<VkDevice>( m_device ), | |
| 22198 static_cast<VkSamplerYcbcrConversion>( ycbcrConversion ), | |
| 22199 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ) ); | |
| 22200 } | |
| 22201 | |
| 22202 //=== VK_KHR_bind_memory2 === | |
| 22203 | |
| 22204 // wrapper function for command vkBindBufferMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindBufferMemory2KHR.html | |
| 22205 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::bindBufferMemory2KHR( ArrayProxy<const BindBufferMemoryInfo> const & bindInfos ) const | |
| 22206 { | |
| 22207 VULKAN_HPP_ASSERT( getDispatcher()->vkBindBufferMemory2KHR && "Function <vkBindBufferMemory2KHR> requires <VK_KHR_bind_memory2> or <VK_VERSION_1_1>" ); | |
| 22208 | |
| 22209 Result result = static_cast<Result>( getDispatcher()->vkBindBufferMemory2KHR( | |
| 22210 static_cast<VkDevice>( m_device ), bindInfos.size(), reinterpret_cast<const VkBindBufferMemoryInfo *>( bindInfos.data() ) ) ); | |
| 22211 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::bindBufferMemory2KHR" ); | |
| 22212 | |
| 22213 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 22214 } | |
| 22215 | |
| 22216 // wrapper function for command vkBindImageMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindImageMemory2KHR.html | |
| 22217 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::bindImageMemory2KHR( ArrayProxy<const BindImageMemoryInfo> const & bindInfos ) const | |
| 22218 { | |
| 22219 VULKAN_HPP_ASSERT( getDispatcher()->vkBindImageMemory2KHR && "Function <vkBindImageMemory2KHR> requires <VK_KHR_bind_memory2> or <VK_VERSION_1_1>" ); | |
| 22220 | |
| 22221 Result result = static_cast<Result>( getDispatcher()->vkBindImageMemory2KHR( | |
| 22222 static_cast<VkDevice>( m_device ), bindInfos.size(), reinterpret_cast<const VkBindImageMemoryInfo *>( bindInfos.data() ) ) ); | |
| 22223 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::bindImageMemory2KHR" ); | |
| 22224 | |
| 22225 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 22226 } | |
| 22227 | |
| 22228 //=== VK_EXT_image_drm_format_modifier === | |
| 22229 | |
| 22230 // wrapper function for command vkGetImageDrmFormatModifierPropertiesEXT, see | |
| 22231 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageDrmFormatModifierPropertiesEXT.html | |
| 22232 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<ImageDrmFormatModifierPropertiesEXT>::type Image::getDrmFormatModifierPropertiesEXT() const | |
| 22233 { | |
| 22234 VULKAN_HPP_ASSERT( getDispatcher()->vkGetImageDrmFormatModifierPropertiesEXT && | |
| 22235 "Function <vkGetImageDrmFormatModifierPropertiesEXT> requires <VK_EXT_image_drm_format_modifier>" ); | |
| 22236 | |
| 22237 ImageDrmFormatModifierPropertiesEXT properties; | |
| 22238 Result result = static_cast<Result>( getDispatcher()->vkGetImageDrmFormatModifierPropertiesEXT( | |
| 22239 static_cast<VkDevice>( m_device ), static_cast<VkImage>( m_image ), reinterpret_cast<VkImageDrmFormatModifierPropertiesEXT *>( &properties ) ) ); | |
| 22240 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Image::getDrmFormatModifierPropertiesEXT" ); | |
| 22241 | |
| 22242 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); | |
| 22243 } | |
| 22244 | |
| 22245 //=== VK_EXT_validation_cache === | |
| 22246 | |
| 22247 // wrapper function for command vkCreateValidationCacheEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateValidationCacheEXT.html | |
| 22248 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<ValidationCacheEXT>::type | |
| 22249 Device::createValidationCacheEXT( ValidationCacheCreateInfoEXT const & createInfo, | |
| 22250 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 22251 { | |
| 22252 VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache; | |
| 22253 Result result = static_cast<Result>( getDispatcher()->vkCreateValidationCacheEXT( static_cast<VkDevice>( m_device ), | |
| 22254 reinterpret_cast<const VkValidationCacheCreateInfoEXT *>( &createInfo ), | |
| 22255 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 22256 reinterpret_cast<VkValidationCacheEXT *>( &validationCache ) ) ); | |
| 22257 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createValidationCacheEXT" ); | |
| 22258 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( | |
| 22259 result, ValidationCacheEXT( *this, *reinterpret_cast<VkValidationCacheEXT *>( &validationCache ), allocator ) ); | |
| 22260 } | |
| 22261 | |
| 22262 // wrapper function for command vkMergeValidationCachesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMergeValidationCachesEXT.html | |
| 22263 VULKAN_HPP_INLINE typename ResultValueType<void>::type | |
| 22264 ValidationCacheEXT::merge( ArrayProxy<const VULKAN_HPP_NAMESPACE::ValidationCacheEXT> const & srcCaches ) const | |
| 22265 { | |
| 22266 VULKAN_HPP_ASSERT( getDispatcher()->vkMergeValidationCachesEXT && "Function <vkMergeValidationCachesEXT> requires <VK_EXT_validation_cache>" ); | |
| 22267 | |
| 22268 Result result = static_cast<Result>( getDispatcher()->vkMergeValidationCachesEXT( static_cast<VkDevice>( m_device ), | |
| 22269 static_cast<VkValidationCacheEXT>( m_validationCacheEXT ), | |
| 22270 srcCaches.size(), | |
| 22271 reinterpret_cast<const VkValidationCacheEXT *>( srcCaches.data() ) ) ); | |
| 22272 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::ValidationCacheEXT::merge" ); | |
| 22273 | |
| 22274 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 22275 } | |
| 22276 | |
| 22277 // wrapper function for command vkGetValidationCacheDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetValidationCacheDataEXT.html | |
| 22278 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<uint8_t>>::type ValidationCacheEXT::getData() const | |
| 22279 { | |
| 22280 VULKAN_HPP_ASSERT( getDispatcher()->vkGetValidationCacheDataEXT && "Function <vkGetValidationCacheDataEXT> requires <VK_EXT_validation_cache>" ); | |
| 22281 | |
| 22282 std::vector<uint8_t> data; | |
| 22283 size_t dataSize; | |
| 22284 Result result; | |
| 22285 do | |
| 22286 { | |
| 22287 result = static_cast<Result>( getDispatcher()->vkGetValidationCacheDataEXT( | |
| 22288 static_cast<VkDevice>( m_device ), static_cast<VkValidationCacheEXT>( m_validationCacheEXT ), &dataSize, nullptr ) ); | |
| 22289 if ( ( result == Result::eSuccess ) && dataSize ) | |
| 22290 { | |
| 22291 data.resize( dataSize ); | |
| 22292 result = static_cast<Result>( getDispatcher()->vkGetValidationCacheDataEXT( static_cast<VkDevice>( m_device ), | |
| 22293 static_cast<VkValidationCacheEXT>( m_validationCacheEXT ), | |
| 22294 &dataSize, | |
| 22295 reinterpret_cast<void *>( data.data() ) ) ); | |
| 22296 } | |
| 22297 } while ( result == Result::eIncomplete ); | |
| 22298 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::ValidationCacheEXT::getData" ); | |
| 22299 VULKAN_HPP_ASSERT( dataSize <= data.size() ); | |
| 22300 if ( dataSize < data.size() ) | |
| 22301 { | |
| 22302 data.resize( dataSize ); | |
| 22303 } | |
| 22304 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); | |
| 22305 } | |
| 22306 | |
| 22307 //=== VK_NV_shading_rate_image === | |
| 22308 | |
| 22309 // wrapper function for command vkCmdBindShadingRateImageNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindShadingRateImageNV.html | |
| 22310 VULKAN_HPP_INLINE void CommandBuffer::bindShadingRateImageNV( VULKAN_HPP_NAMESPACE::ImageView imageView, ImageLayout imageLayout ) const VULKAN_HPP_NOEXCEPT | |
| 22311 { | |
| 22312 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBindShadingRateImageNV && "Function <vkCmdBindShadingRateImageNV> requires <VK_NV_shading_rate_image>" ); | |
| 22313 | |
| 22314 getDispatcher()->vkCmdBindShadingRateImageNV( | |
| 22315 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkImageView>( imageView ), static_cast<VkImageLayout>( imageLayout ) ); | |
| 22316 } | |
| 22317 | |
| 22318 // wrapper function for command vkCmdSetViewportShadingRatePaletteNV, see | |
| 22319 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportShadingRatePaletteNV.html | |
| 22320 VULKAN_HPP_INLINE void | |
| 22321 CommandBuffer::setViewportShadingRatePaletteNV( uint32_t firstViewport, | |
| 22322 ArrayProxy<const ShadingRatePaletteNV> const & shadingRatePalettes ) const VULKAN_HPP_NOEXCEPT | |
| 22323 { | |
| 22324 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetViewportShadingRatePaletteNV && | |
| 22325 "Function <vkCmdSetViewportShadingRatePaletteNV> requires <VK_NV_shading_rate_image>" ); | |
| 22326 | |
| 22327 getDispatcher()->vkCmdSetViewportShadingRatePaletteNV( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 22328 firstViewport, | |
| 22329 shadingRatePalettes.size(), | |
| 22330 reinterpret_cast<const VkShadingRatePaletteNV *>( shadingRatePalettes.data() ) ); | |
| 22331 } | |
| 22332 | |
| 22333 // wrapper function for command vkCmdSetCoarseSampleOrderNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoarseSampleOrderNV.html | |
| 22334 VULKAN_HPP_INLINE void | |
| 22335 CommandBuffer::setCoarseSampleOrderNV( CoarseSampleOrderTypeNV sampleOrderType, | |
| 22336 ArrayProxy<const CoarseSampleOrderCustomNV> const & customSampleOrders ) const VULKAN_HPP_NOEXCEPT | |
| 22337 { | |
| 22338 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetCoarseSampleOrderNV && "Function <vkCmdSetCoarseSampleOrderNV> requires <VK_NV_shading_rate_image>" ); | |
| 22339 | |
| 22340 getDispatcher()->vkCmdSetCoarseSampleOrderNV( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 22341 static_cast<VkCoarseSampleOrderTypeNV>( sampleOrderType ), | |
| 22342 customSampleOrders.size(), | |
| 22343 reinterpret_cast<const VkCoarseSampleOrderCustomNV *>( customSampleOrders.data() ) ); | |
| 22344 } | |
| 22345 | |
| 22346 //=== VK_NV_ray_tracing === | |
| 22347 | |
| 22348 // wrapper function for command vkCreateAccelerationStructureNV, see | |
| 22349 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAccelerationStructureNV.html | |
| 22350 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<AccelerationStructureNV>::type | |
| 22351 Device::createAccelerationStructureNV( AccelerationStructureCreateInfoNV const & createInfo, | |
| 22352 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 22353 { | |
| 22354 VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure; | |
| 22355 Result result = | |
| 22356 static_cast<Result>( getDispatcher()->vkCreateAccelerationStructureNV( static_cast<VkDevice>( m_device ), | |
| 22357 reinterpret_cast<const VkAccelerationStructureCreateInfoNV *>( &createInfo ), | |
| 22358 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 22359 reinterpret_cast<VkAccelerationStructureNV *>( &accelerationStructure ) ) ); | |
| 22360 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createAccelerationStructureNV" ); | |
| 22361 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( | |
| 22362 result, AccelerationStructureNV( *this, *reinterpret_cast<VkAccelerationStructureNV *>( &accelerationStructure ), allocator ) ); | |
| 22363 } | |
| 22364 | |
| 22365 // wrapper function for command vkGetAccelerationStructureMemoryRequirementsNV, see | |
| 22366 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureMemoryRequirementsNV.html | |
| 22367 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2KHR | |
| 22368 Device::getAccelerationStructureMemoryRequirementsNV( const AccelerationStructureMemoryRequirementsInfoNV & info ) const VULKAN_HPP_NOEXCEPT | |
| 22369 { | |
| 22370 VULKAN_HPP_ASSERT( getDispatcher()->vkGetAccelerationStructureMemoryRequirementsNV && | |
| 22371 "Function <vkGetAccelerationStructureMemoryRequirementsNV> requires <VK_NV_ray_tracing>" ); | |
| 22372 | |
| 22373 MemoryRequirements2KHR memoryRequirements; | |
| 22374 getDispatcher()->vkGetAccelerationStructureMemoryRequirementsNV( static_cast<VkDevice>( m_device ), | |
| 22375 reinterpret_cast<const VkAccelerationStructureMemoryRequirementsInfoNV *>( &info ), | |
| 22376 reinterpret_cast<VkMemoryRequirements2KHR *>( &memoryRequirements ) ); | |
| 22377 | |
| 22378 return memoryRequirements; | |
| 22379 } | |
| 22380 | |
| 22381 // wrapper function for command vkGetAccelerationStructureMemoryRequirementsNV, see | |
| 22382 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureMemoryRequirementsNV.html | |
| 22383 template <typename X, typename Y, typename... Z> | |
| 22384 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> | |
| 22385 Device::getAccelerationStructureMemoryRequirementsNV( const AccelerationStructureMemoryRequirementsInfoNV & info ) const VULKAN_HPP_NOEXCEPT | |
| 22386 { | |
| 22387 VULKAN_HPP_ASSERT( getDispatcher()->vkGetAccelerationStructureMemoryRequirementsNV && | |
| 22388 "Function <vkGetAccelerationStructureMemoryRequirementsNV> requires <VK_NV_ray_tracing>" ); | |
| 22389 | |
| 22390 StructureChain<X, Y, Z...> structureChain; | |
| 22391 MemoryRequirements2KHR & memoryRequirements = structureChain.template get<MemoryRequirements2KHR>(); | |
| 22392 getDispatcher()->vkGetAccelerationStructureMemoryRequirementsNV( static_cast<VkDevice>( m_device ), | |
| 22393 reinterpret_cast<const VkAccelerationStructureMemoryRequirementsInfoNV *>( &info ), | |
| 22394 reinterpret_cast<VkMemoryRequirements2KHR *>( &memoryRequirements ) ); | |
| 22395 | |
| 22396 return structureChain; | |
| 22397 } | |
| 22398 | |
| 22399 // wrapper function for command vkBindAccelerationStructureMemoryNV, see | |
| 22400 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindAccelerationStructureMemoryNV.html | |
| 22401 VULKAN_HPP_INLINE typename ResultValueType<void>::type | |
| 22402 Device::bindAccelerationStructureMemoryNV( ArrayProxy<const BindAccelerationStructureMemoryInfoNV> const & bindInfos ) const | |
| 22403 { | |
| 22404 VULKAN_HPP_ASSERT( getDispatcher()->vkBindAccelerationStructureMemoryNV && | |
| 22405 "Function <vkBindAccelerationStructureMemoryNV> requires <VK_NV_ray_tracing>" ); | |
| 22406 | |
| 22407 Result result = static_cast<Result>( getDispatcher()->vkBindAccelerationStructureMemoryNV( | |
| 22408 static_cast<VkDevice>( m_device ), bindInfos.size(), reinterpret_cast<const VkBindAccelerationStructureMemoryInfoNV *>( bindInfos.data() ) ) ); | |
| 22409 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::bindAccelerationStructureMemoryNV" ); | |
| 22410 | |
| 22411 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 22412 } | |
| 22413 | |
| 22414 // wrapper function for command vkCmdBuildAccelerationStructureNV, see | |
| 22415 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildAccelerationStructureNV.html | |
| 22416 VULKAN_HPP_INLINE void CommandBuffer::buildAccelerationStructureNV( const AccelerationStructureInfoNV & info, | |
| 22417 VULKAN_HPP_NAMESPACE::Buffer instanceData, | |
| 22418 DeviceSize instanceOffset, | |
| 22419 Bool32 update, | |
| 22420 VULKAN_HPP_NAMESPACE::AccelerationStructureNV dst, | |
| 22421 VULKAN_HPP_NAMESPACE::AccelerationStructureNV src, | |
| 22422 VULKAN_HPP_NAMESPACE::Buffer scratch, | |
| 22423 DeviceSize scratchOffset ) const VULKAN_HPP_NOEXCEPT | |
| 22424 { | |
| 22425 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBuildAccelerationStructureNV && "Function <vkCmdBuildAccelerationStructureNV> requires <VK_NV_ray_tracing>" ); | |
| 22426 | |
| 22427 getDispatcher()->vkCmdBuildAccelerationStructureNV( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 22428 reinterpret_cast<const VkAccelerationStructureInfoNV *>( &info ), | |
| 22429 static_cast<VkBuffer>( instanceData ), | |
| 22430 static_cast<VkDeviceSize>( instanceOffset ), | |
| 22431 static_cast<VkBool32>( update ), | |
| 22432 static_cast<VkAccelerationStructureNV>( dst ), | |
| 22433 static_cast<VkAccelerationStructureNV>( src ), | |
| 22434 static_cast<VkBuffer>( scratch ), | |
| 22435 static_cast<VkDeviceSize>( scratchOffset ) ); | |
| 22436 } | |
| 22437 | |
| 22438 // wrapper function for command vkCmdCopyAccelerationStructureNV, see | |
| 22439 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyAccelerationStructureNV.html | |
| 22440 VULKAN_HPP_INLINE void CommandBuffer::copyAccelerationStructureNV( VULKAN_HPP_NAMESPACE::AccelerationStructureNV dst, | |
| 22441 VULKAN_HPP_NAMESPACE::AccelerationStructureNV src, | |
| 22442 CopyAccelerationStructureModeKHR mode ) const VULKAN_HPP_NOEXCEPT | |
| 22443 { | |
| 22444 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyAccelerationStructureNV && "Function <vkCmdCopyAccelerationStructureNV> requires <VK_NV_ray_tracing>" ); | |
| 22445 | |
| 22446 getDispatcher()->vkCmdCopyAccelerationStructureNV( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 22447 static_cast<VkAccelerationStructureNV>( dst ), | |
| 22448 static_cast<VkAccelerationStructureNV>( src ), | |
| 22449 static_cast<VkCopyAccelerationStructureModeKHR>( mode ) ); | |
| 22450 } | |
| 22451 | |
| 22452 // wrapper function for command vkCmdTraceRaysNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdTraceRaysNV.html | |
| 22453 VULKAN_HPP_INLINE void CommandBuffer::traceRaysNV( VULKAN_HPP_NAMESPACE::Buffer raygenShaderBindingTableBuffer, | |
| 22454 DeviceSize raygenShaderBindingOffset, | |
| 22455 VULKAN_HPP_NAMESPACE::Buffer missShaderBindingTableBuffer, | |
| 22456 DeviceSize missShaderBindingOffset, | |
| 22457 DeviceSize missShaderBindingStride, | |
| 22458 VULKAN_HPP_NAMESPACE::Buffer hitShaderBindingTableBuffer, | |
| 22459 DeviceSize hitShaderBindingOffset, | |
| 22460 DeviceSize hitShaderBindingStride, | |
| 22461 VULKAN_HPP_NAMESPACE::Buffer callableShaderBindingTableBuffer, | |
| 22462 DeviceSize callableShaderBindingOffset, | |
| 22463 DeviceSize callableShaderBindingStride, | |
| 22464 uint32_t width, | |
| 22465 uint32_t height, | |
| 22466 uint32_t depth ) const VULKAN_HPP_NOEXCEPT | |
| 22467 { | |
| 22468 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdTraceRaysNV && "Function <vkCmdTraceRaysNV> requires <VK_NV_ray_tracing>" ); | |
| 22469 | |
| 22470 getDispatcher()->vkCmdTraceRaysNV( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 22471 static_cast<VkBuffer>( raygenShaderBindingTableBuffer ), | |
| 22472 static_cast<VkDeviceSize>( raygenShaderBindingOffset ), | |
| 22473 static_cast<VkBuffer>( missShaderBindingTableBuffer ), | |
| 22474 static_cast<VkDeviceSize>( missShaderBindingOffset ), | |
| 22475 static_cast<VkDeviceSize>( missShaderBindingStride ), | |
| 22476 static_cast<VkBuffer>( hitShaderBindingTableBuffer ), | |
| 22477 static_cast<VkDeviceSize>( hitShaderBindingOffset ), | |
| 22478 static_cast<VkDeviceSize>( hitShaderBindingStride ), | |
| 22479 static_cast<VkBuffer>( callableShaderBindingTableBuffer ), | |
| 22480 static_cast<VkDeviceSize>( callableShaderBindingOffset ), | |
| 22481 static_cast<VkDeviceSize>( callableShaderBindingStride ), | |
| 22482 width, | |
| 22483 height, | |
| 22484 depth ); | |
| 22485 } | |
| 22486 | |
| 22487 // wrapper function for command vkCreateRayTracingPipelinesNV, see | |
| 22488 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesNV.html | |
| 22489 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<Pipeline>>::type | |
| 22490 Device::createRayTracingPipelinesNV( Optional<const PipelineCache> const & pipelineCache, | |
| 22491 ArrayProxy<RayTracingPipelineCreateInfoNV> const & createInfos, | |
| 22492 Optional<const AllocationCallbacks> allocator ) const | |
| 22493 { | |
| 22494 std::vector<VULKAN_HPP_NAMESPACE::Pipeline> pipelines( createInfos.size() ); | |
| 22495 Result result = | |
| 22496 static_cast<Result>( getDispatcher()->vkCreateRayTracingPipelinesNV( static_cast<VkDevice>( m_device ), | |
| 22497 pipelineCache ? static_cast<VkPipelineCache>( **pipelineCache ) : 0, | |
| 22498 createInfos.size(), | |
| 22499 reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>( createInfos.data() ), | |
| 22500 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 22501 reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); | |
| 22502 VULKAN_HPP_NAMESPACE::detail::resultCheck( | |
| 22503 result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createRayTracingPipelinesNV", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); | |
| 22504 std::vector<Pipeline> pipelinesRAII; | |
| 22505 if ( result == Result::eSuccess ) | |
| 22506 { | |
| 22507 pipelinesRAII.reserve( pipelines.size() ); | |
| 22508 for ( auto & pipeline : pipelines ) | |
| 22509 { | |
| 22510 pipelinesRAII.emplace_back( *this, *reinterpret_cast<VkPipeline *>( &pipeline ), allocator, result ); | |
| 22511 } | |
| 22512 } | |
| 22513 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pipelinesRAII ) ); | |
| 22514 } | |
| 22515 | |
| 22516 // wrapper function for command vkCreateRayTracingPipelinesNV, see | |
| 22517 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesNV.html | |
| 22518 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<Pipeline>::type | |
| 22519 Device::createRayTracingPipelineNV( Optional<const PipelineCache> const & pipelineCache, | |
| 22520 RayTracingPipelineCreateInfoNV const & createInfo, | |
| 22521 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 22522 { | |
| 22523 VULKAN_HPP_NAMESPACE::Pipeline pipeline; | |
| 22524 Result result = | |
| 22525 static_cast<Result>( getDispatcher()->vkCreateRayTracingPipelinesNV( static_cast<VkDevice>( m_device ), | |
| 22526 pipelineCache ? static_cast<VkPipelineCache>( **pipelineCache ) : 0, | |
| 22527 1, | |
| 22528 reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>( &createInfo ), | |
| 22529 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 22530 reinterpret_cast<VkPipeline *>( &pipeline ) ) ); | |
| 22531 VULKAN_HPP_NAMESPACE::detail::resultCheck( | |
| 22532 result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createRayTracingPipelineNV", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); | |
| 22533 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Pipeline( *this, *reinterpret_cast<VkPipeline *>( &pipeline ), allocator, result ) ); | |
| 22534 } | |
| 22535 | |
| 22536 // wrapper function for command vkGetRayTracingShaderGroupHandlesNV, see | |
| 22537 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupHandlesNV.html | |
| 22538 template <typename DataType> | |
| 22539 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DataType>>::type | |
| 22540 Pipeline::getRayTracingShaderGroupHandlesNV( uint32_t firstGroup, uint32_t groupCount, size_t dataSize ) const | |
| 22541 { | |
| 22542 VULKAN_HPP_ASSERT( getDispatcher()->vkGetRayTracingShaderGroupHandlesNV && | |
| 22543 "Function <vkGetRayTracingShaderGroupHandlesNV> requires <VK_KHR_ray_tracing_pipeline> or <VK_NV_ray_tracing>" ); | |
| 22544 | |
| 22545 VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); | |
| 22546 std::vector<DataType> data( dataSize / sizeof( DataType ) ); | |
| 22547 Result result = static_cast<Result>( getDispatcher()->vkGetRayTracingShaderGroupHandlesNV( static_cast<VkDevice>( m_device ), | |
| 22548 static_cast<VkPipeline>( m_pipeline ), | |
| 22549 firstGroup, | |
| 22550 groupCount, | |
| 22551 data.size() * sizeof( DataType ), | |
| 22552 reinterpret_cast<void *>( data.data() ) ) ); | |
| 22553 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::getRayTracingShaderGroupHandlesNV" ); | |
| 22554 | |
| 22555 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); | |
| 22556 } | |
| 22557 | |
| 22558 // wrapper function for command vkGetRayTracingShaderGroupHandlesNV, see | |
| 22559 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupHandlesNV.html | |
| 22560 template <typename DataType> | |
| 22561 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type Pipeline::getRayTracingShaderGroupHandleNV( uint32_t firstGroup, | |
| 22562 uint32_t groupCount ) const | |
| 22563 { | |
| 22564 VULKAN_HPP_ASSERT( getDispatcher()->vkGetRayTracingShaderGroupHandlesNV && | |
| 22565 "Function <vkGetRayTracingShaderGroupHandlesNV> requires <VK_KHR_ray_tracing_pipeline> or <VK_NV_ray_tracing>" ); | |
| 22566 | |
| 22567 DataType data; | |
| 22568 Result result = static_cast<Result>( getDispatcher()->vkGetRayTracingShaderGroupHandlesNV( static_cast<VkDevice>( m_device ), | |
| 22569 static_cast<VkPipeline>( m_pipeline ), | |
| 22570 firstGroup, | |
| 22571 groupCount, | |
| 22572 sizeof( DataType ), | |
| 22573 reinterpret_cast<void *>( &data ) ) ); | |
| 22574 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::getRayTracingShaderGroupHandleNV" ); | |
| 22575 | |
| 22576 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); | |
| 22577 } | |
| 22578 | |
| 22579 // wrapper function for command vkGetAccelerationStructureHandleNV, see | |
| 22580 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureHandleNV.html | |
| 22581 template <typename DataType> | |
| 22582 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DataType>>::type AccelerationStructureNV::getHandle( size_t dataSize ) const | |
| 22583 { | |
| 22584 VULKAN_HPP_ASSERT( getDispatcher()->vkGetAccelerationStructureHandleNV && "Function <vkGetAccelerationStructureHandleNV> requires <VK_NV_ray_tracing>" ); | |
| 22585 | |
| 22586 VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); | |
| 22587 std::vector<DataType> data( dataSize / sizeof( DataType ) ); | |
| 22588 Result result = | |
| 22589 static_cast<Result>( getDispatcher()->vkGetAccelerationStructureHandleNV( static_cast<VkDevice>( m_device ), | |
| 22590 static_cast<VkAccelerationStructureNV>( m_accelerationStructureNV ), | |
| 22591 data.size() * sizeof( DataType ), | |
| 22592 reinterpret_cast<void *>( data.data() ) ) ); | |
| 22593 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::AccelerationStructureNV::getHandle" ); | |
| 22594 | |
| 22595 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); | |
| 22596 } | |
| 22597 | |
| 22598 // wrapper function for command vkGetAccelerationStructureHandleNV, see | |
| 22599 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureHandleNV.html | |
| 22600 template <typename DataType> | |
| 22601 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type AccelerationStructureNV::getHandle() const | |
| 22602 { | |
| 22603 VULKAN_HPP_ASSERT( getDispatcher()->vkGetAccelerationStructureHandleNV && "Function <vkGetAccelerationStructureHandleNV> requires <VK_NV_ray_tracing>" ); | |
| 22604 | |
| 22605 DataType data; | |
| 22606 Result result = | |
| 22607 static_cast<Result>( getDispatcher()->vkGetAccelerationStructureHandleNV( static_cast<VkDevice>( m_device ), | |
| 22608 static_cast<VkAccelerationStructureNV>( m_accelerationStructureNV ), | |
| 22609 sizeof( DataType ), | |
| 22610 reinterpret_cast<void *>( &data ) ) ); | |
| 22611 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::AccelerationStructureNV::getHandle" ); | |
| 22612 | |
| 22613 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); | |
| 22614 } | |
| 22615 | |
| 22616 // wrapper function for command vkCmdWriteAccelerationStructuresPropertiesNV, see | |
| 22617 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteAccelerationStructuresPropertiesNV.html | |
| 22618 VULKAN_HPP_INLINE void | |
| 22619 CommandBuffer::writeAccelerationStructuresPropertiesNV( ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureNV> const & accelerationStructures, | |
| 22620 QueryType queryType, | |
| 22621 VULKAN_HPP_NAMESPACE::QueryPool queryPool, | |
| 22622 uint32_t firstQuery ) const VULKAN_HPP_NOEXCEPT | |
| 22623 { | |
| 22624 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdWriteAccelerationStructuresPropertiesNV && | |
| 22625 "Function <vkCmdWriteAccelerationStructuresPropertiesNV> requires <VK_NV_ray_tracing>" ); | |
| 22626 | |
| 22627 getDispatcher()->vkCmdWriteAccelerationStructuresPropertiesNV( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 22628 accelerationStructures.size(), | |
| 22629 reinterpret_cast<const VkAccelerationStructureNV *>( accelerationStructures.data() ), | |
| 22630 static_cast<VkQueryType>( queryType ), | |
| 22631 static_cast<VkQueryPool>( queryPool ), | |
| 22632 firstQuery ); | |
| 22633 } | |
| 22634 | |
| 22635 // wrapper function for command vkCompileDeferredNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCompileDeferredNV.html | |
| 22636 VULKAN_HPP_INLINE typename ResultValueType<void>::type Pipeline::compileDeferredNV( uint32_t shader ) const | |
| 22637 { | |
| 22638 VULKAN_HPP_ASSERT( getDispatcher()->vkCompileDeferredNV && "Function <vkCompileDeferredNV> requires <VK_NV_ray_tracing>" ); | |
| 22639 | |
| 22640 Result result = | |
| 22641 static_cast<Result>( getDispatcher()->vkCompileDeferredNV( static_cast<VkDevice>( m_device ), static_cast<VkPipeline>( m_pipeline ), shader ) ); | |
| 22642 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::compileDeferredNV" ); | |
| 22643 | |
| 22644 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 22645 } | |
| 22646 | |
| 22647 //=== VK_KHR_maintenance3 === | |
| 22648 | |
| 22649 // wrapper function for command vkGetDescriptorSetLayoutSupportKHR, see | |
| 22650 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSupportKHR.html | |
| 22651 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE DescriptorSetLayoutSupport | |
| 22652 Device::getDescriptorSetLayoutSupportKHR( const DescriptorSetLayoutCreateInfo & createInfo ) const VULKAN_HPP_NOEXCEPT | |
| 22653 { | |
| 22654 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDescriptorSetLayoutSupportKHR && | |
| 22655 "Function <vkGetDescriptorSetLayoutSupportKHR> requires <VK_KHR_maintenance3> or <VK_VERSION_1_1>" ); | |
| 22656 | |
| 22657 DescriptorSetLayoutSupport support; | |
| 22658 getDispatcher()->vkGetDescriptorSetLayoutSupportKHR( static_cast<VkDevice>( m_device ), | |
| 22659 reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( &createInfo ), | |
| 22660 reinterpret_cast<VkDescriptorSetLayoutSupport *>( &support ) ); | |
| 22661 | |
| 22662 return support; | |
| 22663 } | |
| 22664 | |
| 22665 // wrapper function for command vkGetDescriptorSetLayoutSupportKHR, see | |
| 22666 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSupportKHR.html | |
| 22667 template <typename X, typename Y, typename... Z> | |
| 22668 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> | |
| 22669 Device::getDescriptorSetLayoutSupportKHR( const DescriptorSetLayoutCreateInfo & createInfo ) const VULKAN_HPP_NOEXCEPT | |
| 22670 { | |
| 22671 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDescriptorSetLayoutSupportKHR && | |
| 22672 "Function <vkGetDescriptorSetLayoutSupportKHR> requires <VK_KHR_maintenance3> or <VK_VERSION_1_1>" ); | |
| 22673 | |
| 22674 StructureChain<X, Y, Z...> structureChain; | |
| 22675 DescriptorSetLayoutSupport & support = structureChain.template get<DescriptorSetLayoutSupport>(); | |
| 22676 getDispatcher()->vkGetDescriptorSetLayoutSupportKHR( static_cast<VkDevice>( m_device ), | |
| 22677 reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( &createInfo ), | |
| 22678 reinterpret_cast<VkDescriptorSetLayoutSupport *>( &support ) ); | |
| 22679 | |
| 22680 return structureChain; | |
| 22681 } | |
| 22682 | |
| 22683 //=== VK_KHR_draw_indirect_count === | |
| 22684 | |
| 22685 // wrapper function for command vkCmdDrawIndirectCountKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectCountKHR.html | |
| 22686 VULKAN_HPP_INLINE void CommandBuffer::drawIndirectCountKHR( VULKAN_HPP_NAMESPACE::Buffer buffer, | |
| 22687 DeviceSize offset, | |
| 22688 VULKAN_HPP_NAMESPACE::Buffer countBuffer, | |
| 22689 DeviceSize countBufferOffset, | |
| 22690 uint32_t maxDrawCount, | |
| 22691 uint32_t stride ) const VULKAN_HPP_NOEXCEPT | |
| 22692 { | |
| 22693 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDrawIndirectCountKHR && | |
| 22694 "Function <vkCmdDrawIndirectCountKHR> requires <VK_AMD_draw_indirect_count> or <VK_KHR_draw_indirect_count> or <VK_VERSION_1_2>" ); | |
| 22695 | |
| 22696 getDispatcher()->vkCmdDrawIndirectCountKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 22697 static_cast<VkBuffer>( buffer ), | |
| 22698 static_cast<VkDeviceSize>( offset ), | |
| 22699 static_cast<VkBuffer>( countBuffer ), | |
| 22700 static_cast<VkDeviceSize>( countBufferOffset ), | |
| 22701 maxDrawCount, | |
| 22702 stride ); | |
| 22703 } | |
| 22704 | |
| 22705 // wrapper function for command vkCmdDrawIndexedIndirectCountKHR, see | |
| 22706 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexedIndirectCountKHR.html | |
| 22707 VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirectCountKHR( VULKAN_HPP_NAMESPACE::Buffer buffer, | |
| 22708 DeviceSize offset, | |
| 22709 VULKAN_HPP_NAMESPACE::Buffer countBuffer, | |
| 22710 DeviceSize countBufferOffset, | |
| 22711 uint32_t maxDrawCount, | |
| 22712 uint32_t stride ) const VULKAN_HPP_NOEXCEPT | |
| 22713 { | |
| 22714 VULKAN_HPP_ASSERT( | |
| 22715 getDispatcher()->vkCmdDrawIndexedIndirectCountKHR && | |
| 22716 "Function <vkCmdDrawIndexedIndirectCountKHR> requires <VK_AMD_draw_indirect_count> or <VK_KHR_draw_indirect_count> or <VK_VERSION_1_2>" ); | |
| 22717 | |
| 22718 getDispatcher()->vkCmdDrawIndexedIndirectCountKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 22719 static_cast<VkBuffer>( buffer ), | |
| 22720 static_cast<VkDeviceSize>( offset ), | |
| 22721 static_cast<VkBuffer>( countBuffer ), | |
| 22722 static_cast<VkDeviceSize>( countBufferOffset ), | |
| 22723 maxDrawCount, | |
| 22724 stride ); | |
| 22725 } | |
| 22726 | |
| 22727 //=== VK_EXT_external_memory_host === | |
| 22728 | |
| 22729 // wrapper function for command vkGetMemoryHostPointerPropertiesEXT, see | |
| 22730 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryHostPointerPropertiesEXT.html | |
| 22731 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<MemoryHostPointerPropertiesEXT>::type | |
| 22732 Device::getMemoryHostPointerPropertiesEXT( ExternalMemoryHandleTypeFlagBits handleType, const void * pHostPointer ) const | |
| 22733 { | |
| 22734 VULKAN_HPP_ASSERT( getDispatcher()->vkGetMemoryHostPointerPropertiesEXT && | |
| 22735 "Function <vkGetMemoryHostPointerPropertiesEXT> requires <VK_EXT_external_memory_host>" ); | |
| 22736 | |
| 22737 MemoryHostPointerPropertiesEXT memoryHostPointerProperties; | |
| 22738 Result result = static_cast<Result>( | |
| 22739 getDispatcher()->vkGetMemoryHostPointerPropertiesEXT( static_cast<VkDevice>( m_device ), | |
| 22740 static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ), | |
| 22741 pHostPointer, | |
| 22742 reinterpret_cast<VkMemoryHostPointerPropertiesEXT *>( &memoryHostPointerProperties ) ) ); | |
| 22743 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryHostPointerPropertiesEXT" ); | |
| 22744 | |
| 22745 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( memoryHostPointerProperties ) ); | |
| 22746 } | |
| 22747 | |
| 22748 //=== VK_AMD_buffer_marker === | |
| 22749 | |
| 22750 // wrapper function for command vkCmdWriteBufferMarkerAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteBufferMarkerAMD.html | |
| 22751 VULKAN_HPP_INLINE void CommandBuffer::writeBufferMarkerAMD( PipelineStageFlagBits pipelineStage, | |
| 22752 VULKAN_HPP_NAMESPACE::Buffer dstBuffer, | |
| 22753 DeviceSize dstOffset, | |
| 22754 uint32_t marker ) const VULKAN_HPP_NOEXCEPT | |
| 22755 { | |
| 22756 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdWriteBufferMarkerAMD && "Function <vkCmdWriteBufferMarkerAMD> requires <VK_AMD_buffer_marker>" ); | |
| 22757 | |
| 22758 getDispatcher()->vkCmdWriteBufferMarkerAMD( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 22759 static_cast<VkPipelineStageFlagBits>( pipelineStage ), | |
| 22760 static_cast<VkBuffer>( dstBuffer ), | |
| 22761 static_cast<VkDeviceSize>( dstOffset ), | |
| 22762 marker ); | |
| 22763 } | |
| 22764 | |
| 22765 // wrapper function for command vkCmdWriteBufferMarker2AMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteBufferMarker2AMD.html | |
| 22766 VULKAN_HPP_INLINE void CommandBuffer::writeBufferMarker2AMD( PipelineStageFlags2 stage, | |
| 22767 VULKAN_HPP_NAMESPACE::Buffer dstBuffer, | |
| 22768 DeviceSize dstOffset, | |
| 22769 uint32_t marker ) const VULKAN_HPP_NOEXCEPT | |
| 22770 { | |
| 22771 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdWriteBufferMarker2AMD && "Function <vkCmdWriteBufferMarker2AMD> requires <VK_AMD_buffer_marker>" ); | |
| 22772 | |
| 22773 getDispatcher()->vkCmdWriteBufferMarker2AMD( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 22774 static_cast<VkPipelineStageFlags2>( stage ), | |
| 22775 static_cast<VkBuffer>( dstBuffer ), | |
| 22776 static_cast<VkDeviceSize>( dstOffset ), | |
| 22777 marker ); | |
| 22778 } | |
| 22779 | |
| 22780 //=== VK_EXT_calibrated_timestamps === | |
| 22781 | |
| 22782 // wrapper function for command vkGetPhysicalDeviceCalibrateableTimeDomainsEXT, see | |
| 22783 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCalibrateableTimeDomainsEXT.html | |
| 22784 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<TimeDomainKHR>>::type PhysicalDevice::getCalibrateableTimeDomainsEXT() const | |
| 22785 { | |
| 22786 VULKAN_HPP_ASSERT( | |
| 22787 getDispatcher()->vkGetPhysicalDeviceCalibrateableTimeDomainsEXT && | |
| 22788 "Function <vkGetPhysicalDeviceCalibrateableTimeDomainsEXT> requires <VK_EXT_calibrated_timestamps> or <VK_KHR_calibrated_timestamps>" ); | |
| 22789 | |
| 22790 std::vector<TimeDomainKHR> timeDomains; | |
| 22791 uint32_t timeDomainCount; | |
| 22792 Result result; | |
| 22793 do | |
| 22794 { | |
| 22795 result = static_cast<Result>( | |
| 22796 getDispatcher()->vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( static_cast<VkPhysicalDevice>( m_physicalDevice ), &timeDomainCount, nullptr ) ); | |
| 22797 if ( ( result == Result::eSuccess ) && timeDomainCount ) | |
| 22798 { | |
| 22799 timeDomains.resize( timeDomainCount ); | |
| 22800 result = static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( | |
| 22801 static_cast<VkPhysicalDevice>( m_physicalDevice ), &timeDomainCount, reinterpret_cast<VkTimeDomainKHR *>( timeDomains.data() ) ) ); | |
| 22802 } | |
| 22803 } while ( result == Result::eIncomplete ); | |
| 22804 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getCalibrateableTimeDomainsEXT" ); | |
| 22805 VULKAN_HPP_ASSERT( timeDomainCount <= timeDomains.size() ); | |
| 22806 if ( timeDomainCount < timeDomains.size() ) | |
| 22807 { | |
| 22808 timeDomains.resize( timeDomainCount ); | |
| 22809 } | |
| 22810 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( timeDomains ) ); | |
| 22811 } | |
| 22812 | |
| 22813 // wrapper function for command vkGetCalibratedTimestampsEXT, see | |
| 22814 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsEXT.html | |
| 22815 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::pair<std::vector<uint64_t>, uint64_t>>::type | |
| 22816 Device::getCalibratedTimestampsEXT( ArrayProxy<const CalibratedTimestampInfoKHR> const & timestampInfos ) const | |
| 22817 { | |
| 22818 VULKAN_HPP_ASSERT( getDispatcher()->vkGetCalibratedTimestampsEXT && | |
| 22819 "Function <vkGetCalibratedTimestampsEXT> requires <VK_EXT_calibrated_timestamps> or <VK_KHR_calibrated_timestamps>" ); | |
| 22820 | |
| 22821 std::pair<std::vector<uint64_t>, uint64_t> data_( std::piecewise_construct, std::forward_as_tuple( timestampInfos.size() ), std::forward_as_tuple( 0 ) ); | |
| 22822 std::vector<uint64_t> & timestamps = data_.first; | |
| 22823 uint64_t & maxDeviation = data_.second; | |
| 22824 Result result = | |
| 22825 static_cast<Result>( getDispatcher()->vkGetCalibratedTimestampsEXT( static_cast<VkDevice>( m_device ), | |
| 22826 timestampInfos.size(), | |
| 22827 reinterpret_cast<const VkCalibratedTimestampInfoKHR *>( timestampInfos.data() ), | |
| 22828 timestamps.data(), | |
| 22829 &maxDeviation ) ); | |
| 22830 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getCalibratedTimestampsEXT" ); | |
| 22831 | |
| 22832 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); | |
| 22833 } | |
| 22834 | |
| 22835 // wrapper function for command vkGetCalibratedTimestampsEXT, see | |
| 22836 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsEXT.html | |
| 22837 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::pair<uint64_t, uint64_t>>::type | |
| 22838 Device::getCalibratedTimestampEXT( const CalibratedTimestampInfoKHR & timestampInfo ) const | |
| 22839 { | |
| 22840 VULKAN_HPP_ASSERT( getDispatcher()->vkGetCalibratedTimestampsEXT && | |
| 22841 "Function <vkGetCalibratedTimestampsEXT> requires <VK_EXT_calibrated_timestamps> or <VK_KHR_calibrated_timestamps>" ); | |
| 22842 | |
| 22843 std::pair<uint64_t, uint64_t> data_; | |
| 22844 uint64_t & timestamp = data_.first; | |
| 22845 uint64_t & maxDeviation = data_.second; | |
| 22846 Result result = static_cast<Result>( getDispatcher()->vkGetCalibratedTimestampsEXT( | |
| 22847 static_cast<VkDevice>( m_device ), 1, reinterpret_cast<const VkCalibratedTimestampInfoKHR *>( ×tampInfo ), ×tamp, &maxDeviation ) ); | |
| 22848 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getCalibratedTimestampEXT" ); | |
| 22849 | |
| 22850 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); | |
| 22851 } | |
| 22852 | |
| 22853 //=== VK_NV_mesh_shader === | |
| 22854 | |
| 22855 // wrapper function for command vkCmdDrawMeshTasksNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksNV.html | |
| 22856 VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksNV( uint32_t taskCount, uint32_t firstTask ) const VULKAN_HPP_NOEXCEPT | |
| 22857 { | |
| 22858 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDrawMeshTasksNV && "Function <vkCmdDrawMeshTasksNV> requires <VK_NV_mesh_shader>" ); | |
| 22859 | |
| 22860 getDispatcher()->vkCmdDrawMeshTasksNV( static_cast<VkCommandBuffer>( m_commandBuffer ), taskCount, firstTask ); | |
| 22861 } | |
| 22862 | |
| 22863 // wrapper function for command vkCmdDrawMeshTasksIndirectNV, see | |
| 22864 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksIndirectNV.html | |
| 22865 VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksIndirectNV( VULKAN_HPP_NAMESPACE::Buffer buffer, | |
| 22866 DeviceSize offset, | |
| 22867 uint32_t drawCount, | |
| 22868 uint32_t stride ) const VULKAN_HPP_NOEXCEPT | |
| 22869 { | |
| 22870 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDrawMeshTasksIndirectNV && "Function <vkCmdDrawMeshTasksIndirectNV> requires <VK_NV_mesh_shader>" ); | |
| 22871 | |
| 22872 getDispatcher()->vkCmdDrawMeshTasksIndirectNV( | |
| 22873 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBuffer>( buffer ), static_cast<VkDeviceSize>( offset ), drawCount, stride ); | |
| 22874 } | |
| 22875 | |
| 22876 // wrapper function for command vkCmdDrawMeshTasksIndirectCountNV, see | |
| 22877 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksIndirectCountNV.html | |
| 22878 VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksIndirectCountNV( VULKAN_HPP_NAMESPACE::Buffer buffer, | |
| 22879 DeviceSize offset, | |
| 22880 VULKAN_HPP_NAMESPACE::Buffer countBuffer, | |
| 22881 DeviceSize countBufferOffset, | |
| 22882 uint32_t maxDrawCount, | |
| 22883 uint32_t stride ) const VULKAN_HPP_NOEXCEPT | |
| 22884 { | |
| 22885 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDrawMeshTasksIndirectCountNV && "Function <vkCmdDrawMeshTasksIndirectCountNV> requires <VK_NV_mesh_shader>" ); | |
| 22886 | |
| 22887 getDispatcher()->vkCmdDrawMeshTasksIndirectCountNV( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 22888 static_cast<VkBuffer>( buffer ), | |
| 22889 static_cast<VkDeviceSize>( offset ), | |
| 22890 static_cast<VkBuffer>( countBuffer ), | |
| 22891 static_cast<VkDeviceSize>( countBufferOffset ), | |
| 22892 maxDrawCount, | |
| 22893 stride ); | |
| 22894 } | |
| 22895 | |
| 22896 //=== VK_NV_scissor_exclusive === | |
| 22897 | |
| 22898 // wrapper function for command vkCmdSetExclusiveScissorEnableNV, see | |
| 22899 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetExclusiveScissorEnableNV.html | |
| 22900 VULKAN_HPP_INLINE void CommandBuffer::setExclusiveScissorEnableNV( uint32_t firstExclusiveScissor, | |
| 22901 ArrayProxy<const Bool32> const & exclusiveScissorEnables ) const VULKAN_HPP_NOEXCEPT | |
| 22902 { | |
| 22903 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetExclusiveScissorEnableNV && | |
| 22904 "Function <vkCmdSetExclusiveScissorEnableNV> requires <VK_NV_scissor_exclusive>" ); | |
| 22905 | |
| 22906 getDispatcher()->vkCmdSetExclusiveScissorEnableNV( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 22907 firstExclusiveScissor, | |
| 22908 exclusiveScissorEnables.size(), | |
| 22909 reinterpret_cast<const VkBool32 *>( exclusiveScissorEnables.data() ) ); | |
| 22910 } | |
| 22911 | |
| 22912 // wrapper function for command vkCmdSetExclusiveScissorNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetExclusiveScissorNV.html | |
| 22913 VULKAN_HPP_INLINE void CommandBuffer::setExclusiveScissorNV( uint32_t firstExclusiveScissor, | |
| 22914 ArrayProxy<const Rect2D> const & exclusiveScissors ) const VULKAN_HPP_NOEXCEPT | |
| 22915 { | |
| 22916 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetExclusiveScissorNV && "Function <vkCmdSetExclusiveScissorNV> requires <VK_NV_scissor_exclusive>" ); | |
| 22917 | |
| 22918 getDispatcher()->vkCmdSetExclusiveScissorNV( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 22919 firstExclusiveScissor, | |
| 22920 exclusiveScissors.size(), | |
| 22921 reinterpret_cast<const VkRect2D *>( exclusiveScissors.data() ) ); | |
| 22922 } | |
| 22923 | |
| 22924 //=== VK_NV_device_diagnostic_checkpoints === | |
| 22925 | |
| 22926 // wrapper function for command vkCmdSetCheckpointNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCheckpointNV.html | |
| 22927 template <typename CheckpointMarkerType> | |
| 22928 VULKAN_HPP_INLINE void CommandBuffer::setCheckpointNV( CheckpointMarkerType const & checkpointMarker ) const VULKAN_HPP_NOEXCEPT | |
| 22929 { | |
| 22930 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetCheckpointNV && "Function <vkCmdSetCheckpointNV> requires <VK_NV_device_diagnostic_checkpoints>" ); | |
| 22931 | |
| 22932 getDispatcher()->vkCmdSetCheckpointNV( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const void *>( &checkpointMarker ) ); | |
| 22933 } | |
| 22934 | |
| 22935 // wrapper function for command vkGetQueueCheckpointDataNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueueCheckpointDataNV.html | |
| 22936 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<CheckpointDataNV> Queue::getCheckpointDataNV() const | |
| 22937 { | |
| 22938 VULKAN_HPP_ASSERT( getDispatcher()->vkGetQueueCheckpointDataNV && | |
| 22939 "Function <vkGetQueueCheckpointDataNV> requires <VK_NV_device_diagnostic_checkpoints>" ); | |
| 22940 | |
| 22941 std::vector<CheckpointDataNV> checkpointData; | |
| 22942 uint32_t checkpointDataCount; | |
| 22943 getDispatcher()->vkGetQueueCheckpointDataNV( static_cast<VkQueue>( m_queue ), &checkpointDataCount, nullptr ); | |
| 22944 checkpointData.resize( checkpointDataCount ); | |
| 22945 getDispatcher()->vkGetQueueCheckpointDataNV( | |
| 22946 static_cast<VkQueue>( m_queue ), &checkpointDataCount, reinterpret_cast<VkCheckpointDataNV *>( checkpointData.data() ) ); | |
| 22947 | |
| 22948 VULKAN_HPP_ASSERT( checkpointDataCount <= checkpointData.size() ); | |
| 22949 if ( checkpointDataCount < checkpointData.size() ) | |
| 22950 { | |
| 22951 checkpointData.resize( checkpointDataCount ); | |
| 22952 } | |
| 22953 return checkpointData; | |
| 22954 } | |
| 22955 | |
| 22956 // wrapper function for command vkGetQueueCheckpointData2NV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueueCheckpointData2NV.html | |
| 22957 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<CheckpointData2NV> Queue::getCheckpointData2NV() const | |
| 22958 { | |
| 22959 VULKAN_HPP_ASSERT( getDispatcher()->vkGetQueueCheckpointData2NV && | |
| 22960 "Function <vkGetQueueCheckpointData2NV> requires <VK_NV_device_diagnostic_checkpoints>" ); | |
| 22961 | |
| 22962 std::vector<CheckpointData2NV> checkpointData; | |
| 22963 uint32_t checkpointDataCount; | |
| 22964 getDispatcher()->vkGetQueueCheckpointData2NV( static_cast<VkQueue>( m_queue ), &checkpointDataCount, nullptr ); | |
| 22965 checkpointData.resize( checkpointDataCount ); | |
| 22966 getDispatcher()->vkGetQueueCheckpointData2NV( | |
| 22967 static_cast<VkQueue>( m_queue ), &checkpointDataCount, reinterpret_cast<VkCheckpointData2NV *>( checkpointData.data() ) ); | |
| 22968 | |
| 22969 VULKAN_HPP_ASSERT( checkpointDataCount <= checkpointData.size() ); | |
| 22970 if ( checkpointDataCount < checkpointData.size() ) | |
| 22971 { | |
| 22972 checkpointData.resize( checkpointDataCount ); | |
| 22973 } | |
| 22974 return checkpointData; | |
| 22975 } | |
| 22976 | |
| 22977 //=== VK_KHR_timeline_semaphore === | |
| 22978 | |
| 22979 // wrapper function for command vkGetSemaphoreCounterValueKHR, see | |
| 22980 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreCounterValueKHR.html | |
| 22981 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<uint64_t>::type Semaphore::getCounterValueKHR() const | |
| 22982 { | |
| 22983 VULKAN_HPP_ASSERT( getDispatcher()->vkGetSemaphoreCounterValueKHR && | |
| 22984 "Function <vkGetSemaphoreCounterValueKHR> requires <VK_KHR_timeline_semaphore> or <VK_VERSION_1_2>" ); | |
| 22985 | |
| 22986 uint64_t value; | |
| 22987 Result result = static_cast<Result>( | |
| 22988 getDispatcher()->vkGetSemaphoreCounterValueKHR( static_cast<VkDevice>( m_device ), static_cast<VkSemaphore>( m_semaphore ), &value ) ); | |
| 22989 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Semaphore::getCounterValueKHR" ); | |
| 22990 | |
| 22991 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( value ) ); | |
| 22992 } | |
| 22993 | |
| 22994 // wrapper function for command vkWaitSemaphoresKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitSemaphoresKHR.html | |
| 22995 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::waitSemaphoresKHR( const SemaphoreWaitInfo & waitInfo, uint64_t timeout ) const | |
| 22996 { | |
| 22997 VULKAN_HPP_ASSERT( getDispatcher()->vkWaitSemaphoresKHR && "Function <vkWaitSemaphoresKHR> requires <VK_KHR_timeline_semaphore> or <VK_VERSION_1_2>" ); | |
| 22998 | |
| 22999 Result result = static_cast<Result>( | |
| 23000 getDispatcher()->vkWaitSemaphoresKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSemaphoreWaitInfo *>( &waitInfo ), timeout ) ); | |
| 23001 VULKAN_HPP_NAMESPACE::detail::resultCheck( | |
| 23002 result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::waitSemaphoresKHR", { Result::eSuccess, Result::eTimeout } ); | |
| 23003 | |
| 23004 return static_cast<Result>( result ); | |
| 23005 } | |
| 23006 | |
| 23007 // wrapper function for command vkSignalSemaphoreKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSignalSemaphoreKHR.html | |
| 23008 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::signalSemaphoreKHR( const SemaphoreSignalInfo & signalInfo ) const | |
| 23009 { | |
| 23010 VULKAN_HPP_ASSERT( getDispatcher()->vkSignalSemaphoreKHR && "Function <vkSignalSemaphoreKHR> requires <VK_KHR_timeline_semaphore> or <VK_VERSION_1_2>" ); | |
| 23011 | |
| 23012 Result result = static_cast<Result>( | |
| 23013 getDispatcher()->vkSignalSemaphoreKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSemaphoreSignalInfo *>( &signalInfo ) ) ); | |
| 23014 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::signalSemaphoreKHR" ); | |
| 23015 | |
| 23016 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 23017 } | |
| 23018 | |
| 23019 //=== VK_INTEL_performance_query === | |
| 23020 | |
| 23021 // wrapper function for command vkInitializePerformanceApiINTEL, see | |
| 23022 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkInitializePerformanceApiINTEL.html | |
| 23023 VULKAN_HPP_INLINE typename ResultValueType<void>::type | |
| 23024 Device::initializePerformanceApiINTEL( const InitializePerformanceApiInfoINTEL & initializeInfo ) const | |
| 23025 { | |
| 23026 VULKAN_HPP_ASSERT( getDispatcher()->vkInitializePerformanceApiINTEL && | |
| 23027 "Function <vkInitializePerformanceApiINTEL> requires <VK_INTEL_performance_query>" ); | |
| 23028 | |
| 23029 Result result = static_cast<Result>( getDispatcher()->vkInitializePerformanceApiINTEL( | |
| 23030 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkInitializePerformanceApiInfoINTEL *>( &initializeInfo ) ) ); | |
| 23031 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::initializePerformanceApiINTEL" ); | |
| 23032 | |
| 23033 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 23034 } | |
| 23035 | |
| 23036 // wrapper function for command vkUninitializePerformanceApiINTEL, see | |
| 23037 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUninitializePerformanceApiINTEL.html | |
| 23038 VULKAN_HPP_INLINE void Device::uninitializePerformanceApiINTEL() const VULKAN_HPP_NOEXCEPT | |
| 23039 { | |
| 23040 VULKAN_HPP_ASSERT( getDispatcher()->vkUninitializePerformanceApiINTEL && | |
| 23041 "Function <vkUninitializePerformanceApiINTEL> requires <VK_INTEL_performance_query>" ); | |
| 23042 | |
| 23043 getDispatcher()->vkUninitializePerformanceApiINTEL( static_cast<VkDevice>( m_device ) ); | |
| 23044 } | |
| 23045 | |
| 23046 // wrapper function for command vkCmdSetPerformanceMarkerINTEL, see | |
| 23047 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPerformanceMarkerINTEL.html | |
| 23048 VULKAN_HPP_INLINE typename ResultValueType<void>::type CommandBuffer::setPerformanceMarkerINTEL( const PerformanceMarkerInfoINTEL & markerInfo ) const | |
| 23049 { | |
| 23050 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetPerformanceMarkerINTEL && "Function <vkCmdSetPerformanceMarkerINTEL> requires <VK_INTEL_performance_query>" ); | |
| 23051 | |
| 23052 Result result = static_cast<Result>( getDispatcher()->vkCmdSetPerformanceMarkerINTEL( | |
| 23053 static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkPerformanceMarkerInfoINTEL *>( &markerInfo ) ) ); | |
| 23054 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::CommandBuffer::setPerformanceMarkerINTEL" ); | |
| 23055 | |
| 23056 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 23057 } | |
| 23058 | |
| 23059 // wrapper function for command vkCmdSetPerformanceStreamMarkerINTEL, see | |
| 23060 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPerformanceStreamMarkerINTEL.html | |
| 23061 VULKAN_HPP_INLINE typename ResultValueType<void>::type | |
| 23062 CommandBuffer::setPerformanceStreamMarkerINTEL( const PerformanceStreamMarkerInfoINTEL & markerInfo ) const | |
| 23063 { | |
| 23064 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetPerformanceStreamMarkerINTEL && | |
| 23065 "Function <vkCmdSetPerformanceStreamMarkerINTEL> requires <VK_INTEL_performance_query>" ); | |
| 23066 | |
| 23067 Result result = static_cast<Result>( getDispatcher()->vkCmdSetPerformanceStreamMarkerINTEL( | |
| 23068 static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkPerformanceStreamMarkerInfoINTEL *>( &markerInfo ) ) ); | |
| 23069 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::CommandBuffer::setPerformanceStreamMarkerINTEL" ); | |
| 23070 | |
| 23071 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 23072 } | |
| 23073 | |
| 23074 // wrapper function for command vkCmdSetPerformanceOverrideINTEL, see | |
| 23075 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPerformanceOverrideINTEL.html | |
| 23076 VULKAN_HPP_INLINE typename ResultValueType<void>::type CommandBuffer::setPerformanceOverrideINTEL( const PerformanceOverrideInfoINTEL & overrideInfo ) const | |
| 23077 { | |
| 23078 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetPerformanceOverrideINTEL && | |
| 23079 "Function <vkCmdSetPerformanceOverrideINTEL> requires <VK_INTEL_performance_query>" ); | |
| 23080 | |
| 23081 Result result = static_cast<Result>( getDispatcher()->vkCmdSetPerformanceOverrideINTEL( | |
| 23082 static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkPerformanceOverrideInfoINTEL *>( &overrideInfo ) ) ); | |
| 23083 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::CommandBuffer::setPerformanceOverrideINTEL" ); | |
| 23084 | |
| 23085 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 23086 } | |
| 23087 | |
| 23088 // wrapper function for command vkAcquirePerformanceConfigurationINTEL, see | |
| 23089 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquirePerformanceConfigurationINTEL.html | |
| 23090 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<PerformanceConfigurationINTEL>::type | |
| 23091 Device::acquirePerformanceConfigurationINTEL( PerformanceConfigurationAcquireInfoINTEL const & acquireInfo ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 23092 { | |
| 23093 VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration; | |
| 23094 Result result = static_cast<Result>( | |
| 23095 getDispatcher()->vkAcquirePerformanceConfigurationINTEL( static_cast<VkDevice>( m_device ), | |
| 23096 reinterpret_cast<const VkPerformanceConfigurationAcquireInfoINTEL *>( &acquireInfo ), | |
| 23097 reinterpret_cast<VkPerformanceConfigurationINTEL *>( &configuration ) ) ); | |
| 23098 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::acquirePerformanceConfigurationINTEL" ); | |
| 23099 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( | |
| 23100 result, PerformanceConfigurationINTEL( *this, *reinterpret_cast<VkPerformanceConfigurationINTEL *>( &configuration ) ) ); | |
| 23101 } | |
| 23102 | |
| 23103 // wrapper function for command vkQueueSetPerformanceConfigurationINTEL, see | |
| 23104 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSetPerformanceConfigurationINTEL.html | |
| 23105 VULKAN_HPP_INLINE typename ResultValueType<void>::type | |
| 23106 Queue::setPerformanceConfigurationINTEL( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration ) const | |
| 23107 { | |
| 23108 VULKAN_HPP_ASSERT( getDispatcher()->vkQueueSetPerformanceConfigurationINTEL && | |
| 23109 "Function <vkQueueSetPerformanceConfigurationINTEL> requires <VK_INTEL_performance_query>" ); | |
| 23110 | |
| 23111 Result result = static_cast<Result>( getDispatcher()->vkQueueSetPerformanceConfigurationINTEL( | |
| 23112 static_cast<VkQueue>( m_queue ), static_cast<VkPerformanceConfigurationINTEL>( configuration ) ) ); | |
| 23113 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Queue::setPerformanceConfigurationINTEL" ); | |
| 23114 | |
| 23115 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 23116 } | |
| 23117 | |
| 23118 // wrapper function for command vkGetPerformanceParameterINTEL, see | |
| 23119 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPerformanceParameterINTEL.html | |
| 23120 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<PerformanceValueINTEL>::type | |
| 23121 Device::getPerformanceParameterINTEL( PerformanceParameterTypeINTEL parameter ) const | |
| 23122 { | |
| 23123 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPerformanceParameterINTEL && "Function <vkGetPerformanceParameterINTEL> requires <VK_INTEL_performance_query>" ); | |
| 23124 | |
| 23125 PerformanceValueINTEL value; | |
| 23126 Result result = static_cast<Result>( getDispatcher()->vkGetPerformanceParameterINTEL( | |
| 23127 static_cast<VkDevice>( m_device ), static_cast<VkPerformanceParameterTypeINTEL>( parameter ), reinterpret_cast<VkPerformanceValueINTEL *>( &value ) ) ); | |
| 23128 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getPerformanceParameterINTEL" ); | |
| 23129 | |
| 23130 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( value ) ); | |
| 23131 } | |
| 23132 | |
| 23133 //=== VK_AMD_display_native_hdr === | |
| 23134 | |
| 23135 // wrapper function for command vkSetLocalDimmingAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLocalDimmingAMD.html | |
| 23136 VULKAN_HPP_INLINE void SwapchainKHR::setLocalDimmingAMD( Bool32 localDimmingEnable ) const VULKAN_HPP_NOEXCEPT | |
| 23137 { | |
| 23138 VULKAN_HPP_ASSERT( getDispatcher()->vkSetLocalDimmingAMD && "Function <vkSetLocalDimmingAMD> requires <VK_AMD_display_native_hdr>" ); | |
| 23139 | |
| 23140 getDispatcher()->vkSetLocalDimmingAMD( | |
| 23141 static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ), static_cast<VkBool32>( localDimmingEnable ) ); | |
| 23142 } | |
| 23143 | |
| 23144 # if defined( VK_USE_PLATFORM_FUCHSIA ) | |
| 23145 //=== VK_FUCHSIA_imagepipe_surface === | |
| 23146 | |
| 23147 // wrapper function for command vkCreateImagePipeSurfaceFUCHSIA, see | |
| 23148 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImagePipeSurfaceFUCHSIA.html | |
| 23149 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<SurfaceKHR>::type | |
| 23150 Instance::createImagePipeSurfaceFUCHSIA( ImagePipeSurfaceCreateInfoFUCHSIA const & createInfo, | |
| 23151 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 23152 { | |
| 23153 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; | |
| 23154 Result result = | |
| 23155 static_cast<Result>( getDispatcher()->vkCreateImagePipeSurfaceFUCHSIA( static_cast<VkInstance>( m_instance ), | |
| 23156 reinterpret_cast<const VkImagePipeSurfaceCreateInfoFUCHSIA *>( &createInfo ), | |
| 23157 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 23158 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); | |
| 23159 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createImagePipeSurfaceFUCHSIA" ); | |
| 23160 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast<VkSurfaceKHR *>( &surface ), allocator ) ); | |
| 23161 } | |
| 23162 # endif /*VK_USE_PLATFORM_FUCHSIA*/ | |
| 23163 | |
| 23164 # if defined( VK_USE_PLATFORM_METAL_EXT ) | |
| 23165 //=== VK_EXT_metal_surface === | |
| 23166 | |
| 23167 // wrapper function for command vkCreateMetalSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMetalSurfaceEXT.html | |
| 23168 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<SurfaceKHR>::type | |
| 23169 Instance::createMetalSurfaceEXT( MetalSurfaceCreateInfoEXT const & createInfo, | |
| 23170 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 23171 { | |
| 23172 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; | |
| 23173 Result result = static_cast<Result>( getDispatcher()->vkCreateMetalSurfaceEXT( static_cast<VkInstance>( m_instance ), | |
| 23174 reinterpret_cast<const VkMetalSurfaceCreateInfoEXT *>( &createInfo ), | |
| 23175 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 23176 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); | |
| 23177 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createMetalSurfaceEXT" ); | |
| 23178 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast<VkSurfaceKHR *>( &surface ), allocator ) ); | |
| 23179 } | |
| 23180 # endif /*VK_USE_PLATFORM_METAL_EXT*/ | |
| 23181 | |
| 23182 //=== VK_KHR_fragment_shading_rate === | |
| 23183 | |
| 23184 // wrapper function for command vkGetPhysicalDeviceFragmentShadingRatesKHR, see | |
| 23185 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFragmentShadingRatesKHR.html | |
| 23186 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<PhysicalDeviceFragmentShadingRateKHR>>::type | |
| 23187 PhysicalDevice::getFragmentShadingRatesKHR() const | |
| 23188 { | |
| 23189 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceFragmentShadingRatesKHR && | |
| 23190 "Function <vkGetPhysicalDeviceFragmentShadingRatesKHR> requires <VK_KHR_fragment_shading_rate>" ); | |
| 23191 | |
| 23192 std::vector<PhysicalDeviceFragmentShadingRateKHR> fragmentShadingRates; | |
| 23193 uint32_t fragmentShadingRateCount; | |
| 23194 Result result; | |
| 23195 do | |
| 23196 { | |
| 23197 result = static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceFragmentShadingRatesKHR( | |
| 23198 static_cast<VkPhysicalDevice>( m_physicalDevice ), &fragmentShadingRateCount, nullptr ) ); | |
| 23199 if ( ( result == Result::eSuccess ) && fragmentShadingRateCount ) | |
| 23200 { | |
| 23201 fragmentShadingRates.resize( fragmentShadingRateCount ); | |
| 23202 result = static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceFragmentShadingRatesKHR( | |
| 23203 static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 23204 &fragmentShadingRateCount, | |
| 23205 reinterpret_cast<VkPhysicalDeviceFragmentShadingRateKHR *>( fragmentShadingRates.data() ) ) ); | |
| 23206 } | |
| 23207 } while ( result == Result::eIncomplete ); | |
| 23208 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getFragmentShadingRatesKHR" ); | |
| 23209 VULKAN_HPP_ASSERT( fragmentShadingRateCount <= fragmentShadingRates.size() ); | |
| 23210 if ( fragmentShadingRateCount < fragmentShadingRates.size() ) | |
| 23211 { | |
| 23212 fragmentShadingRates.resize( fragmentShadingRateCount ); | |
| 23213 } | |
| 23214 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( fragmentShadingRates ) ); | |
| 23215 } | |
| 23216 | |
| 23217 // wrapper function for command vkCmdSetFragmentShadingRateKHR, see | |
| 23218 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFragmentShadingRateKHR.html | |
| 23219 VULKAN_HPP_INLINE void CommandBuffer::setFragmentShadingRateKHR( const Extent2D & fragmentSize, | |
| 23220 const FragmentShadingRateCombinerOpKHR combinerOps[2] ) const VULKAN_HPP_NOEXCEPT | |
| 23221 { | |
| 23222 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetFragmentShadingRateKHR && | |
| 23223 "Function <vkCmdSetFragmentShadingRateKHR> requires <VK_KHR_fragment_shading_rate>" ); | |
| 23224 | |
| 23225 getDispatcher()->vkCmdSetFragmentShadingRateKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 23226 reinterpret_cast<const VkExtent2D *>( &fragmentSize ), | |
| 23227 reinterpret_cast<const VkFragmentShadingRateCombinerOpKHR *>( combinerOps ) ); | |
| 23228 } | |
| 23229 | |
| 23230 //=== VK_KHR_dynamic_rendering_local_read === | |
| 23231 | |
| 23232 // wrapper function for command vkCmdSetRenderingAttachmentLocationsKHR, see | |
| 23233 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingAttachmentLocationsKHR.html | |
| 23234 VULKAN_HPP_INLINE void CommandBuffer::setRenderingAttachmentLocationsKHR( const RenderingAttachmentLocationInfo & locationInfo ) const VULKAN_HPP_NOEXCEPT | |
| 23235 { | |
| 23236 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetRenderingAttachmentLocationsKHR && | |
| 23237 "Function <vkCmdSetRenderingAttachmentLocationsKHR> requires <VK_KHR_dynamic_rendering_local_read> or <VK_VERSION_1_4>" ); | |
| 23238 | |
| 23239 getDispatcher()->vkCmdSetRenderingAttachmentLocationsKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 23240 reinterpret_cast<const VkRenderingAttachmentLocationInfo *>( &locationInfo ) ); | |
| 23241 } | |
| 23242 | |
| 23243 // wrapper function for command vkCmdSetRenderingInputAttachmentIndicesKHR, see | |
| 23244 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingInputAttachmentIndicesKHR.html | |
| 23245 VULKAN_HPP_INLINE void | |
| 23246 CommandBuffer::setRenderingInputAttachmentIndicesKHR( const RenderingInputAttachmentIndexInfo & inputAttachmentIndexInfo ) const VULKAN_HPP_NOEXCEPT | |
| 23247 { | |
| 23248 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetRenderingInputAttachmentIndicesKHR && | |
| 23249 "Function <vkCmdSetRenderingInputAttachmentIndicesKHR> requires <VK_KHR_dynamic_rendering_local_read> or <VK_VERSION_1_4>" ); | |
| 23250 | |
| 23251 getDispatcher()->vkCmdSetRenderingInputAttachmentIndicesKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 23252 reinterpret_cast<const VkRenderingInputAttachmentIndexInfo *>( &inputAttachmentIndexInfo ) ); | |
| 23253 } | |
| 23254 | |
| 23255 //=== VK_EXT_buffer_device_address === | |
| 23256 | |
| 23257 // wrapper function for command vkGetBufferDeviceAddressEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferDeviceAddressEXT.html | |
| 23258 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE DeviceAddress Device::getBufferAddressEXT( const BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT | |
| 23259 { | |
| 23260 VULKAN_HPP_ASSERT( | |
| 23261 getDispatcher()->vkGetBufferDeviceAddressEXT && | |
| 23262 "Function <vkGetBufferDeviceAddressEXT> requires <VK_EXT_buffer_device_address> or <VK_KHR_buffer_device_address> or <VK_VERSION_1_2>" ); | |
| 23263 | |
| 23264 VkDeviceAddress result = | |
| 23265 getDispatcher()->vkGetBufferDeviceAddressEXT( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkBufferDeviceAddressInfo *>( &info ) ); | |
| 23266 | |
| 23267 return static_cast<DeviceAddress>( result ); | |
| 23268 } | |
| 23269 | |
| 23270 //=== VK_EXT_tooling_info === | |
| 23271 | |
| 23272 // wrapper function for command vkGetPhysicalDeviceToolPropertiesEXT, see | |
| 23273 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceToolPropertiesEXT.html | |
| 23274 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<PhysicalDeviceToolProperties>>::type | |
| 23275 PhysicalDevice::getToolPropertiesEXT() const | |
| 23276 { | |
| 23277 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceToolPropertiesEXT && | |
| 23278 "Function <vkGetPhysicalDeviceToolPropertiesEXT> requires <VK_EXT_tooling_info> or <VK_VERSION_1_3>" ); | |
| 23279 | |
| 23280 std::vector<PhysicalDeviceToolProperties> toolProperties; | |
| 23281 uint32_t toolCount; | |
| 23282 Result result; | |
| 23283 do | |
| 23284 { | |
| 23285 result = static_cast<Result>( | |
| 23286 getDispatcher()->vkGetPhysicalDeviceToolPropertiesEXT( static_cast<VkPhysicalDevice>( m_physicalDevice ), &toolCount, nullptr ) ); | |
| 23287 if ( ( result == Result::eSuccess ) && toolCount ) | |
| 23288 { | |
| 23289 toolProperties.resize( toolCount ); | |
| 23290 result = static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceToolPropertiesEXT( | |
| 23291 static_cast<VkPhysicalDevice>( m_physicalDevice ), &toolCount, reinterpret_cast<VkPhysicalDeviceToolProperties *>( toolProperties.data() ) ) ); | |
| 23292 } | |
| 23293 } while ( result == Result::eIncomplete ); | |
| 23294 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getToolPropertiesEXT" ); | |
| 23295 VULKAN_HPP_ASSERT( toolCount <= toolProperties.size() ); | |
| 23296 if ( toolCount < toolProperties.size() ) | |
| 23297 { | |
| 23298 toolProperties.resize( toolCount ); | |
| 23299 } | |
| 23300 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( toolProperties ) ); | |
| 23301 } | |
| 23302 | |
| 23303 //=== VK_KHR_present_wait === | |
| 23304 | |
| 23305 // wrapper function for command vkWaitForPresentKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitForPresentKHR.html | |
| 23306 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result SwapchainKHR::waitForPresent( uint64_t presentId, uint64_t timeout ) const | |
| 23307 { | |
| 23308 VULKAN_HPP_ASSERT( getDispatcher()->vkWaitForPresentKHR && "Function <vkWaitForPresentKHR> requires <VK_KHR_present_wait>" ); | |
| 23309 | |
| 23310 Result result = static_cast<Result>( | |
| 23311 getDispatcher()->vkWaitForPresentKHR( static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ), presentId, timeout ) ); | |
| 23312 | |
| 23313 # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) | |
| 23314 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, | |
| 23315 VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::waitForPresent", | |
| 23316 { Result::eSuccess, Result::eTimeout, Result::eSuboptimalKHR, Result::eErrorOutOfDateKHR } ); | |
| 23317 # else | |
| 23318 VULKAN_HPP_NAMESPACE::detail::resultCheck( | |
| 23319 result, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::waitForPresent", { Result::eSuccess, Result::eTimeout, Result::eSuboptimalKHR } ); | |
| 23320 # endif | |
| 23321 | |
| 23322 return static_cast<Result>( result ); | |
| 23323 } | |
| 23324 | |
| 23325 //=== VK_NV_cooperative_matrix === | |
| 23326 | |
| 23327 // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixPropertiesNV, see | |
| 23328 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixPropertiesNV.html | |
| 23329 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<CooperativeMatrixPropertiesNV>>::type | |
| 23330 PhysicalDevice::getCooperativeMatrixPropertiesNV() const | |
| 23331 { | |
| 23332 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixPropertiesNV && | |
| 23333 "Function <vkGetPhysicalDeviceCooperativeMatrixPropertiesNV> requires <VK_NV_cooperative_matrix>" ); | |
| 23334 | |
| 23335 std::vector<CooperativeMatrixPropertiesNV> properties; | |
| 23336 uint32_t propertyCount; | |
| 23337 Result result; | |
| 23338 do | |
| 23339 { | |
| 23340 result = static_cast<Result>( | |
| 23341 getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( static_cast<VkPhysicalDevice>( m_physicalDevice ), &propertyCount, nullptr ) ); | |
| 23342 if ( ( result == Result::eSuccess ) && propertyCount ) | |
| 23343 { | |
| 23344 properties.resize( propertyCount ); | |
| 23345 result = static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( | |
| 23346 static_cast<VkPhysicalDevice>( m_physicalDevice ), &propertyCount, reinterpret_cast<VkCooperativeMatrixPropertiesNV *>( properties.data() ) ) ); | |
| 23347 } | |
| 23348 } while ( result == Result::eIncomplete ); | |
| 23349 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixPropertiesNV" ); | |
| 23350 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); | |
| 23351 if ( propertyCount < properties.size() ) | |
| 23352 { | |
| 23353 properties.resize( propertyCount ); | |
| 23354 } | |
| 23355 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); | |
| 23356 } | |
| 23357 | |
| 23358 //=== VK_NV_coverage_reduction_mode === | |
| 23359 | |
| 23360 // wrapper function for command vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV, see | |
| 23361 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV.html | |
| 23362 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<FramebufferMixedSamplesCombinationNV>>::type | |
| 23363 PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV() const | |
| 23364 { | |
| 23365 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV && | |
| 23366 "Function <vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV> requires <VK_NV_coverage_reduction_mode>" ); | |
| 23367 | |
| 23368 std::vector<FramebufferMixedSamplesCombinationNV> combinations; | |
| 23369 uint32_t combinationCount; | |
| 23370 Result result; | |
| 23371 do | |
| 23372 { | |
| 23373 result = static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( | |
| 23374 static_cast<VkPhysicalDevice>( m_physicalDevice ), &combinationCount, nullptr ) ); | |
| 23375 if ( ( result == Result::eSuccess ) && combinationCount ) | |
| 23376 { | |
| 23377 combinations.resize( combinationCount ); | |
| 23378 result = static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( | |
| 23379 static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 23380 &combinationCount, | |
| 23381 reinterpret_cast<VkFramebufferMixedSamplesCombinationNV *>( combinations.data() ) ) ); | |
| 23382 } | |
| 23383 } while ( result == Result::eIncomplete ); | |
| 23384 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, | |
| 23385 VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV" ); | |
| 23386 VULKAN_HPP_ASSERT( combinationCount <= combinations.size() ); | |
| 23387 if ( combinationCount < combinations.size() ) | |
| 23388 { | |
| 23389 combinations.resize( combinationCount ); | |
| 23390 } | |
| 23391 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( combinations ) ); | |
| 23392 } | |
| 23393 | |
| 23394 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 23395 //=== VK_EXT_full_screen_exclusive === | |
| 23396 | |
| 23397 // wrapper function for command vkGetPhysicalDeviceSurfacePresentModes2EXT, see | |
| 23398 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfacePresentModes2EXT.html | |
| 23399 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<PresentModeKHR>>::type | |
| 23400 PhysicalDevice::getSurfacePresentModes2EXT( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const | |
| 23401 { | |
| 23402 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceSurfacePresentModes2EXT && | |
| 23403 "Function <vkGetPhysicalDeviceSurfacePresentModes2EXT> requires <VK_EXT_full_screen_exclusive>" ); | |
| 23404 | |
| 23405 std::vector<PresentModeKHR> presentModes; | |
| 23406 uint32_t presentModeCount; | |
| 23407 Result result; | |
| 23408 do | |
| 23409 { | |
| 23410 result = static_cast<Result>( | |
| 23411 getDispatcher()->vkGetPhysicalDeviceSurfacePresentModes2EXT( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 23412 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), | |
| 23413 &presentModeCount, | |
| 23414 nullptr ) ); | |
| 23415 if ( ( result == Result::eSuccess ) && presentModeCount ) | |
| 23416 { | |
| 23417 presentModes.resize( presentModeCount ); | |
| 23418 result = static_cast<Result>( | |
| 23419 getDispatcher()->vkGetPhysicalDeviceSurfacePresentModes2EXT( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 23420 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), | |
| 23421 &presentModeCount, | |
| 23422 reinterpret_cast<VkPresentModeKHR *>( presentModes.data() ) ) ); | |
| 23423 } | |
| 23424 } while ( result == Result::eIncomplete ); | |
| 23425 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfacePresentModes2EXT" ); | |
| 23426 VULKAN_HPP_ASSERT( presentModeCount <= presentModes.size() ); | |
| 23427 if ( presentModeCount < presentModes.size() ) | |
| 23428 { | |
| 23429 presentModes.resize( presentModeCount ); | |
| 23430 } | |
| 23431 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( presentModes ) ); | |
| 23432 } | |
| 23433 | |
| 23434 // wrapper function for command vkAcquireFullScreenExclusiveModeEXT, see | |
| 23435 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireFullScreenExclusiveModeEXT.html | |
| 23436 VULKAN_HPP_INLINE typename ResultValueType<void>::type SwapchainKHR::acquireFullScreenExclusiveModeEXT() const | |
| 23437 { | |
| 23438 VULKAN_HPP_ASSERT( getDispatcher()->vkAcquireFullScreenExclusiveModeEXT && | |
| 23439 "Function <vkAcquireFullScreenExclusiveModeEXT> requires <VK_EXT_full_screen_exclusive>" ); | |
| 23440 | |
| 23441 Result result = static_cast<Result>( | |
| 23442 getDispatcher()->vkAcquireFullScreenExclusiveModeEXT( static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ) ) ); | |
| 23443 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::acquireFullScreenExclusiveModeEXT" ); | |
| 23444 | |
| 23445 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 23446 } | |
| 23447 | |
| 23448 // wrapper function for command vkReleaseFullScreenExclusiveModeEXT, see | |
| 23449 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseFullScreenExclusiveModeEXT.html | |
| 23450 VULKAN_HPP_INLINE typename ResultValueType<void>::type SwapchainKHR::releaseFullScreenExclusiveModeEXT() const | |
| 23451 { | |
| 23452 VULKAN_HPP_ASSERT( getDispatcher()->vkReleaseFullScreenExclusiveModeEXT && | |
| 23453 "Function <vkReleaseFullScreenExclusiveModeEXT> requires <VK_EXT_full_screen_exclusive>" ); | |
| 23454 | |
| 23455 Result result = static_cast<Result>( | |
| 23456 getDispatcher()->vkReleaseFullScreenExclusiveModeEXT( static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ) ) ); | |
| 23457 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::releaseFullScreenExclusiveModeEXT" ); | |
| 23458 | |
| 23459 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 23460 } | |
| 23461 | |
| 23462 // wrapper function for command vkGetDeviceGroupSurfacePresentModes2EXT, see | |
| 23463 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupSurfacePresentModes2EXT.html | |
| 23464 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DeviceGroupPresentModeFlagsKHR>::type | |
| 23465 Device::getGroupSurfacePresentModes2EXT( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const | |
| 23466 { | |
| 23467 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceGroupSurfacePresentModes2EXT && | |
| 23468 "Function <vkGetDeviceGroupSurfacePresentModes2EXT> requires <VK_EXT_full_screen_exclusive>" ); | |
| 23469 | |
| 23470 DeviceGroupPresentModeFlagsKHR modes; | |
| 23471 Result result = static_cast<Result>( | |
| 23472 getDispatcher()->vkGetDeviceGroupSurfacePresentModes2EXT( static_cast<VkDevice>( m_device ), | |
| 23473 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), | |
| 23474 reinterpret_cast<VkDeviceGroupPresentModeFlagsKHR *>( &modes ) ) ); | |
| 23475 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getGroupSurfacePresentModes2EXT" ); | |
| 23476 | |
| 23477 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( modes ) ); | |
| 23478 } | |
| 23479 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 23480 | |
| 23481 //=== VK_EXT_headless_surface === | |
| 23482 | |
| 23483 // wrapper function for command vkCreateHeadlessSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateHeadlessSurfaceEXT.html | |
| 23484 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<SurfaceKHR>::type | |
| 23485 Instance::createHeadlessSurfaceEXT( HeadlessSurfaceCreateInfoEXT const & createInfo, | |
| 23486 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 23487 { | |
| 23488 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; | |
| 23489 Result result = static_cast<Result>( getDispatcher()->vkCreateHeadlessSurfaceEXT( static_cast<VkInstance>( m_instance ), | |
| 23490 reinterpret_cast<const VkHeadlessSurfaceCreateInfoEXT *>( &createInfo ), | |
| 23491 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 23492 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); | |
| 23493 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createHeadlessSurfaceEXT" ); | |
| 23494 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast<VkSurfaceKHR *>( &surface ), allocator ) ); | |
| 23495 } | |
| 23496 | |
| 23497 //=== VK_KHR_buffer_device_address === | |
| 23498 | |
| 23499 // wrapper function for command vkGetBufferDeviceAddressKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferDeviceAddressKHR.html | |
| 23500 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE DeviceAddress Device::getBufferAddressKHR( const BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT | |
| 23501 { | |
| 23502 VULKAN_HPP_ASSERT( | |
| 23503 getDispatcher()->vkGetBufferDeviceAddressKHR && | |
| 23504 "Function <vkGetBufferDeviceAddressKHR> requires <VK_EXT_buffer_device_address> or <VK_KHR_buffer_device_address> or <VK_VERSION_1_2>" ); | |
| 23505 | |
| 23506 VkDeviceAddress result = | |
| 23507 getDispatcher()->vkGetBufferDeviceAddressKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkBufferDeviceAddressInfo *>( &info ) ); | |
| 23508 | |
| 23509 return static_cast<DeviceAddress>( result ); | |
| 23510 } | |
| 23511 | |
| 23512 // wrapper function for command vkGetBufferOpaqueCaptureAddressKHR, see | |
| 23513 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferOpaqueCaptureAddressKHR.html | |
| 23514 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t Device::getBufferOpaqueCaptureAddressKHR( const BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT | |
| 23515 { | |
| 23516 VULKAN_HPP_ASSERT( getDispatcher()->vkGetBufferOpaqueCaptureAddressKHR && | |
| 23517 "Function <vkGetBufferOpaqueCaptureAddressKHR> requires <VK_KHR_buffer_device_address> or <VK_VERSION_1_2>" ); | |
| 23518 | |
| 23519 uint64_t result = | |
| 23520 getDispatcher()->vkGetBufferOpaqueCaptureAddressKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkBufferDeviceAddressInfo *>( &info ) ); | |
| 23521 | |
| 23522 return result; | |
| 23523 } | |
| 23524 | |
| 23525 // wrapper function for command vkGetDeviceMemoryOpaqueCaptureAddressKHR, see | |
| 23526 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMemoryOpaqueCaptureAddressKHR.html | |
| 23527 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t | |
| 23528 Device::getMemoryOpaqueCaptureAddressKHR( const DeviceMemoryOpaqueCaptureAddressInfo & info ) const VULKAN_HPP_NOEXCEPT | |
| 23529 { | |
| 23530 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceMemoryOpaqueCaptureAddressKHR && | |
| 23531 "Function <vkGetDeviceMemoryOpaqueCaptureAddressKHR> requires <VK_KHR_buffer_device_address> or <VK_VERSION_1_2>" ); | |
| 23532 | |
| 23533 uint64_t result = getDispatcher()->vkGetDeviceMemoryOpaqueCaptureAddressKHR( static_cast<VkDevice>( m_device ), | |
| 23534 reinterpret_cast<const VkDeviceMemoryOpaqueCaptureAddressInfo *>( &info ) ); | |
| 23535 | |
| 23536 return result; | |
| 23537 } | |
| 23538 | |
| 23539 //=== VK_EXT_line_rasterization === | |
| 23540 | |
| 23541 // wrapper function for command vkCmdSetLineStippleEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineStippleEXT.html | |
| 23542 VULKAN_HPP_INLINE void CommandBuffer::setLineStippleEXT( uint32_t lineStippleFactor, uint16_t lineStipplePattern ) const VULKAN_HPP_NOEXCEPT | |
| 23543 { | |
| 23544 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetLineStippleEXT && | |
| 23545 "Function <vkCmdSetLineStippleEXT> requires <VK_EXT_line_rasterization> or <VK_KHR_line_rasterization> or <VK_VERSION_1_4>" ); | |
| 23546 | |
| 23547 getDispatcher()->vkCmdSetLineStippleEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), lineStippleFactor, lineStipplePattern ); | |
| 23548 } | |
| 23549 | |
| 23550 //=== VK_EXT_host_query_reset === | |
| 23551 | |
| 23552 // wrapper function for command vkResetQueryPoolEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetQueryPoolEXT.html | |
| 23553 VULKAN_HPP_INLINE void QueryPool::resetEXT( uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT | |
| 23554 { | |
| 23555 VULKAN_HPP_ASSERT( getDispatcher()->vkResetQueryPoolEXT && "Function <vkResetQueryPoolEXT> requires <VK_EXT_host_query_reset> or <VK_VERSION_1_2>" ); | |
| 23556 | |
| 23557 getDispatcher()->vkResetQueryPoolEXT( static_cast<VkDevice>( m_device ), static_cast<VkQueryPool>( m_queryPool ), firstQuery, queryCount ); | |
| 23558 } | |
| 23559 | |
| 23560 //=== VK_EXT_extended_dynamic_state === | |
| 23561 | |
| 23562 // wrapper function for command vkCmdSetCullModeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCullModeEXT.html | |
| 23563 VULKAN_HPP_INLINE void CommandBuffer::setCullModeEXT( CullModeFlags cullMode ) const VULKAN_HPP_NOEXCEPT | |
| 23564 { | |
| 23565 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetCullModeEXT && | |
| 23566 "Function <vkCmdSetCullModeEXT> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 23567 | |
| 23568 getDispatcher()->vkCmdSetCullModeEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkCullModeFlags>( cullMode ) ); | |
| 23569 } | |
| 23570 | |
| 23571 // wrapper function for command vkCmdSetFrontFaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFrontFaceEXT.html | |
| 23572 VULKAN_HPP_INLINE void CommandBuffer::setFrontFaceEXT( FrontFace frontFace ) const VULKAN_HPP_NOEXCEPT | |
| 23573 { | |
| 23574 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetFrontFaceEXT && | |
| 23575 "Function <vkCmdSetFrontFaceEXT> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 23576 | |
| 23577 getDispatcher()->vkCmdSetFrontFaceEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkFrontFace>( frontFace ) ); | |
| 23578 } | |
| 23579 | |
| 23580 // wrapper function for command vkCmdSetPrimitiveTopologyEXT, see | |
| 23581 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPrimitiveTopologyEXT.html | |
| 23582 VULKAN_HPP_INLINE void CommandBuffer::setPrimitiveTopologyEXT( PrimitiveTopology primitiveTopology ) const VULKAN_HPP_NOEXCEPT | |
| 23583 { | |
| 23584 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetPrimitiveTopologyEXT && | |
| 23585 "Function <vkCmdSetPrimitiveTopologyEXT> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 23586 | |
| 23587 getDispatcher()->vkCmdSetPrimitiveTopologyEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkPrimitiveTopology>( primitiveTopology ) ); | |
| 23588 } | |
| 23589 | |
| 23590 // wrapper function for command vkCmdSetViewportWithCountEXT, see | |
| 23591 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWithCountEXT.html | |
| 23592 VULKAN_HPP_INLINE void CommandBuffer::setViewportWithCountEXT( ArrayProxy<const Viewport> const & viewports ) const VULKAN_HPP_NOEXCEPT | |
| 23593 { | |
| 23594 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetViewportWithCountEXT && | |
| 23595 "Function <vkCmdSetViewportWithCountEXT> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 23596 | |
| 23597 getDispatcher()->vkCmdSetViewportWithCountEXT( | |
| 23598 static_cast<VkCommandBuffer>( m_commandBuffer ), viewports.size(), reinterpret_cast<const VkViewport *>( viewports.data() ) ); | |
| 23599 } | |
| 23600 | |
| 23601 // wrapper function for command vkCmdSetScissorWithCountEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetScissorWithCountEXT.html | |
| 23602 VULKAN_HPP_INLINE void CommandBuffer::setScissorWithCountEXT( ArrayProxy<const Rect2D> const & scissors ) const VULKAN_HPP_NOEXCEPT | |
| 23603 { | |
| 23604 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetScissorWithCountEXT && | |
| 23605 "Function <vkCmdSetScissorWithCountEXT> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 23606 | |
| 23607 getDispatcher()->vkCmdSetScissorWithCountEXT( | |
| 23608 static_cast<VkCommandBuffer>( m_commandBuffer ), scissors.size(), reinterpret_cast<const VkRect2D *>( scissors.data() ) ); | |
| 23609 } | |
| 23610 | |
| 23611 // wrapper function for command vkCmdBindVertexBuffers2EXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindVertexBuffers2EXT.html | |
| 23612 VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers2EXT( uint32_t firstBinding, | |
| 23613 ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers, | |
| 23614 ArrayProxy<const DeviceSize> const & offsets, | |
| 23615 ArrayProxy<const DeviceSize> const & sizes, | |
| 23616 ArrayProxy<const DeviceSize> const & strides ) const | |
| 23617 { | |
| 23618 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBindVertexBuffers2EXT && | |
| 23619 "Function <vkCmdBindVertexBuffers2EXT> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 23620 # ifdef VULKAN_HPP_NO_EXCEPTIONS | |
| 23621 VULKAN_HPP_ASSERT( buffers.size() == offsets.size() ); | |
| 23622 VULKAN_HPP_ASSERT( sizes.empty() || buffers.size() == sizes.size() ); | |
| 23623 VULKAN_HPP_ASSERT( strides.empty() || buffers.size() == strides.size() ); | |
| 23624 # else | |
| 23625 if ( buffers.size() != offsets.size() ) | |
| 23626 { | |
| 23627 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindVertexBuffers2EXT: buffers.size() != offsets.size()" ); | |
| 23628 } | |
| 23629 if ( !sizes.empty() && buffers.size() != sizes.size() ) | |
| 23630 { | |
| 23631 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindVertexBuffers2EXT: buffers.size() != sizes.size()" ); | |
| 23632 } | |
| 23633 if ( !strides.empty() && buffers.size() != strides.size() ) | |
| 23634 { | |
| 23635 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindVertexBuffers2EXT: buffers.size() != strides.size()" ); | |
| 23636 } | |
| 23637 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ | |
| 23638 | |
| 23639 getDispatcher()->vkCmdBindVertexBuffers2EXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 23640 firstBinding, | |
| 23641 buffers.size(), | |
| 23642 reinterpret_cast<const VkBuffer *>( buffers.data() ), | |
| 23643 reinterpret_cast<const VkDeviceSize *>( offsets.data() ), | |
| 23644 reinterpret_cast<const VkDeviceSize *>( sizes.data() ), | |
| 23645 reinterpret_cast<const VkDeviceSize *>( strides.data() ) ); | |
| 23646 } | |
| 23647 | |
| 23648 // wrapper function for command vkCmdSetDepthTestEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthTestEnableEXT.html | |
| 23649 VULKAN_HPP_INLINE void CommandBuffer::setDepthTestEnableEXT( Bool32 depthTestEnable ) const VULKAN_HPP_NOEXCEPT | |
| 23650 { | |
| 23651 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDepthTestEnableEXT && | |
| 23652 "Function <vkCmdSetDepthTestEnableEXT> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 23653 | |
| 23654 getDispatcher()->vkCmdSetDepthTestEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( depthTestEnable ) ); | |
| 23655 } | |
| 23656 | |
| 23657 // wrapper function for command vkCmdSetDepthWriteEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthWriteEnableEXT.html | |
| 23658 VULKAN_HPP_INLINE void CommandBuffer::setDepthWriteEnableEXT( Bool32 depthWriteEnable ) const VULKAN_HPP_NOEXCEPT | |
| 23659 { | |
| 23660 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDepthWriteEnableEXT && | |
| 23661 "Function <vkCmdSetDepthWriteEnableEXT> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 23662 | |
| 23663 getDispatcher()->vkCmdSetDepthWriteEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( depthWriteEnable ) ); | |
| 23664 } | |
| 23665 | |
| 23666 // wrapper function for command vkCmdSetDepthCompareOpEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthCompareOpEXT.html | |
| 23667 VULKAN_HPP_INLINE void CommandBuffer::setDepthCompareOpEXT( CompareOp depthCompareOp ) const VULKAN_HPP_NOEXCEPT | |
| 23668 { | |
| 23669 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDepthCompareOpEXT && | |
| 23670 "Function <vkCmdSetDepthCompareOpEXT> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 23671 | |
| 23672 getDispatcher()->vkCmdSetDepthCompareOpEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkCompareOp>( depthCompareOp ) ); | |
| 23673 } | |
| 23674 | |
| 23675 // wrapper function for command vkCmdSetDepthBoundsTestEnableEXT, see | |
| 23676 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBoundsTestEnableEXT.html | |
| 23677 VULKAN_HPP_INLINE void CommandBuffer::setDepthBoundsTestEnableEXT( Bool32 depthBoundsTestEnable ) const VULKAN_HPP_NOEXCEPT | |
| 23678 { | |
| 23679 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDepthBoundsTestEnableEXT && | |
| 23680 "Function <vkCmdSetDepthBoundsTestEnableEXT> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 23681 | |
| 23682 getDispatcher()->vkCmdSetDepthBoundsTestEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( depthBoundsTestEnable ) ); | |
| 23683 } | |
| 23684 | |
| 23685 // wrapper function for command vkCmdSetStencilTestEnableEXT, see | |
| 23686 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilTestEnableEXT.html | |
| 23687 VULKAN_HPP_INLINE void CommandBuffer::setStencilTestEnableEXT( Bool32 stencilTestEnable ) const VULKAN_HPP_NOEXCEPT | |
| 23688 { | |
| 23689 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetStencilTestEnableEXT && | |
| 23690 "Function <vkCmdSetStencilTestEnableEXT> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 23691 | |
| 23692 getDispatcher()->vkCmdSetStencilTestEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( stencilTestEnable ) ); | |
| 23693 } | |
| 23694 | |
| 23695 // wrapper function for command vkCmdSetStencilOpEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilOpEXT.html | |
| 23696 VULKAN_HPP_INLINE void CommandBuffer::setStencilOpEXT( | |
| 23697 StencilFaceFlags faceMask, StencilOp failOp, StencilOp passOp, StencilOp depthFailOp, CompareOp compareOp ) const VULKAN_HPP_NOEXCEPT | |
| 23698 { | |
| 23699 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetStencilOpEXT && | |
| 23700 "Function <vkCmdSetStencilOpEXT> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 23701 | |
| 23702 getDispatcher()->vkCmdSetStencilOpEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 23703 static_cast<VkStencilFaceFlags>( faceMask ), | |
| 23704 static_cast<VkStencilOp>( failOp ), | |
| 23705 static_cast<VkStencilOp>( passOp ), | |
| 23706 static_cast<VkStencilOp>( depthFailOp ), | |
| 23707 static_cast<VkCompareOp>( compareOp ) ); | |
| 23708 } | |
| 23709 | |
| 23710 //=== VK_KHR_deferred_host_operations === | |
| 23711 | |
| 23712 // wrapper function for command vkCreateDeferredOperationKHR, see | |
| 23713 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDeferredOperationKHR.html | |
| 23714 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DeferredOperationKHR>::type | |
| 23715 Device::createDeferredOperationKHR( Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 23716 { | |
| 23717 VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation; | |
| 23718 Result result = static_cast<Result>( getDispatcher()->vkCreateDeferredOperationKHR( static_cast<VkDevice>( m_device ), | |
| 23719 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 23720 reinterpret_cast<VkDeferredOperationKHR *>( &deferredOperation ) ) ); | |
| 23721 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createDeferredOperationKHR" ); | |
| 23722 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( | |
| 23723 result, DeferredOperationKHR( *this, *reinterpret_cast<VkDeferredOperationKHR *>( &deferredOperation ), allocator ) ); | |
| 23724 } | |
| 23725 | |
| 23726 // wrapper function for command vkGetDeferredOperationMaxConcurrencyKHR, see | |
| 23727 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeferredOperationMaxConcurrencyKHR.html | |
| 23728 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint32_t DeferredOperationKHR::getMaxConcurrency() const VULKAN_HPP_NOEXCEPT | |
| 23729 { | |
| 23730 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeferredOperationMaxConcurrencyKHR && | |
| 23731 "Function <vkGetDeferredOperationMaxConcurrencyKHR> requires <VK_KHR_deferred_host_operations>" ); | |
| 23732 | |
| 23733 uint32_t result = getDispatcher()->vkGetDeferredOperationMaxConcurrencyKHR( static_cast<VkDevice>( m_device ), | |
| 23734 static_cast<VkDeferredOperationKHR>( m_deferredOperationKHR ) ); | |
| 23735 | |
| 23736 return result; | |
| 23737 } | |
| 23738 | |
| 23739 // wrapper function for command vkGetDeferredOperationResultKHR, see | |
| 23740 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeferredOperationResultKHR.html | |
| 23741 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result DeferredOperationKHR::getResult() const | |
| 23742 { | |
| 23743 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeferredOperationResultKHR && | |
| 23744 "Function <vkGetDeferredOperationResultKHR> requires <VK_KHR_deferred_host_operations>" ); | |
| 23745 | |
| 23746 Result result = static_cast<Result>( | |
| 23747 getDispatcher()->vkGetDeferredOperationResultKHR( static_cast<VkDevice>( m_device ), static_cast<VkDeferredOperationKHR>( m_deferredOperationKHR ) ) ); | |
| 23748 VULKAN_HPP_NAMESPACE::detail::resultCheck( | |
| 23749 result, VULKAN_HPP_RAII_NAMESPACE_STRING "::DeferredOperationKHR::getResult", { Result::eSuccess, Result::eNotReady } ); | |
| 23750 | |
| 23751 return static_cast<Result>( result ); | |
| 23752 } | |
| 23753 | |
| 23754 // wrapper function for command vkDeferredOperationJoinKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDeferredOperationJoinKHR.html | |
| 23755 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result DeferredOperationKHR::join() const | |
| 23756 { | |
| 23757 VULKAN_HPP_ASSERT( getDispatcher()->vkDeferredOperationJoinKHR && "Function <vkDeferredOperationJoinKHR> requires <VK_KHR_deferred_host_operations>" ); | |
| 23758 | |
| 23759 Result result = static_cast<Result>( | |
| 23760 getDispatcher()->vkDeferredOperationJoinKHR( static_cast<VkDevice>( m_device ), static_cast<VkDeferredOperationKHR>( m_deferredOperationKHR ) ) ); | |
| 23761 VULKAN_HPP_NAMESPACE::detail::resultCheck( | |
| 23762 result, VULKAN_HPP_RAII_NAMESPACE_STRING "::DeferredOperationKHR::join", { Result::eSuccess, Result::eThreadDoneKHR, Result::eThreadIdleKHR } ); | |
| 23763 | |
| 23764 return static_cast<Result>( result ); | |
| 23765 } | |
| 23766 | |
| 23767 //=== VK_KHR_pipeline_executable_properties === | |
| 23768 | |
| 23769 // wrapper function for command vkGetPipelineExecutablePropertiesKHR, see | |
| 23770 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutablePropertiesKHR.html | |
| 23771 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<PipelineExecutablePropertiesKHR>>::type | |
| 23772 Device::getPipelineExecutablePropertiesKHR( const PipelineInfoKHR & pipelineInfo ) const | |
| 23773 { | |
| 23774 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPipelineExecutablePropertiesKHR && | |
| 23775 "Function <vkGetPipelineExecutablePropertiesKHR> requires <VK_KHR_pipeline_executable_properties>" ); | |
| 23776 | |
| 23777 std::vector<PipelineExecutablePropertiesKHR> properties; | |
| 23778 uint32_t executableCount; | |
| 23779 Result result; | |
| 23780 do | |
| 23781 { | |
| 23782 result = static_cast<Result>( getDispatcher()->vkGetPipelineExecutablePropertiesKHR( | |
| 23783 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkPipelineInfoKHR *>( &pipelineInfo ), &executableCount, nullptr ) ); | |
| 23784 if ( ( result == Result::eSuccess ) && executableCount ) | |
| 23785 { | |
| 23786 properties.resize( executableCount ); | |
| 23787 result = static_cast<Result>( | |
| 23788 getDispatcher()->vkGetPipelineExecutablePropertiesKHR( static_cast<VkDevice>( m_device ), | |
| 23789 reinterpret_cast<const VkPipelineInfoKHR *>( &pipelineInfo ), | |
| 23790 &executableCount, | |
| 23791 reinterpret_cast<VkPipelineExecutablePropertiesKHR *>( properties.data() ) ) ); | |
| 23792 } | |
| 23793 } while ( result == Result::eIncomplete ); | |
| 23794 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getPipelineExecutablePropertiesKHR" ); | |
| 23795 VULKAN_HPP_ASSERT( executableCount <= properties.size() ); | |
| 23796 if ( executableCount < properties.size() ) | |
| 23797 { | |
| 23798 properties.resize( executableCount ); | |
| 23799 } | |
| 23800 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); | |
| 23801 } | |
| 23802 | |
| 23803 // wrapper function for command vkGetPipelineExecutableStatisticsKHR, see | |
| 23804 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutableStatisticsKHR.html | |
| 23805 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<PipelineExecutableStatisticKHR>>::type | |
| 23806 Device::getPipelineExecutableStatisticsKHR( const PipelineExecutableInfoKHR & executableInfo ) const | |
| 23807 { | |
| 23808 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPipelineExecutableStatisticsKHR && | |
| 23809 "Function <vkGetPipelineExecutableStatisticsKHR> requires <VK_KHR_pipeline_executable_properties>" ); | |
| 23810 | |
| 23811 std::vector<PipelineExecutableStatisticKHR> statistics; | |
| 23812 uint32_t statisticCount; | |
| 23813 Result result; | |
| 23814 do | |
| 23815 { | |
| 23816 result = static_cast<Result>( getDispatcher()->vkGetPipelineExecutableStatisticsKHR( | |
| 23817 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkPipelineExecutableInfoKHR *>( &executableInfo ), &statisticCount, nullptr ) ); | |
| 23818 if ( ( result == Result::eSuccess ) && statisticCount ) | |
| 23819 { | |
| 23820 statistics.resize( statisticCount ); | |
| 23821 result = static_cast<Result>( | |
| 23822 getDispatcher()->vkGetPipelineExecutableStatisticsKHR( static_cast<VkDevice>( m_device ), | |
| 23823 reinterpret_cast<const VkPipelineExecutableInfoKHR *>( &executableInfo ), | |
| 23824 &statisticCount, | |
| 23825 reinterpret_cast<VkPipelineExecutableStatisticKHR *>( statistics.data() ) ) ); | |
| 23826 } | |
| 23827 } while ( result == Result::eIncomplete ); | |
| 23828 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getPipelineExecutableStatisticsKHR" ); | |
| 23829 VULKAN_HPP_ASSERT( statisticCount <= statistics.size() ); | |
| 23830 if ( statisticCount < statistics.size() ) | |
| 23831 { | |
| 23832 statistics.resize( statisticCount ); | |
| 23833 } | |
| 23834 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( statistics ) ); | |
| 23835 } | |
| 23836 | |
| 23837 // wrapper function for command vkGetPipelineExecutableInternalRepresentationsKHR, see | |
| 23838 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutableInternalRepresentationsKHR.html | |
| 23839 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<PipelineExecutableInternalRepresentationKHR>>::type | |
| 23840 Device::getPipelineExecutableInternalRepresentationsKHR( const PipelineExecutableInfoKHR & executableInfo ) const | |
| 23841 { | |
| 23842 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPipelineExecutableInternalRepresentationsKHR && | |
| 23843 "Function <vkGetPipelineExecutableInternalRepresentationsKHR> requires <VK_KHR_pipeline_executable_properties>" ); | |
| 23844 | |
| 23845 std::vector<PipelineExecutableInternalRepresentationKHR> internalRepresentations; | |
| 23846 uint32_t internalRepresentationCount; | |
| 23847 Result result; | |
| 23848 do | |
| 23849 { | |
| 23850 result = static_cast<Result>( | |
| 23851 getDispatcher()->vkGetPipelineExecutableInternalRepresentationsKHR( static_cast<VkDevice>( m_device ), | |
| 23852 reinterpret_cast<const VkPipelineExecutableInfoKHR *>( &executableInfo ), | |
| 23853 &internalRepresentationCount, | |
| 23854 nullptr ) ); | |
| 23855 if ( ( result == Result::eSuccess ) && internalRepresentationCount ) | |
| 23856 { | |
| 23857 internalRepresentations.resize( internalRepresentationCount ); | |
| 23858 result = static_cast<Result>( getDispatcher()->vkGetPipelineExecutableInternalRepresentationsKHR( | |
| 23859 static_cast<VkDevice>( m_device ), | |
| 23860 reinterpret_cast<const VkPipelineExecutableInfoKHR *>( &executableInfo ), | |
| 23861 &internalRepresentationCount, | |
| 23862 reinterpret_cast<VkPipelineExecutableInternalRepresentationKHR *>( internalRepresentations.data() ) ) ); | |
| 23863 } | |
| 23864 } while ( result == Result::eIncomplete ); | |
| 23865 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getPipelineExecutableInternalRepresentationsKHR" ); | |
| 23866 VULKAN_HPP_ASSERT( internalRepresentationCount <= internalRepresentations.size() ); | |
| 23867 if ( internalRepresentationCount < internalRepresentations.size() ) | |
| 23868 { | |
| 23869 internalRepresentations.resize( internalRepresentationCount ); | |
| 23870 } | |
| 23871 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( internalRepresentations ) ); | |
| 23872 } | |
| 23873 | |
| 23874 //=== VK_EXT_host_image_copy === | |
| 23875 | |
| 23876 // wrapper function for command vkCopyMemoryToImageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToImageEXT.html | |
| 23877 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::copyMemoryToImageEXT( const CopyMemoryToImageInfo & copyMemoryToImageInfo ) const | |
| 23878 { | |
| 23879 VULKAN_HPP_ASSERT( getDispatcher()->vkCopyMemoryToImageEXT && "Function <vkCopyMemoryToImageEXT> requires <VK_EXT_host_image_copy> or <VK_VERSION_1_4>" ); | |
| 23880 | |
| 23881 Result result = static_cast<Result>( getDispatcher()->vkCopyMemoryToImageEXT( | |
| 23882 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkCopyMemoryToImageInfo *>( ©MemoryToImageInfo ) ) ); | |
| 23883 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyMemoryToImageEXT" ); | |
| 23884 | |
| 23885 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 23886 } | |
| 23887 | |
| 23888 // wrapper function for command vkCopyImageToMemoryEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToMemoryEXT.html | |
| 23889 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::copyImageToMemoryEXT( const CopyImageToMemoryInfo & copyImageToMemoryInfo ) const | |
| 23890 { | |
| 23891 VULKAN_HPP_ASSERT( getDispatcher()->vkCopyImageToMemoryEXT && "Function <vkCopyImageToMemoryEXT> requires <VK_EXT_host_image_copy> or <VK_VERSION_1_4>" ); | |
| 23892 | |
| 23893 Result result = static_cast<Result>( getDispatcher()->vkCopyImageToMemoryEXT( | |
| 23894 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkCopyImageToMemoryInfo *>( ©ImageToMemoryInfo ) ) ); | |
| 23895 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyImageToMemoryEXT" ); | |
| 23896 | |
| 23897 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 23898 } | |
| 23899 | |
| 23900 // wrapper function for command vkCopyImageToImageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToImageEXT.html | |
| 23901 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::copyImageToImageEXT( const CopyImageToImageInfo & copyImageToImageInfo ) const | |
| 23902 { | |
| 23903 VULKAN_HPP_ASSERT( getDispatcher()->vkCopyImageToImageEXT && "Function <vkCopyImageToImageEXT> requires <VK_EXT_host_image_copy> or <VK_VERSION_1_4>" ); | |
| 23904 | |
| 23905 Result result = static_cast<Result>( getDispatcher()->vkCopyImageToImageEXT( | |
| 23906 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkCopyImageToImageInfo *>( ©ImageToImageInfo ) ) ); | |
| 23907 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyImageToImageEXT" ); | |
| 23908 | |
| 23909 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 23910 } | |
| 23911 | |
| 23912 // wrapper function for command vkTransitionImageLayoutEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTransitionImageLayoutEXT.html | |
| 23913 VULKAN_HPP_INLINE typename ResultValueType<void>::type | |
| 23914 Device::transitionImageLayoutEXT( ArrayProxy<const HostImageLayoutTransitionInfo> const & transitions ) const | |
| 23915 { | |
| 23916 VULKAN_HPP_ASSERT( getDispatcher()->vkTransitionImageLayoutEXT && | |
| 23917 "Function <vkTransitionImageLayoutEXT> requires <VK_EXT_host_image_copy> or <VK_VERSION_1_4>" ); | |
| 23918 | |
| 23919 Result result = static_cast<Result>( getDispatcher()->vkTransitionImageLayoutEXT( | |
| 23920 static_cast<VkDevice>( m_device ), transitions.size(), reinterpret_cast<const VkHostImageLayoutTransitionInfo *>( transitions.data() ) ) ); | |
| 23921 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::transitionImageLayoutEXT" ); | |
| 23922 | |
| 23923 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 23924 } | |
| 23925 | |
| 23926 // wrapper function for command vkGetImageSubresourceLayout2EXT, see | |
| 23927 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2EXT.html | |
| 23928 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE SubresourceLayout2 Image::getSubresourceLayout2EXT( const ImageSubresource2 & subresource ) const VULKAN_HPP_NOEXCEPT | |
| 23929 { | |
| 23930 VULKAN_HPP_ASSERT( | |
| 23931 getDispatcher()->vkGetImageSubresourceLayout2EXT && | |
| 23932 "Function <vkGetImageSubresourceLayout2EXT> requires <VK_EXT_host_image_copy> or <VK_EXT_image_compression_control> or <VK_KHR_maintenance5> or <VK_VERSION_1_4>" ); | |
| 23933 | |
| 23934 SubresourceLayout2 layout; | |
| 23935 getDispatcher()->vkGetImageSubresourceLayout2EXT( static_cast<VkDevice>( m_device ), | |
| 23936 static_cast<VkImage>( m_image ), | |
| 23937 reinterpret_cast<const VkImageSubresource2 *>( &subresource ), | |
| 23938 reinterpret_cast<VkSubresourceLayout2 *>( &layout ) ); | |
| 23939 | |
| 23940 return layout; | |
| 23941 } | |
| 23942 | |
| 23943 // wrapper function for command vkGetImageSubresourceLayout2EXT, see | |
| 23944 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2EXT.html | |
| 23945 template <typename X, typename Y, typename... Z> | |
| 23946 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> | |
| 23947 Image::getSubresourceLayout2EXT( const ImageSubresource2 & subresource ) const VULKAN_HPP_NOEXCEPT | |
| 23948 { | |
| 23949 VULKAN_HPP_ASSERT( | |
| 23950 getDispatcher()->vkGetImageSubresourceLayout2EXT && | |
| 23951 "Function <vkGetImageSubresourceLayout2EXT> requires <VK_EXT_host_image_copy> or <VK_EXT_image_compression_control> or <VK_KHR_maintenance5> or <VK_VERSION_1_4>" ); | |
| 23952 | |
| 23953 StructureChain<X, Y, Z...> structureChain; | |
| 23954 SubresourceLayout2 & layout = structureChain.template get<SubresourceLayout2>(); | |
| 23955 getDispatcher()->vkGetImageSubresourceLayout2EXT( static_cast<VkDevice>( m_device ), | |
| 23956 static_cast<VkImage>( m_image ), | |
| 23957 reinterpret_cast<const VkImageSubresource2 *>( &subresource ), | |
| 23958 reinterpret_cast<VkSubresourceLayout2 *>( &layout ) ); | |
| 23959 | |
| 23960 return structureChain; | |
| 23961 } | |
| 23962 | |
| 23963 //=== VK_KHR_map_memory2 === | |
| 23964 | |
| 23965 // wrapper function for command vkMapMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMapMemory2KHR.html | |
| 23966 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<void *>::type Device::mapMemory2KHR( const MemoryMapInfo & memoryMapInfo ) const | |
| 23967 { | |
| 23968 VULKAN_HPP_ASSERT( getDispatcher()->vkMapMemory2KHR && "Function <vkMapMemory2KHR> requires <VK_KHR_map_memory2> or <VK_VERSION_1_4>" ); | |
| 23969 | |
| 23970 void * pData; | |
| 23971 Result result = static_cast<Result>( | |
| 23972 getDispatcher()->vkMapMemory2KHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkMemoryMapInfo *>( &memoryMapInfo ), &pData ) ); | |
| 23973 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::mapMemory2KHR" ); | |
| 23974 | |
| 23975 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pData ) ); | |
| 23976 } | |
| 23977 | |
| 23978 // wrapper function for command vkUnmapMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUnmapMemory2KHR.html | |
| 23979 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::unmapMemory2KHR( const MemoryUnmapInfo & memoryUnmapInfo ) const | |
| 23980 { | |
| 23981 VULKAN_HPP_ASSERT( getDispatcher()->vkUnmapMemory2KHR && "Function <vkUnmapMemory2KHR> requires <VK_KHR_map_memory2> or <VK_VERSION_1_4>" ); | |
| 23982 | |
| 23983 Result result = static_cast<Result>( | |
| 23984 getDispatcher()->vkUnmapMemory2KHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkMemoryUnmapInfo *>( &memoryUnmapInfo ) ) ); | |
| 23985 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::unmapMemory2KHR" ); | |
| 23986 | |
| 23987 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 23988 } | |
| 23989 | |
| 23990 //=== VK_EXT_swapchain_maintenance1 === | |
| 23991 | |
| 23992 // wrapper function for command vkReleaseSwapchainImagesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseSwapchainImagesEXT.html | |
| 23993 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::releaseSwapchainImagesEXT( const ReleaseSwapchainImagesInfoKHR & releaseInfo ) const | |
| 23994 { | |
| 23995 VULKAN_HPP_ASSERT( getDispatcher()->vkReleaseSwapchainImagesEXT && | |
| 23996 "Function <vkReleaseSwapchainImagesEXT> requires <VK_EXT_swapchain_maintenance1> or <VK_KHR_swapchain_maintenance1>" ); | |
| 23997 | |
| 23998 Result result = static_cast<Result>( getDispatcher()->vkReleaseSwapchainImagesEXT( | |
| 23999 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkReleaseSwapchainImagesInfoKHR *>( &releaseInfo ) ) ); | |
| 24000 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::releaseSwapchainImagesEXT" ); | |
| 24001 | |
| 24002 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 24003 } | |
| 24004 | |
| 24005 //=== VK_NV_device_generated_commands === | |
| 24006 | |
| 24007 // wrapper function for command vkGetGeneratedCommandsMemoryRequirementsNV, see | |
| 24008 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGeneratedCommandsMemoryRequirementsNV.html | |
| 24009 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 | |
| 24010 Device::getGeneratedCommandsMemoryRequirementsNV( const GeneratedCommandsMemoryRequirementsInfoNV & info ) const VULKAN_HPP_NOEXCEPT | |
| 24011 { | |
| 24012 VULKAN_HPP_ASSERT( getDispatcher()->vkGetGeneratedCommandsMemoryRequirementsNV && | |
| 24013 "Function <vkGetGeneratedCommandsMemoryRequirementsNV> requires <VK_NV_device_generated_commands>" ); | |
| 24014 | |
| 24015 MemoryRequirements2 memoryRequirements; | |
| 24016 getDispatcher()->vkGetGeneratedCommandsMemoryRequirementsNV( static_cast<VkDevice>( m_device ), | |
| 24017 reinterpret_cast<const VkGeneratedCommandsMemoryRequirementsInfoNV *>( &info ), | |
| 24018 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); | |
| 24019 | |
| 24020 return memoryRequirements; | |
| 24021 } | |
| 24022 | |
| 24023 // wrapper function for command vkGetGeneratedCommandsMemoryRequirementsNV, see | |
| 24024 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGeneratedCommandsMemoryRequirementsNV.html | |
| 24025 template <typename X, typename Y, typename... Z> | |
| 24026 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> | |
| 24027 Device::getGeneratedCommandsMemoryRequirementsNV( const GeneratedCommandsMemoryRequirementsInfoNV & info ) const VULKAN_HPP_NOEXCEPT | |
| 24028 { | |
| 24029 VULKAN_HPP_ASSERT( getDispatcher()->vkGetGeneratedCommandsMemoryRequirementsNV && | |
| 24030 "Function <vkGetGeneratedCommandsMemoryRequirementsNV> requires <VK_NV_device_generated_commands>" ); | |
| 24031 | |
| 24032 StructureChain<X, Y, Z...> structureChain; | |
| 24033 MemoryRequirements2 & memoryRequirements = structureChain.template get<MemoryRequirements2>(); | |
| 24034 getDispatcher()->vkGetGeneratedCommandsMemoryRequirementsNV( static_cast<VkDevice>( m_device ), | |
| 24035 reinterpret_cast<const VkGeneratedCommandsMemoryRequirementsInfoNV *>( &info ), | |
| 24036 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); | |
| 24037 | |
| 24038 return structureChain; | |
| 24039 } | |
| 24040 | |
| 24041 // wrapper function for command vkCmdPreprocessGeneratedCommandsNV, see | |
| 24042 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPreprocessGeneratedCommandsNV.html | |
| 24043 VULKAN_HPP_INLINE void CommandBuffer::preprocessGeneratedCommandsNV( const GeneratedCommandsInfoNV & generatedCommandsInfo ) const VULKAN_HPP_NOEXCEPT | |
| 24044 { | |
| 24045 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdPreprocessGeneratedCommandsNV && | |
| 24046 "Function <vkCmdPreprocessGeneratedCommandsNV> requires <VK_NV_device_generated_commands>" ); | |
| 24047 | |
| 24048 getDispatcher()->vkCmdPreprocessGeneratedCommandsNV( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 24049 reinterpret_cast<const VkGeneratedCommandsInfoNV *>( &generatedCommandsInfo ) ); | |
| 24050 } | |
| 24051 | |
| 24052 // wrapper function for command vkCmdExecuteGeneratedCommandsNV, see | |
| 24053 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdExecuteGeneratedCommandsNV.html | |
| 24054 VULKAN_HPP_INLINE void CommandBuffer::executeGeneratedCommandsNV( Bool32 isPreprocessed, | |
| 24055 const GeneratedCommandsInfoNV & generatedCommandsInfo ) const VULKAN_HPP_NOEXCEPT | |
| 24056 { | |
| 24057 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdExecuteGeneratedCommandsNV && | |
| 24058 "Function <vkCmdExecuteGeneratedCommandsNV> requires <VK_NV_device_generated_commands>" ); | |
| 24059 | |
| 24060 getDispatcher()->vkCmdExecuteGeneratedCommandsNV( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 24061 static_cast<VkBool32>( isPreprocessed ), | |
| 24062 reinterpret_cast<const VkGeneratedCommandsInfoNV *>( &generatedCommandsInfo ) ); | |
| 24063 } | |
| 24064 | |
| 24065 // wrapper function for command vkCmdBindPipelineShaderGroupNV, see | |
| 24066 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindPipelineShaderGroupNV.html | |
| 24067 VULKAN_HPP_INLINE void CommandBuffer::bindPipelineShaderGroupNV( PipelineBindPoint pipelineBindPoint, | |
| 24068 VULKAN_HPP_NAMESPACE::Pipeline pipeline, | |
| 24069 uint32_t groupIndex ) const VULKAN_HPP_NOEXCEPT | |
| 24070 { | |
| 24071 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBindPipelineShaderGroupNV && | |
| 24072 "Function <vkCmdBindPipelineShaderGroupNV> requires <VK_NV_device_generated_commands>" ); | |
| 24073 | |
| 24074 getDispatcher()->vkCmdBindPipelineShaderGroupNV( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 24075 static_cast<VkPipelineBindPoint>( pipelineBindPoint ), | |
| 24076 static_cast<VkPipeline>( pipeline ), | |
| 24077 groupIndex ); | |
| 24078 } | |
| 24079 | |
| 24080 // wrapper function for command vkCreateIndirectCommandsLayoutNV, see | |
| 24081 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectCommandsLayoutNV.html | |
| 24082 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<IndirectCommandsLayoutNV>::type | |
| 24083 Device::createIndirectCommandsLayoutNV( IndirectCommandsLayoutCreateInfoNV const & createInfo, | |
| 24084 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 24085 { | |
| 24086 VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout; | |
| 24087 Result result = | |
| 24088 static_cast<Result>( getDispatcher()->vkCreateIndirectCommandsLayoutNV( static_cast<VkDevice>( m_device ), | |
| 24089 reinterpret_cast<const VkIndirectCommandsLayoutCreateInfoNV *>( &createInfo ), | |
| 24090 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 24091 reinterpret_cast<VkIndirectCommandsLayoutNV *>( &indirectCommandsLayout ) ) ); | |
| 24092 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createIndirectCommandsLayoutNV" ); | |
| 24093 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( | |
| 24094 result, IndirectCommandsLayoutNV( *this, *reinterpret_cast<VkIndirectCommandsLayoutNV *>( &indirectCommandsLayout ), allocator ) ); | |
| 24095 } | |
| 24096 | |
| 24097 //=== VK_EXT_depth_bias_control === | |
| 24098 | |
| 24099 // wrapper function for command vkCmdSetDepthBias2EXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBias2EXT.html | |
| 24100 VULKAN_HPP_INLINE void CommandBuffer::setDepthBias2EXT( const DepthBiasInfoEXT & depthBiasInfo ) const VULKAN_HPP_NOEXCEPT | |
| 24101 { | |
| 24102 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDepthBias2EXT && "Function <vkCmdSetDepthBias2EXT> requires <VK_EXT_depth_bias_control>" ); | |
| 24103 | |
| 24104 getDispatcher()->vkCmdSetDepthBias2EXT( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkDepthBiasInfoEXT *>( &depthBiasInfo ) ); | |
| 24105 } | |
| 24106 | |
| 24107 //=== VK_EXT_acquire_drm_display === | |
| 24108 | |
| 24109 // wrapper function for command vkAcquireDrmDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireDrmDisplayEXT.html | |
| 24110 VULKAN_HPP_INLINE typename ResultValueType<void>::type PhysicalDevice::acquireDrmDisplayEXT( int32_t drmFd, VULKAN_HPP_NAMESPACE::DisplayKHR display ) const | |
| 24111 { | |
| 24112 VULKAN_HPP_ASSERT( getDispatcher()->vkAcquireDrmDisplayEXT && "Function <vkAcquireDrmDisplayEXT> requires <VK_EXT_acquire_drm_display>" ); | |
| 24113 | |
| 24114 Result result = static_cast<Result>( | |
| 24115 getDispatcher()->vkAcquireDrmDisplayEXT( static_cast<VkPhysicalDevice>( m_physicalDevice ), drmFd, static_cast<VkDisplayKHR>( display ) ) ); | |
| 24116 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::acquireDrmDisplayEXT" ); | |
| 24117 | |
| 24118 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 24119 } | |
| 24120 | |
| 24121 // wrapper function for command vkGetDrmDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDrmDisplayEXT.html | |
| 24122 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DisplayKHR>::type | |
| 24123 PhysicalDevice::getDrmDisplayEXT( int32_t drmFd, uint32_t connectorId ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 24124 { | |
| 24125 VULKAN_HPP_NAMESPACE::DisplayKHR display; | |
| 24126 Result result = static_cast<Result>( getDispatcher()->vkGetDrmDisplayEXT( | |
| 24127 static_cast<VkPhysicalDevice>( m_physicalDevice ), drmFd, connectorId, reinterpret_cast<VkDisplayKHR *>( &display ) ) ); | |
| 24128 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getDrmDisplayEXT" ); | |
| 24129 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, DisplayKHR( *this, *reinterpret_cast<VkDisplayKHR *>( &display ) ) ); | |
| 24130 } | |
| 24131 | |
| 24132 //=== VK_EXT_private_data === | |
| 24133 | |
| 24134 // wrapper function for command vkCreatePrivateDataSlotEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePrivateDataSlotEXT.html | |
| 24135 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<PrivateDataSlot>::type | |
| 24136 Device::createPrivateDataSlotEXT( PrivateDataSlotCreateInfo const & createInfo, | |
| 24137 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 24138 { | |
| 24139 VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot; | |
| 24140 Result result = static_cast<Result>( getDispatcher()->vkCreatePrivateDataSlotEXT( static_cast<VkDevice>( m_device ), | |
| 24141 reinterpret_cast<const VkPrivateDataSlotCreateInfo *>( &createInfo ), | |
| 24142 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 24143 reinterpret_cast<VkPrivateDataSlot *>( &privateDataSlot ) ) ); | |
| 24144 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createPrivateDataSlotEXT" ); | |
| 24145 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( | |
| 24146 result, PrivateDataSlot( *this, *reinterpret_cast<VkPrivateDataSlot *>( &privateDataSlot ), allocator ) ); | |
| 24147 } | |
| 24148 | |
| 24149 // wrapper function for command vkDestroyPrivateDataSlotEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPrivateDataSlotEXT.html | |
| 24150 VULKAN_HPP_INLINE void Device::destroyPrivateDataSlotEXT( VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot, | |
| 24151 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT | |
| 24152 { | |
| 24153 VULKAN_HPP_ASSERT( getDispatcher()->vkDestroyPrivateDataSlotEXT && | |
| 24154 "Function <vkDestroyPrivateDataSlotEXT> requires <VK_EXT_private_data> or <VK_VERSION_1_3>" ); | |
| 24155 | |
| 24156 getDispatcher()->vkDestroyPrivateDataSlotEXT( static_cast<VkDevice>( m_device ), | |
| 24157 static_cast<VkPrivateDataSlot>( privateDataSlot ), | |
| 24158 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ) ); | |
| 24159 } | |
| 24160 | |
| 24161 // wrapper function for command vkSetPrivateDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetPrivateDataEXT.html | |
| 24162 VULKAN_HPP_INLINE typename ResultValueType<void>::type | |
| 24163 Device::setPrivateDataEXT( ObjectType objectType_, uint64_t objectHandle, VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot, uint64_t data ) const | |
| 24164 { | |
| 24165 VULKAN_HPP_ASSERT( getDispatcher()->vkSetPrivateDataEXT && "Function <vkSetPrivateDataEXT> requires <VK_EXT_private_data> or <VK_VERSION_1_3>" ); | |
| 24166 | |
| 24167 Result result = static_cast<Result>( getDispatcher()->vkSetPrivateDataEXT( | |
| 24168 static_cast<VkDevice>( m_device ), static_cast<VkObjectType>( objectType_ ), objectHandle, static_cast<VkPrivateDataSlot>( privateDataSlot ), data ) ); | |
| 24169 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::setPrivateDataEXT" ); | |
| 24170 | |
| 24171 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 24172 } | |
| 24173 | |
| 24174 // wrapper function for command vkGetPrivateDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPrivateDataEXT.html | |
| 24175 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t Device::getPrivateDataEXT( ObjectType objectType_, | |
| 24176 uint64_t objectHandle, | |
| 24177 VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot ) const VULKAN_HPP_NOEXCEPT | |
| 24178 { | |
| 24179 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPrivateDataEXT && "Function <vkGetPrivateDataEXT> requires <VK_EXT_private_data> or <VK_VERSION_1_3>" ); | |
| 24180 | |
| 24181 uint64_t data; | |
| 24182 getDispatcher()->vkGetPrivateDataEXT( | |
| 24183 static_cast<VkDevice>( m_device ), static_cast<VkObjectType>( objectType_ ), objectHandle, static_cast<VkPrivateDataSlot>( privateDataSlot ), &data ); | |
| 24184 | |
| 24185 return data; | |
| 24186 } | |
| 24187 | |
| 24188 //=== VK_KHR_video_encode_queue === | |
| 24189 // wrapper function for command vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR, see | |
| 24190 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR.html | |
| 24191 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result | |
| 24192 PhysicalDevice::getVideoEncodeQualityLevelPropertiesKHR( const PhysicalDeviceVideoEncodeQualityLevelInfoKHR * pQualityLevelInfo, | |
| 24193 VideoEncodeQualityLevelPropertiesKHR * pQualityLevelProperties ) const VULKAN_HPP_NOEXCEPT | |
| 24194 { | |
| 24195 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR && | |
| 24196 "Function <vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR> requires <VK_KHR_video_encode_queue>" ); | |
| 24197 return static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( | |
| 24198 static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 24199 reinterpret_cast<const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR *>( pQualityLevelInfo ), | |
| 24200 reinterpret_cast<VkVideoEncodeQualityLevelPropertiesKHR *>( pQualityLevelProperties ) ) ); | |
| 24201 } | |
| 24202 | |
| 24203 // wrapper function for command vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR, see | |
| 24204 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR.html | |
| 24205 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VideoEncodeQualityLevelPropertiesKHR>::type | |
| 24206 PhysicalDevice::getVideoEncodeQualityLevelPropertiesKHR( const PhysicalDeviceVideoEncodeQualityLevelInfoKHR & qualityLevelInfo ) const | |
| 24207 { | |
| 24208 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR && | |
| 24209 "Function <vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR> requires <VK_KHR_video_encode_queue>" ); | |
| 24210 | |
| 24211 VideoEncodeQualityLevelPropertiesKHR qualityLevelProperties; | |
| 24212 Result result = static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( | |
| 24213 static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 24214 reinterpret_cast<const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR *>( &qualityLevelInfo ), | |
| 24215 reinterpret_cast<VkVideoEncodeQualityLevelPropertiesKHR *>( &qualityLevelProperties ) ) ); | |
| 24216 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getVideoEncodeQualityLevelPropertiesKHR" ); | |
| 24217 | |
| 24218 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( qualityLevelProperties ) ); | |
| 24219 } | |
| 24220 | |
| 24221 // wrapper function for command vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR, see | |
| 24222 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR.html | |
| 24223 template <typename X, typename Y, typename... Z> | |
| 24224 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<StructureChain<X, Y, Z...>>::type | |
| 24225 PhysicalDevice::getVideoEncodeQualityLevelPropertiesKHR( const PhysicalDeviceVideoEncodeQualityLevelInfoKHR & qualityLevelInfo ) const | |
| 24226 { | |
| 24227 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR && | |
| 24228 "Function <vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR> requires <VK_KHR_video_encode_queue>" ); | |
| 24229 | |
| 24230 StructureChain<X, Y, Z...> structureChain; | |
| 24231 VideoEncodeQualityLevelPropertiesKHR & qualityLevelProperties = structureChain.template get<VideoEncodeQualityLevelPropertiesKHR>(); | |
| 24232 Result result = static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( | |
| 24233 static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 24234 reinterpret_cast<const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR *>( &qualityLevelInfo ), | |
| 24235 reinterpret_cast<VkVideoEncodeQualityLevelPropertiesKHR *>( &qualityLevelProperties ) ) ); | |
| 24236 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getVideoEncodeQualityLevelPropertiesKHR" ); | |
| 24237 | |
| 24238 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChain ) ); | |
| 24239 } | |
| 24240 | |
| 24241 // wrapper function for command vkGetEncodedVideoSessionParametersKHR, see | |
| 24242 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetEncodedVideoSessionParametersKHR.html | |
| 24243 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::pair<VideoEncodeSessionParametersFeedbackInfoKHR, std::vector<uint8_t>>>::type | |
| 24244 Device::getEncodedVideoSessionParametersKHR( const VideoEncodeSessionParametersGetInfoKHR & videoSessionParametersInfo ) const | |
| 24245 { | |
| 24246 VULKAN_HPP_ASSERT( getDispatcher()->vkGetEncodedVideoSessionParametersKHR && | |
| 24247 "Function <vkGetEncodedVideoSessionParametersKHR> requires <VK_KHR_video_encode_queue>" ); | |
| 24248 | |
| 24249 std::pair<VideoEncodeSessionParametersFeedbackInfoKHR, std::vector<uint8_t>> data_; | |
| 24250 VideoEncodeSessionParametersFeedbackInfoKHR & feedbackInfo = data_.first; | |
| 24251 std::vector<uint8_t> & data = data_.second; | |
| 24252 size_t dataSize; | |
| 24253 Result result; | |
| 24254 do | |
| 24255 { | |
| 24256 result = static_cast<Result>( getDispatcher()->vkGetEncodedVideoSessionParametersKHR( | |
| 24257 static_cast<VkDevice>( m_device ), | |
| 24258 reinterpret_cast<const VkVideoEncodeSessionParametersGetInfoKHR *>( &videoSessionParametersInfo ), | |
| 24259 reinterpret_cast<VkVideoEncodeSessionParametersFeedbackInfoKHR *>( &feedbackInfo ), | |
| 24260 &dataSize, | |
| 24261 nullptr ) ); | |
| 24262 if ( ( result == Result::eSuccess ) && dataSize ) | |
| 24263 { | |
| 24264 data.resize( dataSize ); | |
| 24265 result = static_cast<Result>( getDispatcher()->vkGetEncodedVideoSessionParametersKHR( | |
| 24266 static_cast<VkDevice>( m_device ), | |
| 24267 reinterpret_cast<const VkVideoEncodeSessionParametersGetInfoKHR *>( &videoSessionParametersInfo ), | |
| 24268 reinterpret_cast<VkVideoEncodeSessionParametersFeedbackInfoKHR *>( &feedbackInfo ), | |
| 24269 &dataSize, | |
| 24270 reinterpret_cast<void *>( data.data() ) ) ); | |
| 24271 } | |
| 24272 } while ( result == Result::eIncomplete ); | |
| 24273 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getEncodedVideoSessionParametersKHR" ); | |
| 24274 | |
| 24275 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); | |
| 24276 } | |
| 24277 | |
| 24278 // wrapper function for command vkGetEncodedVideoSessionParametersKHR, see | |
| 24279 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetEncodedVideoSessionParametersKHR.html | |
| 24280 template <typename X, typename Y, typename... Z> | |
| 24281 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::pair<StructureChain<X, Y, Z...>, std::vector<uint8_t>>>::type | |
| 24282 Device::getEncodedVideoSessionParametersKHR( const VideoEncodeSessionParametersGetInfoKHR & videoSessionParametersInfo ) const | |
| 24283 { | |
| 24284 VULKAN_HPP_ASSERT( getDispatcher()->vkGetEncodedVideoSessionParametersKHR && | |
| 24285 "Function <vkGetEncodedVideoSessionParametersKHR> requires <VK_KHR_video_encode_queue>" ); | |
| 24286 | |
| 24287 std::pair<StructureChain<X, Y, Z...>, std::vector<uint8_t>> data_; | |
| 24288 VideoEncodeSessionParametersFeedbackInfoKHR & feedbackInfo = data_.first.template get<VideoEncodeSessionParametersFeedbackInfoKHR>(); | |
| 24289 std::vector<uint8_t> & data = data_.second; | |
| 24290 size_t dataSize; | |
| 24291 Result result; | |
| 24292 do | |
| 24293 { | |
| 24294 result = static_cast<Result>( getDispatcher()->vkGetEncodedVideoSessionParametersKHR( | |
| 24295 static_cast<VkDevice>( m_device ), | |
| 24296 reinterpret_cast<const VkVideoEncodeSessionParametersGetInfoKHR *>( &videoSessionParametersInfo ), | |
| 24297 reinterpret_cast<VkVideoEncodeSessionParametersFeedbackInfoKHR *>( &feedbackInfo ), | |
| 24298 &dataSize, | |
| 24299 nullptr ) ); | |
| 24300 if ( ( result == Result::eSuccess ) && dataSize ) | |
| 24301 { | |
| 24302 data.resize( dataSize ); | |
| 24303 result = static_cast<Result>( getDispatcher()->vkGetEncodedVideoSessionParametersKHR( | |
| 24304 static_cast<VkDevice>( m_device ), | |
| 24305 reinterpret_cast<const VkVideoEncodeSessionParametersGetInfoKHR *>( &videoSessionParametersInfo ), | |
| 24306 reinterpret_cast<VkVideoEncodeSessionParametersFeedbackInfoKHR *>( &feedbackInfo ), | |
| 24307 &dataSize, | |
| 24308 reinterpret_cast<void *>( data.data() ) ) ); | |
| 24309 } | |
| 24310 } while ( result == Result::eIncomplete ); | |
| 24311 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getEncodedVideoSessionParametersKHR" ); | |
| 24312 | |
| 24313 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); | |
| 24314 } | |
| 24315 | |
| 24316 // wrapper function for command vkCmdEncodeVideoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEncodeVideoKHR.html | |
| 24317 VULKAN_HPP_INLINE void CommandBuffer::encodeVideoKHR( const VideoEncodeInfoKHR & encodeInfo ) const VULKAN_HPP_NOEXCEPT | |
| 24318 { | |
| 24319 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdEncodeVideoKHR && "Function <vkCmdEncodeVideoKHR> requires <VK_KHR_video_encode_queue>" ); | |
| 24320 | |
| 24321 getDispatcher()->vkCmdEncodeVideoKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkVideoEncodeInfoKHR *>( &encodeInfo ) ); | |
| 24322 } | |
| 24323 | |
| 24324 # if defined( VK_ENABLE_BETA_EXTENSIONS ) | |
| 24325 //=== VK_NV_cuda_kernel_launch === | |
| 24326 | |
| 24327 // wrapper function for command vkCreateCudaModuleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCudaModuleNV.html | |
| 24328 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<CudaModuleNV>::type | |
| 24329 Device::createCudaModuleNV( CudaModuleCreateInfoNV const & createInfo, | |
| 24330 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 24331 { | |
| 24332 VULKAN_HPP_NAMESPACE::CudaModuleNV module; | |
| 24333 Result result = static_cast<Result>( getDispatcher()->vkCreateCudaModuleNV( static_cast<VkDevice>( m_device ), | |
| 24334 reinterpret_cast<const VkCudaModuleCreateInfoNV *>( &createInfo ), | |
| 24335 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 24336 reinterpret_cast<VkCudaModuleNV *>( &module ) ) ); | |
| 24337 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createCudaModuleNV" ); | |
| 24338 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, CudaModuleNV( *this, *reinterpret_cast<VkCudaModuleNV *>( &module ), allocator ) ); | |
| 24339 } | |
| 24340 | |
| 24341 // wrapper function for command vkGetCudaModuleCacheNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCudaModuleCacheNV.html | |
| 24342 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<uint8_t>>::type CudaModuleNV::getCache() const | |
| 24343 { | |
| 24344 VULKAN_HPP_ASSERT( getDispatcher()->vkGetCudaModuleCacheNV && "Function <vkGetCudaModuleCacheNV> requires <VK_NV_cuda_kernel_launch>" ); | |
| 24345 | |
| 24346 std::vector<uint8_t> cacheData; | |
| 24347 size_t cacheSize; | |
| 24348 Result result; | |
| 24349 do | |
| 24350 { | |
| 24351 result = static_cast<Result>( | |
| 24352 getDispatcher()->vkGetCudaModuleCacheNV( static_cast<VkDevice>( m_device ), static_cast<VkCudaModuleNV>( m_cudaModuleNV ), &cacheSize, nullptr ) ); | |
| 24353 if ( ( result == Result::eSuccess ) && cacheSize ) | |
| 24354 { | |
| 24355 cacheData.resize( cacheSize ); | |
| 24356 result = static_cast<Result>( getDispatcher()->vkGetCudaModuleCacheNV( | |
| 24357 static_cast<VkDevice>( m_device ), static_cast<VkCudaModuleNV>( m_cudaModuleNV ), &cacheSize, reinterpret_cast<void *>( cacheData.data() ) ) ); | |
| 24358 } | |
| 24359 } while ( result == Result::eIncomplete ); | |
| 24360 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::CudaModuleNV::getCache" ); | |
| 24361 VULKAN_HPP_ASSERT( cacheSize <= cacheData.size() ); | |
| 24362 if ( cacheSize < cacheData.size() ) | |
| 24363 { | |
| 24364 cacheData.resize( cacheSize ); | |
| 24365 } | |
| 24366 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( cacheData ) ); | |
| 24367 } | |
| 24368 | |
| 24369 // wrapper function for command vkCreateCudaFunctionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCudaFunctionNV.html | |
| 24370 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<CudaFunctionNV>::type | |
| 24371 Device::createCudaFunctionNV( CudaFunctionCreateInfoNV const & createInfo, | |
| 24372 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 24373 { | |
| 24374 VULKAN_HPP_NAMESPACE::CudaFunctionNV function; | |
| 24375 Result result = static_cast<Result>( getDispatcher()->vkCreateCudaFunctionNV( static_cast<VkDevice>( m_device ), | |
| 24376 reinterpret_cast<const VkCudaFunctionCreateInfoNV *>( &createInfo ), | |
| 24377 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 24378 reinterpret_cast<VkCudaFunctionNV *>( &function ) ) ); | |
| 24379 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createCudaFunctionNV" ); | |
| 24380 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, | |
| 24381 CudaFunctionNV( *this, *reinterpret_cast<VkCudaFunctionNV *>( &function ), allocator ) ); | |
| 24382 } | |
| 24383 | |
| 24384 // wrapper function for command vkCmdCudaLaunchKernelNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCudaLaunchKernelNV.html | |
| 24385 VULKAN_HPP_INLINE void CommandBuffer::cudaLaunchKernelNV( const CudaLaunchInfoNV & launchInfo ) const VULKAN_HPP_NOEXCEPT | |
| 24386 { | |
| 24387 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCudaLaunchKernelNV && "Function <vkCmdCudaLaunchKernelNV> requires <VK_NV_cuda_kernel_launch>" ); | |
| 24388 | |
| 24389 getDispatcher()->vkCmdCudaLaunchKernelNV( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkCudaLaunchInfoNV *>( &launchInfo ) ); | |
| 24390 } | |
| 24391 # endif /*VK_ENABLE_BETA_EXTENSIONS*/ | |
| 24392 | |
| 24393 //=== VK_QCOM_tile_shading === | |
| 24394 | |
| 24395 // wrapper function for command vkCmdDispatchTileQCOM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchTileQCOM.html | |
| 24396 VULKAN_HPP_INLINE void CommandBuffer::dispatchTileQCOM( const DispatchTileInfoQCOM & dispatchTileInfo ) const VULKAN_HPP_NOEXCEPT | |
| 24397 { | |
| 24398 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDispatchTileQCOM && "Function <vkCmdDispatchTileQCOM> requires <VK_QCOM_tile_shading>" ); | |
| 24399 | |
| 24400 getDispatcher()->vkCmdDispatchTileQCOM( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 24401 reinterpret_cast<const VkDispatchTileInfoQCOM *>( &dispatchTileInfo ) ); | |
| 24402 } | |
| 24403 | |
| 24404 // wrapper function for command vkCmdBeginPerTileExecutionQCOM, see | |
| 24405 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginPerTileExecutionQCOM.html | |
| 24406 VULKAN_HPP_INLINE void CommandBuffer::beginPerTileExecutionQCOM( const PerTileBeginInfoQCOM & perTileBeginInfo ) const VULKAN_HPP_NOEXCEPT | |
| 24407 { | |
| 24408 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBeginPerTileExecutionQCOM && "Function <vkCmdBeginPerTileExecutionQCOM> requires <VK_QCOM_tile_shading>" ); | |
| 24409 | |
| 24410 getDispatcher()->vkCmdBeginPerTileExecutionQCOM( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 24411 reinterpret_cast<const VkPerTileBeginInfoQCOM *>( &perTileBeginInfo ) ); | |
| 24412 } | |
| 24413 | |
| 24414 // wrapper function for command vkCmdEndPerTileExecutionQCOM, see | |
| 24415 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndPerTileExecutionQCOM.html | |
| 24416 VULKAN_HPP_INLINE void CommandBuffer::endPerTileExecutionQCOM( const PerTileEndInfoQCOM & perTileEndInfo ) const VULKAN_HPP_NOEXCEPT | |
| 24417 { | |
| 24418 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdEndPerTileExecutionQCOM && "Function <vkCmdEndPerTileExecutionQCOM> requires <VK_QCOM_tile_shading>" ); | |
| 24419 | |
| 24420 getDispatcher()->vkCmdEndPerTileExecutionQCOM( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 24421 reinterpret_cast<const VkPerTileEndInfoQCOM *>( &perTileEndInfo ) ); | |
| 24422 } | |
| 24423 | |
| 24424 # if defined( VK_USE_PLATFORM_METAL_EXT ) | |
| 24425 //=== VK_EXT_metal_objects === | |
| 24426 | |
| 24427 // wrapper function for command vkExportMetalObjectsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkExportMetalObjectsEXT.html | |
| 24428 VULKAN_HPP_INLINE void Device::exportMetalObjectsEXT( ExportMetalObjectsInfoEXT & metalObjectsInfo ) const VULKAN_HPP_NOEXCEPT | |
| 24429 { | |
| 24430 VULKAN_HPP_ASSERT( getDispatcher()->vkExportMetalObjectsEXT && "Function <vkExportMetalObjectsEXT> requires <VK_EXT_metal_objects>" ); | |
| 24431 | |
| 24432 getDispatcher()->vkExportMetalObjectsEXT( static_cast<VkDevice>( m_device ), reinterpret_cast<VkExportMetalObjectsInfoEXT *>( &metalObjectsInfo ) ); | |
| 24433 } | |
| 24434 # endif /*VK_USE_PLATFORM_METAL_EXT*/ | |
| 24435 | |
| 24436 //=== VK_KHR_synchronization2 === | |
| 24437 | |
| 24438 // wrapper function for command vkCmdSetEvent2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetEvent2KHR.html | |
| 24439 VULKAN_HPP_INLINE void CommandBuffer::setEvent2KHR( VULKAN_HPP_NAMESPACE::Event event, const DependencyInfo & dependencyInfo ) const VULKAN_HPP_NOEXCEPT | |
| 24440 { | |
| 24441 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetEvent2KHR && "Function <vkCmdSetEvent2KHR> requires <VK_KHR_synchronization2> or <VK_VERSION_1_3>" ); | |
| 24442 | |
| 24443 getDispatcher()->vkCmdSetEvent2KHR( | |
| 24444 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkEvent>( event ), reinterpret_cast<const VkDependencyInfo *>( &dependencyInfo ) ); | |
| 24445 } | |
| 24446 | |
| 24447 // wrapper function for command vkCmdResetEvent2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResetEvent2KHR.html | |
| 24448 VULKAN_HPP_INLINE void CommandBuffer::resetEvent2KHR( VULKAN_HPP_NAMESPACE::Event event, PipelineStageFlags2 stageMask ) const VULKAN_HPP_NOEXCEPT | |
| 24449 { | |
| 24450 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdResetEvent2KHR && "Function <vkCmdResetEvent2KHR> requires <VK_KHR_synchronization2> or <VK_VERSION_1_3>" ); | |
| 24451 | |
| 24452 getDispatcher()->vkCmdResetEvent2KHR( | |
| 24453 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkEvent>( event ), static_cast<VkPipelineStageFlags2>( stageMask ) ); | |
| 24454 } | |
| 24455 | |
| 24456 // wrapper function for command vkCmdWaitEvents2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWaitEvents2KHR.html | |
| 24457 VULKAN_HPP_INLINE void CommandBuffer::waitEvents2KHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const & events, | |
| 24458 ArrayProxy<const DependencyInfo> const & dependencyInfos ) const | |
| 24459 { | |
| 24460 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdWaitEvents2KHR && "Function <vkCmdWaitEvents2KHR> requires <VK_KHR_synchronization2> or <VK_VERSION_1_3>" ); | |
| 24461 # ifdef VULKAN_HPP_NO_EXCEPTIONS | |
| 24462 VULKAN_HPP_ASSERT( events.size() == dependencyInfos.size() ); | |
| 24463 # else | |
| 24464 if ( events.size() != dependencyInfos.size() ) | |
| 24465 { | |
| 24466 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::waitEvents2KHR: events.size() != dependencyInfos.size()" ); | |
| 24467 } | |
| 24468 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ | |
| 24469 | |
| 24470 getDispatcher()->vkCmdWaitEvents2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 24471 events.size(), | |
| 24472 reinterpret_cast<const VkEvent *>( events.data() ), | |
| 24473 reinterpret_cast<const VkDependencyInfo *>( dependencyInfos.data() ) ); | |
| 24474 } | |
| 24475 | |
| 24476 // wrapper function for command vkCmdPipelineBarrier2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPipelineBarrier2KHR.html | |
| 24477 VULKAN_HPP_INLINE void CommandBuffer::pipelineBarrier2KHR( const DependencyInfo & dependencyInfo ) const VULKAN_HPP_NOEXCEPT | |
| 24478 { | |
| 24479 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdPipelineBarrier2KHR && | |
| 24480 "Function <vkCmdPipelineBarrier2KHR> requires <VK_KHR_synchronization2> or <VK_VERSION_1_3>" ); | |
| 24481 | |
| 24482 getDispatcher()->vkCmdPipelineBarrier2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 24483 reinterpret_cast<const VkDependencyInfo *>( &dependencyInfo ) ); | |
| 24484 } | |
| 24485 | |
| 24486 // wrapper function for command vkCmdWriteTimestamp2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteTimestamp2KHR.html | |
| 24487 VULKAN_HPP_INLINE void | |
| 24488 CommandBuffer::writeTimestamp2KHR( PipelineStageFlags2 stage, VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT | |
| 24489 { | |
| 24490 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdWriteTimestamp2KHR && | |
| 24491 "Function <vkCmdWriteTimestamp2KHR> requires <VK_KHR_synchronization2> or <VK_VERSION_1_3>" ); | |
| 24492 | |
| 24493 getDispatcher()->vkCmdWriteTimestamp2KHR( | |
| 24494 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkPipelineStageFlags2>( stage ), static_cast<VkQueryPool>( queryPool ), query ); | |
| 24495 } | |
| 24496 | |
| 24497 // wrapper function for command vkQueueSubmit2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSubmit2KHR.html | |
| 24498 VULKAN_HPP_INLINE typename ResultValueType<void>::type Queue::submit2KHR( ArrayProxy<const SubmitInfo2> const & submits, | |
| 24499 VULKAN_HPP_NAMESPACE::Fence fence ) const | |
| 24500 { | |
| 24501 VULKAN_HPP_ASSERT( getDispatcher()->vkQueueSubmit2KHR && "Function <vkQueueSubmit2KHR> requires <VK_KHR_synchronization2> or <VK_VERSION_1_3>" ); | |
| 24502 | |
| 24503 Result result = static_cast<Result>( getDispatcher()->vkQueueSubmit2KHR( | |
| 24504 static_cast<VkQueue>( m_queue ), submits.size(), reinterpret_cast<const VkSubmitInfo2 *>( submits.data() ), static_cast<VkFence>( fence ) ) ); | |
| 24505 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Queue::submit2KHR" ); | |
| 24506 | |
| 24507 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 24508 } | |
| 24509 | |
| 24510 //=== VK_EXT_descriptor_buffer === | |
| 24511 | |
| 24512 // wrapper function for command vkGetDescriptorSetLayoutSizeEXT, see | |
| 24513 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSizeEXT.html | |
| 24514 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE DeviceSize DescriptorSetLayout::getSizeEXT() const VULKAN_HPP_NOEXCEPT | |
| 24515 { | |
| 24516 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDescriptorSetLayoutSizeEXT && "Function <vkGetDescriptorSetLayoutSizeEXT> requires <VK_EXT_descriptor_buffer>" ); | |
| 24517 | |
| 24518 DeviceSize layoutSizeInBytes; | |
| 24519 getDispatcher()->vkGetDescriptorSetLayoutSizeEXT( static_cast<VkDevice>( m_device ), | |
| 24520 static_cast<VkDescriptorSetLayout>( m_descriptorSetLayout ), | |
| 24521 reinterpret_cast<VkDeviceSize *>( &layoutSizeInBytes ) ); | |
| 24522 | |
| 24523 return layoutSizeInBytes; | |
| 24524 } | |
| 24525 | |
| 24526 // wrapper function for command vkGetDescriptorSetLayoutBindingOffsetEXT, see | |
| 24527 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutBindingOffsetEXT.html | |
| 24528 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE DeviceSize DescriptorSetLayout::getBindingOffsetEXT( uint32_t binding ) const VULKAN_HPP_NOEXCEPT | |
| 24529 { | |
| 24530 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDescriptorSetLayoutBindingOffsetEXT && | |
| 24531 "Function <vkGetDescriptorSetLayoutBindingOffsetEXT> requires <VK_EXT_descriptor_buffer>" ); | |
| 24532 | |
| 24533 DeviceSize offset; | |
| 24534 getDispatcher()->vkGetDescriptorSetLayoutBindingOffsetEXT( | |
| 24535 static_cast<VkDevice>( m_device ), static_cast<VkDescriptorSetLayout>( m_descriptorSetLayout ), binding, reinterpret_cast<VkDeviceSize *>( &offset ) ); | |
| 24536 | |
| 24537 return offset; | |
| 24538 } | |
| 24539 | |
| 24540 // wrapper function for command vkGetDescriptorEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorEXT.html | |
| 24541 VULKAN_HPP_INLINE void | |
| 24542 Device::getDescriptorEXT( const DescriptorGetInfoEXT & descriptorInfo, size_t dataSize, void * pDescriptor ) const VULKAN_HPP_NOEXCEPT | |
| 24543 { | |
| 24544 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDescriptorEXT && "Function <vkGetDescriptorEXT> requires <VK_EXT_descriptor_buffer>" ); | |
| 24545 | |
| 24546 getDispatcher()->vkGetDescriptorEXT( | |
| 24547 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkDescriptorGetInfoEXT *>( &descriptorInfo ), dataSize, pDescriptor ); | |
| 24548 } | |
| 24549 | |
| 24550 // wrapper function for command vkGetDescriptorEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorEXT.html | |
| 24551 template <typename DescriptorType> | |
| 24552 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE DescriptorType Device::getDescriptorEXT( const DescriptorGetInfoEXT & descriptorInfo ) const VULKAN_HPP_NOEXCEPT | |
| 24553 { | |
| 24554 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDescriptorEXT && "Function <vkGetDescriptorEXT> requires <VK_EXT_descriptor_buffer>" ); | |
| 24555 | |
| 24556 DescriptorType descriptor; | |
| 24557 getDispatcher()->vkGetDescriptorEXT( static_cast<VkDevice>( m_device ), | |
| 24558 reinterpret_cast<const VkDescriptorGetInfoEXT *>( &descriptorInfo ), | |
| 24559 sizeof( DescriptorType ), | |
| 24560 reinterpret_cast<void *>( &descriptor ) ); | |
| 24561 | |
| 24562 return descriptor; | |
| 24563 } | |
| 24564 | |
| 24565 // wrapper function for command vkCmdBindDescriptorBuffersEXT, see | |
| 24566 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorBuffersEXT.html | |
| 24567 VULKAN_HPP_INLINE void | |
| 24568 CommandBuffer::bindDescriptorBuffersEXT( ArrayProxy<const DescriptorBufferBindingInfoEXT> const & bindingInfos ) const VULKAN_HPP_NOEXCEPT | |
| 24569 { | |
| 24570 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBindDescriptorBuffersEXT && "Function <vkCmdBindDescriptorBuffersEXT> requires <VK_EXT_descriptor_buffer>" ); | |
| 24571 | |
| 24572 getDispatcher()->vkCmdBindDescriptorBuffersEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 24573 bindingInfos.size(), | |
| 24574 reinterpret_cast<const VkDescriptorBufferBindingInfoEXT *>( bindingInfos.data() ) ); | |
| 24575 } | |
| 24576 | |
| 24577 // wrapper function for command vkCmdSetDescriptorBufferOffsetsEXT, see | |
| 24578 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDescriptorBufferOffsetsEXT.html | |
| 24579 VULKAN_HPP_INLINE void CommandBuffer::setDescriptorBufferOffsetsEXT( PipelineBindPoint pipelineBindPoint, | |
| 24580 VULKAN_HPP_NAMESPACE::PipelineLayout layout, | |
| 24581 uint32_t firstSet, | |
| 24582 ArrayProxy<const uint32_t> const & bufferIndices, | |
| 24583 ArrayProxy<const DeviceSize> const & offsets ) const | |
| 24584 { | |
| 24585 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDescriptorBufferOffsetsEXT && | |
| 24586 "Function <vkCmdSetDescriptorBufferOffsetsEXT> requires <VK_EXT_descriptor_buffer>" ); | |
| 24587 # ifdef VULKAN_HPP_NO_EXCEPTIONS | |
| 24588 VULKAN_HPP_ASSERT( bufferIndices.size() == offsets.size() ); | |
| 24589 # else | |
| 24590 if ( bufferIndices.size() != offsets.size() ) | |
| 24591 { | |
| 24592 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::setDescriptorBufferOffsetsEXT: bufferIndices.size() != offsets.size()" ); | |
| 24593 } | |
| 24594 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ | |
| 24595 | |
| 24596 getDispatcher()->vkCmdSetDescriptorBufferOffsetsEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 24597 static_cast<VkPipelineBindPoint>( pipelineBindPoint ), | |
| 24598 static_cast<VkPipelineLayout>( layout ), | |
| 24599 firstSet, | |
| 24600 bufferIndices.size(), | |
| 24601 bufferIndices.data(), | |
| 24602 reinterpret_cast<const VkDeviceSize *>( offsets.data() ) ); | |
| 24603 } | |
| 24604 | |
| 24605 // wrapper function for command vkCmdBindDescriptorBufferEmbeddedSamplersEXT, see | |
| 24606 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorBufferEmbeddedSamplersEXT.html | |
| 24607 VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorBufferEmbeddedSamplersEXT( PipelineBindPoint pipelineBindPoint, | |
| 24608 VULKAN_HPP_NAMESPACE::PipelineLayout layout, | |
| 24609 uint32_t set ) const VULKAN_HPP_NOEXCEPT | |
| 24610 { | |
| 24611 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBindDescriptorBufferEmbeddedSamplersEXT && | |
| 24612 "Function <vkCmdBindDescriptorBufferEmbeddedSamplersEXT> requires <VK_EXT_descriptor_buffer>" ); | |
| 24613 | |
| 24614 getDispatcher()->vkCmdBindDescriptorBufferEmbeddedSamplersEXT( | |
| 24615 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkPipelineBindPoint>( pipelineBindPoint ), static_cast<VkPipelineLayout>( layout ), set ); | |
| 24616 } | |
| 24617 | |
| 24618 // wrapper function for command vkGetBufferOpaqueCaptureDescriptorDataEXT, see | |
| 24619 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferOpaqueCaptureDescriptorDataEXT.html | |
| 24620 template <typename DataType> | |
| 24621 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type | |
| 24622 Device::getBufferOpaqueCaptureDescriptorDataEXT( const BufferCaptureDescriptorDataInfoEXT & info ) const | |
| 24623 { | |
| 24624 VULKAN_HPP_ASSERT( getDispatcher()->vkGetBufferOpaqueCaptureDescriptorDataEXT && | |
| 24625 "Function <vkGetBufferOpaqueCaptureDescriptorDataEXT> requires <VK_EXT_descriptor_buffer>" ); | |
| 24626 | |
| 24627 DataType data; | |
| 24628 Result result = static_cast<Result>( getDispatcher()->vkGetBufferOpaqueCaptureDescriptorDataEXT( | |
| 24629 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkBufferCaptureDescriptorDataInfoEXT *>( &info ), &data ) ); | |
| 24630 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getBufferOpaqueCaptureDescriptorDataEXT" ); | |
| 24631 | |
| 24632 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); | |
| 24633 } | |
| 24634 | |
| 24635 // wrapper function for command vkGetImageOpaqueCaptureDescriptorDataEXT, see | |
| 24636 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageOpaqueCaptureDescriptorDataEXT.html | |
| 24637 template <typename DataType> | |
| 24638 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type | |
| 24639 Device::getImageOpaqueCaptureDescriptorDataEXT( const ImageCaptureDescriptorDataInfoEXT & info ) const | |
| 24640 { | |
| 24641 VULKAN_HPP_ASSERT( getDispatcher()->vkGetImageOpaqueCaptureDescriptorDataEXT && | |
| 24642 "Function <vkGetImageOpaqueCaptureDescriptorDataEXT> requires <VK_EXT_descriptor_buffer>" ); | |
| 24643 | |
| 24644 DataType data; | |
| 24645 Result result = static_cast<Result>( getDispatcher()->vkGetImageOpaqueCaptureDescriptorDataEXT( | |
| 24646 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkImageCaptureDescriptorDataInfoEXT *>( &info ), &data ) ); | |
| 24647 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getImageOpaqueCaptureDescriptorDataEXT" ); | |
| 24648 | |
| 24649 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); | |
| 24650 } | |
| 24651 | |
| 24652 // wrapper function for command vkGetImageViewOpaqueCaptureDescriptorDataEXT, see | |
| 24653 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewOpaqueCaptureDescriptorDataEXT.html | |
| 24654 template <typename DataType> | |
| 24655 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type | |
| 24656 Device::getImageViewOpaqueCaptureDescriptorDataEXT( const ImageViewCaptureDescriptorDataInfoEXT & info ) const | |
| 24657 { | |
| 24658 VULKAN_HPP_ASSERT( getDispatcher()->vkGetImageViewOpaqueCaptureDescriptorDataEXT && | |
| 24659 "Function <vkGetImageViewOpaqueCaptureDescriptorDataEXT> requires <VK_EXT_descriptor_buffer>" ); | |
| 24660 | |
| 24661 DataType data; | |
| 24662 Result result = static_cast<Result>( getDispatcher()->vkGetImageViewOpaqueCaptureDescriptorDataEXT( | |
| 24663 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkImageViewCaptureDescriptorDataInfoEXT *>( &info ), &data ) ); | |
| 24664 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getImageViewOpaqueCaptureDescriptorDataEXT" ); | |
| 24665 | |
| 24666 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); | |
| 24667 } | |
| 24668 | |
| 24669 // wrapper function for command vkGetSamplerOpaqueCaptureDescriptorDataEXT, see | |
| 24670 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSamplerOpaqueCaptureDescriptorDataEXT.html | |
| 24671 template <typename DataType> | |
| 24672 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type | |
| 24673 Device::getSamplerOpaqueCaptureDescriptorDataEXT( const SamplerCaptureDescriptorDataInfoEXT & info ) const | |
| 24674 { | |
| 24675 VULKAN_HPP_ASSERT( getDispatcher()->vkGetSamplerOpaqueCaptureDescriptorDataEXT && | |
| 24676 "Function <vkGetSamplerOpaqueCaptureDescriptorDataEXT> requires <VK_EXT_descriptor_buffer>" ); | |
| 24677 | |
| 24678 DataType data; | |
| 24679 Result result = static_cast<Result>( getDispatcher()->vkGetSamplerOpaqueCaptureDescriptorDataEXT( | |
| 24680 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSamplerCaptureDescriptorDataInfoEXT *>( &info ), &data ) ); | |
| 24681 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getSamplerOpaqueCaptureDescriptorDataEXT" ); | |
| 24682 | |
| 24683 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); | |
| 24684 } | |
| 24685 | |
| 24686 // wrapper function for command vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT, see | |
| 24687 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT.html | |
| 24688 template <typename DataType> | |
| 24689 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type | |
| 24690 Device::getAccelerationStructureOpaqueCaptureDescriptorDataEXT( const AccelerationStructureCaptureDescriptorDataInfoEXT & info ) const | |
| 24691 { | |
| 24692 VULKAN_HPP_ASSERT( getDispatcher()->vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT && | |
| 24693 "Function <vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT> requires <VK_EXT_descriptor_buffer>" ); | |
| 24694 | |
| 24695 DataType data; | |
| 24696 Result result = static_cast<Result>( getDispatcher()->vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( | |
| 24697 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkAccelerationStructureCaptureDescriptorDataInfoEXT *>( &info ), &data ) ); | |
| 24698 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getAccelerationStructureOpaqueCaptureDescriptorDataEXT" ); | |
| 24699 | |
| 24700 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); | |
| 24701 } | |
| 24702 | |
| 24703 //=== VK_NV_fragment_shading_rate_enums === | |
| 24704 | |
| 24705 // wrapper function for command vkCmdSetFragmentShadingRateEnumNV, see | |
| 24706 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFragmentShadingRateEnumNV.html | |
| 24707 VULKAN_HPP_INLINE void CommandBuffer::setFragmentShadingRateEnumNV( FragmentShadingRateNV shadingRate, | |
| 24708 const FragmentShadingRateCombinerOpKHR combinerOps[2] ) const VULKAN_HPP_NOEXCEPT | |
| 24709 { | |
| 24710 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetFragmentShadingRateEnumNV && | |
| 24711 "Function <vkCmdSetFragmentShadingRateEnumNV> requires <VK_NV_fragment_shading_rate_enums>" ); | |
| 24712 | |
| 24713 getDispatcher()->vkCmdSetFragmentShadingRateEnumNV( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 24714 static_cast<VkFragmentShadingRateNV>( shadingRate ), | |
| 24715 reinterpret_cast<const VkFragmentShadingRateCombinerOpKHR *>( combinerOps ) ); | |
| 24716 } | |
| 24717 | |
| 24718 //=== VK_EXT_mesh_shader === | |
| 24719 | |
| 24720 // wrapper function for command vkCmdDrawMeshTasksEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksEXT.html | |
| 24721 VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksEXT( uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT | |
| 24722 { | |
| 24723 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDrawMeshTasksEXT && "Function <vkCmdDrawMeshTasksEXT> requires <VK_EXT_mesh_shader>" ); | |
| 24724 | |
| 24725 getDispatcher()->vkCmdDrawMeshTasksEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), groupCountX, groupCountY, groupCountZ ); | |
| 24726 } | |
| 24727 | |
| 24728 // wrapper function for command vkCmdDrawMeshTasksIndirectEXT, see | |
| 24729 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksIndirectEXT.html | |
| 24730 VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksIndirectEXT( VULKAN_HPP_NAMESPACE::Buffer buffer, | |
| 24731 DeviceSize offset, | |
| 24732 uint32_t drawCount, | |
| 24733 uint32_t stride ) const VULKAN_HPP_NOEXCEPT | |
| 24734 { | |
| 24735 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDrawMeshTasksIndirectEXT && "Function <vkCmdDrawMeshTasksIndirectEXT> requires <VK_EXT_mesh_shader>" ); | |
| 24736 | |
| 24737 getDispatcher()->vkCmdDrawMeshTasksIndirectEXT( | |
| 24738 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBuffer>( buffer ), static_cast<VkDeviceSize>( offset ), drawCount, stride ); | |
| 24739 } | |
| 24740 | |
| 24741 // wrapper function for command vkCmdDrawMeshTasksIndirectCountEXT, see | |
| 24742 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksIndirectCountEXT.html | |
| 24743 VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksIndirectCountEXT( VULKAN_HPP_NAMESPACE::Buffer buffer, | |
| 24744 DeviceSize offset, | |
| 24745 VULKAN_HPP_NAMESPACE::Buffer countBuffer, | |
| 24746 DeviceSize countBufferOffset, | |
| 24747 uint32_t maxDrawCount, | |
| 24748 uint32_t stride ) const VULKAN_HPP_NOEXCEPT | |
| 24749 { | |
| 24750 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDrawMeshTasksIndirectCountEXT && "Function <vkCmdDrawMeshTasksIndirectCountEXT> requires <VK_EXT_mesh_shader>" ); | |
| 24751 | |
| 24752 getDispatcher()->vkCmdDrawMeshTasksIndirectCountEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 24753 static_cast<VkBuffer>( buffer ), | |
| 24754 static_cast<VkDeviceSize>( offset ), | |
| 24755 static_cast<VkBuffer>( countBuffer ), | |
| 24756 static_cast<VkDeviceSize>( countBufferOffset ), | |
| 24757 maxDrawCount, | |
| 24758 stride ); | |
| 24759 } | |
| 24760 | |
| 24761 //=== VK_KHR_copy_commands2 === | |
| 24762 | |
| 24763 // wrapper function for command vkCmdCopyBuffer2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBuffer2KHR.html | |
| 24764 VULKAN_HPP_INLINE void CommandBuffer::copyBuffer2KHR( const CopyBufferInfo2 & copyBufferInfo ) const VULKAN_HPP_NOEXCEPT | |
| 24765 { | |
| 24766 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyBuffer2KHR && "Function <vkCmdCopyBuffer2KHR> requires <VK_KHR_copy_commands2> or <VK_VERSION_1_3>" ); | |
| 24767 | |
| 24768 getDispatcher()->vkCmdCopyBuffer2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkCopyBufferInfo2 *>( ©BufferInfo ) ); | |
| 24769 } | |
| 24770 | |
| 24771 // wrapper function for command vkCmdCopyImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImage2KHR.html | |
| 24772 VULKAN_HPP_INLINE void CommandBuffer::copyImage2KHR( const CopyImageInfo2 & copyImageInfo ) const VULKAN_HPP_NOEXCEPT | |
| 24773 { | |
| 24774 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyImage2KHR && "Function <vkCmdCopyImage2KHR> requires <VK_KHR_copy_commands2> or <VK_VERSION_1_3>" ); | |
| 24775 | |
| 24776 getDispatcher()->vkCmdCopyImage2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkCopyImageInfo2 *>( ©ImageInfo ) ); | |
| 24777 } | |
| 24778 | |
| 24779 // wrapper function for command vkCmdCopyBufferToImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBufferToImage2KHR.html | |
| 24780 VULKAN_HPP_INLINE void CommandBuffer::copyBufferToImage2KHR( const CopyBufferToImageInfo2 & copyBufferToImageInfo ) const VULKAN_HPP_NOEXCEPT | |
| 24781 { | |
| 24782 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyBufferToImage2KHR && | |
| 24783 "Function <vkCmdCopyBufferToImage2KHR> requires <VK_KHR_copy_commands2> or <VK_VERSION_1_3>" ); | |
| 24784 | |
| 24785 getDispatcher()->vkCmdCopyBufferToImage2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 24786 reinterpret_cast<const VkCopyBufferToImageInfo2 *>( ©BufferToImageInfo ) ); | |
| 24787 } | |
| 24788 | |
| 24789 // wrapper function for command vkCmdCopyImageToBuffer2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImageToBuffer2KHR.html | |
| 24790 VULKAN_HPP_INLINE void CommandBuffer::copyImageToBuffer2KHR( const CopyImageToBufferInfo2 & copyImageToBufferInfo ) const VULKAN_HPP_NOEXCEPT | |
| 24791 { | |
| 24792 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyImageToBuffer2KHR && | |
| 24793 "Function <vkCmdCopyImageToBuffer2KHR> requires <VK_KHR_copy_commands2> or <VK_VERSION_1_3>" ); | |
| 24794 | |
| 24795 getDispatcher()->vkCmdCopyImageToBuffer2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 24796 reinterpret_cast<const VkCopyImageToBufferInfo2 *>( ©ImageToBufferInfo ) ); | |
| 24797 } | |
| 24798 | |
| 24799 // wrapper function for command vkCmdBlitImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBlitImage2KHR.html | |
| 24800 VULKAN_HPP_INLINE void CommandBuffer::blitImage2KHR( const BlitImageInfo2 & blitImageInfo ) const VULKAN_HPP_NOEXCEPT | |
| 24801 { | |
| 24802 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBlitImage2KHR && "Function <vkCmdBlitImage2KHR> requires <VK_KHR_copy_commands2> or <VK_VERSION_1_3>" ); | |
| 24803 | |
| 24804 getDispatcher()->vkCmdBlitImage2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkBlitImageInfo2 *>( &blitImageInfo ) ); | |
| 24805 } | |
| 24806 | |
| 24807 // wrapper function for command vkCmdResolveImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResolveImage2KHR.html | |
| 24808 VULKAN_HPP_INLINE void CommandBuffer::resolveImage2KHR( const ResolveImageInfo2 & resolveImageInfo ) const VULKAN_HPP_NOEXCEPT | |
| 24809 { | |
| 24810 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdResolveImage2KHR && "Function <vkCmdResolveImage2KHR> requires <VK_KHR_copy_commands2> or <VK_VERSION_1_3>" ); | |
| 24811 | |
| 24812 getDispatcher()->vkCmdResolveImage2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 24813 reinterpret_cast<const VkResolveImageInfo2 *>( &resolveImageInfo ) ); | |
| 24814 } | |
| 24815 | |
| 24816 //=== VK_EXT_device_fault === | |
| 24817 // wrapper function for command vkGetDeviceFaultInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceFaultInfoEXT.html | |
| 24818 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getFaultInfoEXT( DeviceFaultCountsEXT * pFaultCounts, | |
| 24819 DeviceFaultInfoEXT * pFaultInfo ) const VULKAN_HPP_NOEXCEPT | |
| 24820 { | |
| 24821 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceFaultInfoEXT && "Function <vkGetDeviceFaultInfoEXT> requires <VK_EXT_device_fault>" ); | |
| 24822 return static_cast<Result>( getDispatcher()->vkGetDeviceFaultInfoEXT( static_cast<VkDevice>( m_device ), | |
| 24823 reinterpret_cast<VkDeviceFaultCountsEXT *>( pFaultCounts ), | |
| 24824 reinterpret_cast<VkDeviceFaultInfoEXT *>( pFaultInfo ) ) ); | |
| 24825 } | |
| 24826 # if defined( VK_USE_PLATFORM_WIN32_KHR ) | |
| 24827 //=== VK_NV_acquire_winrt_display === | |
| 24828 | |
| 24829 // wrapper function for command vkAcquireWinrtDisplayNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireWinrtDisplayNV.html | |
| 24830 VULKAN_HPP_INLINE typename ResultValueType<void>::type DisplayKHR::acquireWinrtNV() const | |
| 24831 { | |
| 24832 VULKAN_HPP_ASSERT( getDispatcher()->vkAcquireWinrtDisplayNV && "Function <vkAcquireWinrtDisplayNV> requires <VK_NV_acquire_winrt_display>" ); | |
| 24833 | |
| 24834 Result result = static_cast<Result>( | |
| 24835 getDispatcher()->vkAcquireWinrtDisplayNV( static_cast<VkPhysicalDevice>( m_physicalDevice ), static_cast<VkDisplayKHR>( m_displayKHR ) ) ); | |
| 24836 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::DisplayKHR::acquireWinrtNV" ); | |
| 24837 | |
| 24838 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 24839 } | |
| 24840 | |
| 24841 // wrapper function for command vkGetWinrtDisplayNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetWinrtDisplayNV.html | |
| 24842 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DisplayKHR>::type | |
| 24843 PhysicalDevice::getWinrtDisplayNV( uint32_t deviceRelativeId ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 24844 { | |
| 24845 VULKAN_HPP_NAMESPACE::DisplayKHR display; | |
| 24846 Result result = static_cast<Result>( getDispatcher()->vkGetWinrtDisplayNV( | |
| 24847 static_cast<VkPhysicalDevice>( m_physicalDevice ), deviceRelativeId, reinterpret_cast<VkDisplayKHR *>( &display ) ) ); | |
| 24848 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getWinrtDisplayNV" ); | |
| 24849 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, DisplayKHR( *this, *reinterpret_cast<VkDisplayKHR *>( &display ) ) ); | |
| 24850 } | |
| 24851 # endif /*VK_USE_PLATFORM_WIN32_KHR*/ | |
| 24852 | |
| 24853 # if defined( VK_USE_PLATFORM_DIRECTFB_EXT ) | |
| 24854 //=== VK_EXT_directfb_surface === | |
| 24855 | |
| 24856 // wrapper function for command vkCreateDirectFBSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDirectFBSurfaceEXT.html | |
| 24857 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<SurfaceKHR>::type | |
| 24858 Instance::createDirectFBSurfaceEXT( DirectFBSurfaceCreateInfoEXT const & createInfo, | |
| 24859 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 24860 { | |
| 24861 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; | |
| 24862 Result result = static_cast<Result>( getDispatcher()->vkCreateDirectFBSurfaceEXT( static_cast<VkInstance>( m_instance ), | |
| 24863 reinterpret_cast<const VkDirectFBSurfaceCreateInfoEXT *>( &createInfo ), | |
| 24864 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 24865 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); | |
| 24866 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createDirectFBSurfaceEXT" ); | |
| 24867 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast<VkSurfaceKHR *>( &surface ), allocator ) ); | |
| 24868 } | |
| 24869 | |
| 24870 // wrapper function for command vkGetPhysicalDeviceDirectFBPresentationSupportEXT, see | |
| 24871 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDirectFBPresentationSupportEXT.html | |
| 24872 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Bool32 PhysicalDevice::getDirectFBPresentationSupportEXT( uint32_t queueFamilyIndex, | |
| 24873 IDirectFB & dfb ) const VULKAN_HPP_NOEXCEPT | |
| 24874 { | |
| 24875 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceDirectFBPresentationSupportEXT && | |
| 24876 "Function <vkGetPhysicalDeviceDirectFBPresentationSupportEXT> requires <VK_EXT_directfb_surface>" ); | |
| 24877 | |
| 24878 VkBool32 result = | |
| 24879 getDispatcher()->vkGetPhysicalDeviceDirectFBPresentationSupportEXT( static_cast<VkPhysicalDevice>( m_physicalDevice ), queueFamilyIndex, &dfb ); | |
| 24880 | |
| 24881 return static_cast<Bool32>( result ); | |
| 24882 } | |
| 24883 # endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/ | |
| 24884 | |
| 24885 //=== VK_EXT_vertex_input_dynamic_state === | |
| 24886 | |
| 24887 // wrapper function for command vkCmdSetVertexInputEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetVertexInputEXT.html | |
| 24888 VULKAN_HPP_INLINE void | |
| 24889 CommandBuffer::setVertexInputEXT( ArrayProxy<const VertexInputBindingDescription2EXT> const & vertexBindingDescriptions, | |
| 24890 ArrayProxy<const VertexInputAttributeDescription2EXT> const & vertexAttributeDescriptions ) const VULKAN_HPP_NOEXCEPT | |
| 24891 { | |
| 24892 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetVertexInputEXT && | |
| 24893 "Function <vkCmdSetVertexInputEXT> requires <VK_EXT_shader_object> or <VK_EXT_vertex_input_dynamic_state>" ); | |
| 24894 | |
| 24895 getDispatcher()->vkCmdSetVertexInputEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 24896 vertexBindingDescriptions.size(), | |
| 24897 reinterpret_cast<const VkVertexInputBindingDescription2EXT *>( vertexBindingDescriptions.data() ), | |
| 24898 vertexAttributeDescriptions.size(), | |
| 24899 reinterpret_cast<const VkVertexInputAttributeDescription2EXT *>( vertexAttributeDescriptions.data() ) ); | |
| 24900 } | |
| 24901 | |
| 24902 # if defined( VK_USE_PLATFORM_FUCHSIA ) | |
| 24903 //=== VK_FUCHSIA_external_memory === | |
| 24904 | |
| 24905 // wrapper function for command vkGetMemoryZirconHandleFUCHSIA, see | |
| 24906 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryZirconHandleFUCHSIA.html | |
| 24907 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<zx_handle_t>::type | |
| 24908 Device::getMemoryZirconHandleFUCHSIA( const MemoryGetZirconHandleInfoFUCHSIA & getZirconHandleInfo ) const | |
| 24909 { | |
| 24910 VULKAN_HPP_ASSERT( getDispatcher()->vkGetMemoryZirconHandleFUCHSIA && "Function <vkGetMemoryZirconHandleFUCHSIA> requires <VK_FUCHSIA_external_memory>" ); | |
| 24911 | |
| 24912 zx_handle_t zirconHandle; | |
| 24913 Result result = static_cast<Result>( getDispatcher()->vkGetMemoryZirconHandleFUCHSIA( | |
| 24914 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkMemoryGetZirconHandleInfoFUCHSIA *>( &getZirconHandleInfo ), &zirconHandle ) ); | |
| 24915 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryZirconHandleFUCHSIA" ); | |
| 24916 | |
| 24917 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( zirconHandle ) ); | |
| 24918 } | |
| 24919 | |
| 24920 // wrapper function for command vkGetMemoryZirconHandlePropertiesFUCHSIA, see | |
| 24921 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryZirconHandlePropertiesFUCHSIA.html | |
| 24922 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<MemoryZirconHandlePropertiesFUCHSIA>::type | |
| 24923 Device::getMemoryZirconHandlePropertiesFUCHSIA( ExternalMemoryHandleTypeFlagBits handleType, zx_handle_t zirconHandle ) const | |
| 24924 { | |
| 24925 VULKAN_HPP_ASSERT( getDispatcher()->vkGetMemoryZirconHandlePropertiesFUCHSIA && | |
| 24926 "Function <vkGetMemoryZirconHandlePropertiesFUCHSIA> requires <VK_FUCHSIA_external_memory>" ); | |
| 24927 | |
| 24928 MemoryZirconHandlePropertiesFUCHSIA memoryZirconHandleProperties; | |
| 24929 Result result = static_cast<Result>( getDispatcher()->vkGetMemoryZirconHandlePropertiesFUCHSIA( | |
| 24930 static_cast<VkDevice>( m_device ), | |
| 24931 static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ), | |
| 24932 zirconHandle, | |
| 24933 reinterpret_cast<VkMemoryZirconHandlePropertiesFUCHSIA *>( &memoryZirconHandleProperties ) ) ); | |
| 24934 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryZirconHandlePropertiesFUCHSIA" ); | |
| 24935 | |
| 24936 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( memoryZirconHandleProperties ) ); | |
| 24937 } | |
| 24938 # endif /*VK_USE_PLATFORM_FUCHSIA*/ | |
| 24939 | |
| 24940 # if defined( VK_USE_PLATFORM_FUCHSIA ) | |
| 24941 //=== VK_FUCHSIA_external_semaphore === | |
| 24942 | |
| 24943 // wrapper function for command vkImportSemaphoreZirconHandleFUCHSIA, see | |
| 24944 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportSemaphoreZirconHandleFUCHSIA.html | |
| 24945 VULKAN_HPP_INLINE typename ResultValueType<void>::type | |
| 24946 Device::importSemaphoreZirconHandleFUCHSIA( const ImportSemaphoreZirconHandleInfoFUCHSIA & importSemaphoreZirconHandleInfo ) const | |
| 24947 { | |
| 24948 VULKAN_HPP_ASSERT( getDispatcher()->vkImportSemaphoreZirconHandleFUCHSIA && | |
| 24949 "Function <vkImportSemaphoreZirconHandleFUCHSIA> requires <VK_FUCHSIA_external_semaphore>" ); | |
| 24950 | |
| 24951 Result result = static_cast<Result>( getDispatcher()->vkImportSemaphoreZirconHandleFUCHSIA( | |
| 24952 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkImportSemaphoreZirconHandleInfoFUCHSIA *>( &importSemaphoreZirconHandleInfo ) ) ); | |
| 24953 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::importSemaphoreZirconHandleFUCHSIA" ); | |
| 24954 | |
| 24955 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 24956 } | |
| 24957 | |
| 24958 // wrapper function for command vkGetSemaphoreZirconHandleFUCHSIA, see | |
| 24959 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreZirconHandleFUCHSIA.html | |
| 24960 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<zx_handle_t>::type | |
| 24961 Device::getSemaphoreZirconHandleFUCHSIA( const SemaphoreGetZirconHandleInfoFUCHSIA & getZirconHandleInfo ) const | |
| 24962 { | |
| 24963 VULKAN_HPP_ASSERT( getDispatcher()->vkGetSemaphoreZirconHandleFUCHSIA && | |
| 24964 "Function <vkGetSemaphoreZirconHandleFUCHSIA> requires <VK_FUCHSIA_external_semaphore>" ); | |
| 24965 | |
| 24966 zx_handle_t zirconHandle; | |
| 24967 Result result = static_cast<Result>( getDispatcher()->vkGetSemaphoreZirconHandleFUCHSIA( | |
| 24968 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSemaphoreGetZirconHandleInfoFUCHSIA *>( &getZirconHandleInfo ), &zirconHandle ) ); | |
| 24969 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getSemaphoreZirconHandleFUCHSIA" ); | |
| 24970 | |
| 24971 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( zirconHandle ) ); | |
| 24972 } | |
| 24973 # endif /*VK_USE_PLATFORM_FUCHSIA*/ | |
| 24974 | |
| 24975 # if defined( VK_USE_PLATFORM_FUCHSIA ) | |
| 24976 //=== VK_FUCHSIA_buffer_collection === | |
| 24977 | |
| 24978 // wrapper function for command vkCreateBufferCollectionFUCHSIA, see | |
| 24979 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBufferCollectionFUCHSIA.html | |
| 24980 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<BufferCollectionFUCHSIA>::type | |
| 24981 Device::createBufferCollectionFUCHSIA( BufferCollectionCreateInfoFUCHSIA const & createInfo, | |
| 24982 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 24983 { | |
| 24984 VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection; | |
| 24985 Result result = | |
| 24986 static_cast<Result>( getDispatcher()->vkCreateBufferCollectionFUCHSIA( static_cast<VkDevice>( m_device ), | |
| 24987 reinterpret_cast<const VkBufferCollectionCreateInfoFUCHSIA *>( &createInfo ), | |
| 24988 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 24989 reinterpret_cast<VkBufferCollectionFUCHSIA *>( &collection ) ) ); | |
| 24990 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createBufferCollectionFUCHSIA" ); | |
| 24991 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( | |
| 24992 result, BufferCollectionFUCHSIA( *this, *reinterpret_cast<VkBufferCollectionFUCHSIA *>( &collection ), allocator ) ); | |
| 24993 } | |
| 24994 | |
| 24995 // wrapper function for command vkSetBufferCollectionImageConstraintsFUCHSIA, see | |
| 24996 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetBufferCollectionImageConstraintsFUCHSIA.html | |
| 24997 VULKAN_HPP_INLINE typename ResultValueType<void>::type | |
| 24998 BufferCollectionFUCHSIA::setImageConstraints( const ImageConstraintsInfoFUCHSIA & imageConstraintsInfo ) const | |
| 24999 { | |
| 25000 VULKAN_HPP_ASSERT( getDispatcher()->vkSetBufferCollectionImageConstraintsFUCHSIA && | |
| 25001 "Function <vkSetBufferCollectionImageConstraintsFUCHSIA> requires <VK_FUCHSIA_buffer_collection>" ); | |
| 25002 | |
| 25003 Result result = static_cast<Result>( | |
| 25004 getDispatcher()->vkSetBufferCollectionImageConstraintsFUCHSIA( static_cast<VkDevice>( m_device ), | |
| 25005 static_cast<VkBufferCollectionFUCHSIA>( m_bufferCollectionFUCHSIA ), | |
| 25006 reinterpret_cast<const VkImageConstraintsInfoFUCHSIA *>( &imageConstraintsInfo ) ) ); | |
| 25007 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::BufferCollectionFUCHSIA::setImageConstraints" ); | |
| 25008 | |
| 25009 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 25010 } | |
| 25011 | |
| 25012 // wrapper function for command vkSetBufferCollectionBufferConstraintsFUCHSIA, see | |
| 25013 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetBufferCollectionBufferConstraintsFUCHSIA.html | |
| 25014 VULKAN_HPP_INLINE typename ResultValueType<void>::type | |
| 25015 BufferCollectionFUCHSIA::setBufferConstraints( const BufferConstraintsInfoFUCHSIA & bufferConstraintsInfo ) const | |
| 25016 { | |
| 25017 VULKAN_HPP_ASSERT( getDispatcher()->vkSetBufferCollectionBufferConstraintsFUCHSIA && | |
| 25018 "Function <vkSetBufferCollectionBufferConstraintsFUCHSIA> requires <VK_FUCHSIA_buffer_collection>" ); | |
| 25019 | |
| 25020 Result result = static_cast<Result>( | |
| 25021 getDispatcher()->vkSetBufferCollectionBufferConstraintsFUCHSIA( static_cast<VkDevice>( m_device ), | |
| 25022 static_cast<VkBufferCollectionFUCHSIA>( m_bufferCollectionFUCHSIA ), | |
| 25023 reinterpret_cast<const VkBufferConstraintsInfoFUCHSIA *>( &bufferConstraintsInfo ) ) ); | |
| 25024 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::BufferCollectionFUCHSIA::setBufferConstraints" ); | |
| 25025 | |
| 25026 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 25027 } | |
| 25028 | |
| 25029 // wrapper function for command vkGetBufferCollectionPropertiesFUCHSIA, see | |
| 25030 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferCollectionPropertiesFUCHSIA.html | |
| 25031 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<BufferCollectionPropertiesFUCHSIA>::type BufferCollectionFUCHSIA::getProperties() const | |
| 25032 { | |
| 25033 VULKAN_HPP_ASSERT( getDispatcher()->vkGetBufferCollectionPropertiesFUCHSIA && | |
| 25034 "Function <vkGetBufferCollectionPropertiesFUCHSIA> requires <VK_FUCHSIA_buffer_collection>" ); | |
| 25035 | |
| 25036 BufferCollectionPropertiesFUCHSIA properties; | |
| 25037 Result result = static_cast<Result>( | |
| 25038 getDispatcher()->vkGetBufferCollectionPropertiesFUCHSIA( static_cast<VkDevice>( m_device ), | |
| 25039 static_cast<VkBufferCollectionFUCHSIA>( m_bufferCollectionFUCHSIA ), | |
| 25040 reinterpret_cast<VkBufferCollectionPropertiesFUCHSIA *>( &properties ) ) ); | |
| 25041 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::BufferCollectionFUCHSIA::getProperties" ); | |
| 25042 | |
| 25043 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); | |
| 25044 } | |
| 25045 # endif /*VK_USE_PLATFORM_FUCHSIA*/ | |
| 25046 | |
| 25047 //=== VK_HUAWEI_subpass_shading === | |
| 25048 | |
| 25049 // wrapper function for command vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, see | |
| 25050 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI.html | |
| 25051 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<Extent2D>::type RenderPass::getSubpassShadingMaxWorkgroupSizeHUAWEI() const | |
| 25052 { | |
| 25053 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI && | |
| 25054 "Function <vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI> requires <VK_HUAWEI_subpass_shading>" ); | |
| 25055 | |
| 25056 Extent2D maxWorkgroupSize; | |
| 25057 Result result = static_cast<Result>( getDispatcher()->vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( | |
| 25058 static_cast<VkDevice>( m_device ), static_cast<VkRenderPass>( m_renderPass ), reinterpret_cast<VkExtent2D *>( &maxWorkgroupSize ) ) ); | |
| 25059 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::RenderPass::getSubpassShadingMaxWorkgroupSizeHUAWEI" ); | |
| 25060 | |
| 25061 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( maxWorkgroupSize ) ); | |
| 25062 } | |
| 25063 | |
| 25064 // wrapper function for command vkCmdSubpassShadingHUAWEI, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSubpassShadingHUAWEI.html | |
| 25065 VULKAN_HPP_INLINE void CommandBuffer::subpassShadingHUAWEI() const VULKAN_HPP_NOEXCEPT | |
| 25066 { | |
| 25067 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSubpassShadingHUAWEI && "Function <vkCmdSubpassShadingHUAWEI> requires <VK_HUAWEI_subpass_shading>" ); | |
| 25068 | |
| 25069 getDispatcher()->vkCmdSubpassShadingHUAWEI( static_cast<VkCommandBuffer>( m_commandBuffer ) ); | |
| 25070 } | |
| 25071 | |
| 25072 //=== VK_HUAWEI_invocation_mask === | |
| 25073 | |
| 25074 // wrapper function for command vkCmdBindInvocationMaskHUAWEI, see | |
| 25075 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindInvocationMaskHUAWEI.html | |
| 25076 VULKAN_HPP_INLINE void CommandBuffer::bindInvocationMaskHUAWEI( VULKAN_HPP_NAMESPACE::ImageView imageView, | |
| 25077 ImageLayout imageLayout ) const VULKAN_HPP_NOEXCEPT | |
| 25078 { | |
| 25079 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBindInvocationMaskHUAWEI && "Function <vkCmdBindInvocationMaskHUAWEI> requires <VK_HUAWEI_invocation_mask>" ); | |
| 25080 | |
| 25081 getDispatcher()->vkCmdBindInvocationMaskHUAWEI( | |
| 25082 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkImageView>( imageView ), static_cast<VkImageLayout>( imageLayout ) ); | |
| 25083 } | |
| 25084 | |
| 25085 //=== VK_NV_external_memory_rdma === | |
| 25086 | |
| 25087 // wrapper function for command vkGetMemoryRemoteAddressNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryRemoteAddressNV.html | |
| 25088 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<RemoteAddressNV>::type | |
| 25089 Device::getMemoryRemoteAddressNV( const MemoryGetRemoteAddressInfoNV & memoryGetRemoteAddressInfo ) const | |
| 25090 { | |
| 25091 VULKAN_HPP_ASSERT( getDispatcher()->vkGetMemoryRemoteAddressNV && "Function <vkGetMemoryRemoteAddressNV> requires <VK_NV_external_memory_rdma>" ); | |
| 25092 | |
| 25093 RemoteAddressNV address; | |
| 25094 Result result = static_cast<Result>( | |
| 25095 getDispatcher()->vkGetMemoryRemoteAddressNV( static_cast<VkDevice>( m_device ), | |
| 25096 reinterpret_cast<const VkMemoryGetRemoteAddressInfoNV *>( &memoryGetRemoteAddressInfo ), | |
| 25097 reinterpret_cast<VkRemoteAddressNV *>( &address ) ) ); | |
| 25098 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryRemoteAddressNV" ); | |
| 25099 | |
| 25100 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( address ) ); | |
| 25101 } | |
| 25102 | |
| 25103 //=== VK_EXT_pipeline_properties === | |
| 25104 | |
| 25105 // wrapper function for command vkGetPipelinePropertiesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelinePropertiesEXT.html | |
| 25106 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<BaseOutStructure>::type | |
| 25107 Device::getPipelinePropertiesEXT( const PipelineInfoEXT & pipelineInfo ) const | |
| 25108 { | |
| 25109 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPipelinePropertiesEXT && "Function <vkGetPipelinePropertiesEXT> requires <VK_EXT_pipeline_properties>" ); | |
| 25110 | |
| 25111 BaseOutStructure pipelineProperties; | |
| 25112 Result result = static_cast<Result>( getDispatcher()->vkGetPipelinePropertiesEXT( static_cast<VkDevice>( m_device ), | |
| 25113 reinterpret_cast<const VkPipelineInfoEXT *>( &pipelineInfo ), | |
| 25114 reinterpret_cast<VkBaseOutStructure *>( &pipelineProperties ) ) ); | |
| 25115 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getPipelinePropertiesEXT" ); | |
| 25116 | |
| 25117 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pipelineProperties ) ); | |
| 25118 } | |
| 25119 | |
| 25120 //=== VK_EXT_extended_dynamic_state2 === | |
| 25121 | |
| 25122 // wrapper function for command vkCmdSetPatchControlPointsEXT, see | |
| 25123 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPatchControlPointsEXT.html | |
| 25124 VULKAN_HPP_INLINE void CommandBuffer::setPatchControlPointsEXT( uint32_t patchControlPoints ) const VULKAN_HPP_NOEXCEPT | |
| 25125 { | |
| 25126 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetPatchControlPointsEXT && | |
| 25127 "Function <vkCmdSetPatchControlPointsEXT> requires <VK_EXT_extended_dynamic_state2> or <VK_EXT_shader_object>" ); | |
| 25128 | |
| 25129 getDispatcher()->vkCmdSetPatchControlPointsEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), patchControlPoints ); | |
| 25130 } | |
| 25131 | |
| 25132 // wrapper function for command vkCmdSetRasterizerDiscardEnableEXT, see | |
| 25133 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRasterizerDiscardEnableEXT.html | |
| 25134 VULKAN_HPP_INLINE void CommandBuffer::setRasterizerDiscardEnableEXT( Bool32 rasterizerDiscardEnable ) const VULKAN_HPP_NOEXCEPT | |
| 25135 { | |
| 25136 VULKAN_HPP_ASSERT( | |
| 25137 getDispatcher()->vkCmdSetRasterizerDiscardEnableEXT && | |
| 25138 "Function <vkCmdSetRasterizerDiscardEnableEXT> requires <VK_EXT_extended_dynamic_state2> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 25139 | |
| 25140 getDispatcher()->vkCmdSetRasterizerDiscardEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( rasterizerDiscardEnable ) ); | |
| 25141 } | |
| 25142 | |
| 25143 // wrapper function for command vkCmdSetDepthBiasEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBiasEnableEXT.html | |
| 25144 VULKAN_HPP_INLINE void CommandBuffer::setDepthBiasEnableEXT( Bool32 depthBiasEnable ) const VULKAN_HPP_NOEXCEPT | |
| 25145 { | |
| 25146 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDepthBiasEnableEXT && | |
| 25147 "Function <vkCmdSetDepthBiasEnableEXT> requires <VK_EXT_extended_dynamic_state2> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 25148 | |
| 25149 getDispatcher()->vkCmdSetDepthBiasEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( depthBiasEnable ) ); | |
| 25150 } | |
| 25151 | |
| 25152 // wrapper function for command vkCmdSetLogicOpEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLogicOpEXT.html | |
| 25153 VULKAN_HPP_INLINE void CommandBuffer::setLogicOpEXT( LogicOp logicOp ) const VULKAN_HPP_NOEXCEPT | |
| 25154 { | |
| 25155 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetLogicOpEXT && | |
| 25156 "Function <vkCmdSetLogicOpEXT> requires <VK_EXT_extended_dynamic_state2> or <VK_EXT_shader_object>" ); | |
| 25157 | |
| 25158 getDispatcher()->vkCmdSetLogicOpEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkLogicOp>( logicOp ) ); | |
| 25159 } | |
| 25160 | |
| 25161 // wrapper function for command vkCmdSetPrimitiveRestartEnableEXT, see | |
| 25162 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPrimitiveRestartEnableEXT.html | |
| 25163 VULKAN_HPP_INLINE void CommandBuffer::setPrimitiveRestartEnableEXT( Bool32 primitiveRestartEnable ) const VULKAN_HPP_NOEXCEPT | |
| 25164 { | |
| 25165 VULKAN_HPP_ASSERT( | |
| 25166 getDispatcher()->vkCmdSetPrimitiveRestartEnableEXT && | |
| 25167 "Function <vkCmdSetPrimitiveRestartEnableEXT> requires <VK_EXT_extended_dynamic_state2> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); | |
| 25168 | |
| 25169 getDispatcher()->vkCmdSetPrimitiveRestartEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( primitiveRestartEnable ) ); | |
| 25170 } | |
| 25171 | |
| 25172 # if defined( VK_USE_PLATFORM_SCREEN_QNX ) | |
| 25173 //=== VK_QNX_screen_surface === | |
| 25174 | |
| 25175 // wrapper function for command vkCreateScreenSurfaceQNX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateScreenSurfaceQNX.html | |
| 25176 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<SurfaceKHR>::type | |
| 25177 Instance::createScreenSurfaceQNX( ScreenSurfaceCreateInfoQNX const & createInfo, | |
| 25178 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 25179 { | |
| 25180 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; | |
| 25181 Result result = static_cast<Result>( getDispatcher()->vkCreateScreenSurfaceQNX( static_cast<VkInstance>( m_instance ), | |
| 25182 reinterpret_cast<const VkScreenSurfaceCreateInfoQNX *>( &createInfo ), | |
| 25183 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 25184 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); | |
| 25185 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createScreenSurfaceQNX" ); | |
| 25186 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast<VkSurfaceKHR *>( &surface ), allocator ) ); | |
| 25187 } | |
| 25188 | |
| 25189 // wrapper function for command vkGetPhysicalDeviceScreenPresentationSupportQNX, see | |
| 25190 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceScreenPresentationSupportQNX.html | |
| 25191 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Bool32 PhysicalDevice::getScreenPresentationSupportQNX( uint32_t queueFamilyIndex, | |
| 25192 struct _screen_window & window ) const VULKAN_HPP_NOEXCEPT | |
| 25193 { | |
| 25194 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceScreenPresentationSupportQNX && | |
| 25195 "Function <vkGetPhysicalDeviceScreenPresentationSupportQNX> requires <VK_QNX_screen_surface>" ); | |
| 25196 | |
| 25197 VkBool32 result = | |
| 25198 getDispatcher()->vkGetPhysicalDeviceScreenPresentationSupportQNX( static_cast<VkPhysicalDevice>( m_physicalDevice ), queueFamilyIndex, &window ); | |
| 25199 | |
| 25200 return static_cast<Bool32>( result ); | |
| 25201 } | |
| 25202 # endif /*VK_USE_PLATFORM_SCREEN_QNX*/ | |
| 25203 | |
| 25204 //=== VK_EXT_color_write_enable === | |
| 25205 | |
| 25206 // wrapper function for command vkCmdSetColorWriteEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorWriteEnableEXT.html | |
| 25207 VULKAN_HPP_INLINE void CommandBuffer::setColorWriteEnableEXT( ArrayProxy<const Bool32> const & colorWriteEnables ) const VULKAN_HPP_NOEXCEPT | |
| 25208 { | |
| 25209 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetColorWriteEnableEXT && "Function <vkCmdSetColorWriteEnableEXT> requires <VK_EXT_color_write_enable>" ); | |
| 25210 | |
| 25211 getDispatcher()->vkCmdSetColorWriteEnableEXT( | |
| 25212 static_cast<VkCommandBuffer>( m_commandBuffer ), colorWriteEnables.size(), reinterpret_cast<const VkBool32 *>( colorWriteEnables.data() ) ); | |
| 25213 } | |
| 25214 | |
| 25215 //=== VK_KHR_ray_tracing_maintenance1 === | |
| 25216 | |
| 25217 // wrapper function for command vkCmdTraceRaysIndirect2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdTraceRaysIndirect2KHR.html | |
| 25218 VULKAN_HPP_INLINE void CommandBuffer::traceRaysIndirect2KHR( DeviceAddress indirectDeviceAddress ) const VULKAN_HPP_NOEXCEPT | |
| 25219 { | |
| 25220 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdTraceRaysIndirect2KHR && "Function <vkCmdTraceRaysIndirect2KHR> requires <VK_KHR_ray_tracing_maintenance1>" ); | |
| 25221 | |
| 25222 getDispatcher()->vkCmdTraceRaysIndirect2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkDeviceAddress>( indirectDeviceAddress ) ); | |
| 25223 } | |
| 25224 | |
| 25225 //=== VK_EXT_multi_draw === | |
| 25226 | |
| 25227 // wrapper function for command vkCmdDrawMultiEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMultiEXT.html | |
| 25228 VULKAN_HPP_INLINE void CommandBuffer::drawMultiEXT( StridedArrayProxy<const MultiDrawInfoEXT> const & vertexInfo, | |
| 25229 uint32_t instanceCount, | |
| 25230 uint32_t firstInstance ) const VULKAN_HPP_NOEXCEPT | |
| 25231 { | |
| 25232 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDrawMultiEXT && "Function <vkCmdDrawMultiEXT> requires <VK_EXT_multi_draw>" ); | |
| 25233 | |
| 25234 getDispatcher()->vkCmdDrawMultiEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 25235 vertexInfo.size(), | |
| 25236 reinterpret_cast<const VkMultiDrawInfoEXT *>( vertexInfo.data() ), | |
| 25237 instanceCount, | |
| 25238 firstInstance, | |
| 25239 vertexInfo.stride() ); | |
| 25240 } | |
| 25241 | |
| 25242 // wrapper function for command vkCmdDrawMultiIndexedEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMultiIndexedEXT.html | |
| 25243 VULKAN_HPP_INLINE void CommandBuffer::drawMultiIndexedEXT( StridedArrayProxy<const MultiDrawIndexedInfoEXT> const & indexInfo, | |
| 25244 uint32_t instanceCount, | |
| 25245 uint32_t firstInstance, | |
| 25246 Optional<const int32_t> vertexOffset ) const VULKAN_HPP_NOEXCEPT | |
| 25247 { | |
| 25248 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDrawMultiIndexedEXT && "Function <vkCmdDrawMultiIndexedEXT> requires <VK_EXT_multi_draw>" ); | |
| 25249 | |
| 25250 getDispatcher()->vkCmdDrawMultiIndexedEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 25251 indexInfo.size(), | |
| 25252 reinterpret_cast<const VkMultiDrawIndexedInfoEXT *>( indexInfo.data() ), | |
| 25253 instanceCount, | |
| 25254 firstInstance, | |
| 25255 indexInfo.stride(), | |
| 25256 vertexOffset.get() ); | |
| 25257 } | |
| 25258 | |
| 25259 //=== VK_EXT_opacity_micromap === | |
| 25260 | |
| 25261 // wrapper function for command vkCreateMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMicromapEXT.html | |
| 25262 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<MicromapEXT>::type | |
| 25263 Device::createMicromapEXT( MicromapCreateInfoEXT const & createInfo, | |
| 25264 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 25265 { | |
| 25266 VULKAN_HPP_NAMESPACE::MicromapEXT micromap; | |
| 25267 Result result = static_cast<Result>( getDispatcher()->vkCreateMicromapEXT( static_cast<VkDevice>( m_device ), | |
| 25268 reinterpret_cast<const VkMicromapCreateInfoEXT *>( &createInfo ), | |
| 25269 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 25270 reinterpret_cast<VkMicromapEXT *>( µmap ) ) ); | |
| 25271 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createMicromapEXT" ); | |
| 25272 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, MicromapEXT( *this, *reinterpret_cast<VkMicromapEXT *>( µmap ), allocator ) ); | |
| 25273 } | |
| 25274 | |
| 25275 // wrapper function for command vkCmdBuildMicromapsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildMicromapsEXT.html | |
| 25276 VULKAN_HPP_INLINE void CommandBuffer::buildMicromapsEXT( ArrayProxy<const MicromapBuildInfoEXT> const & infos ) const VULKAN_HPP_NOEXCEPT | |
| 25277 { | |
| 25278 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBuildMicromapsEXT && "Function <vkCmdBuildMicromapsEXT> requires <VK_EXT_opacity_micromap>" ); | |
| 25279 | |
| 25280 getDispatcher()->vkCmdBuildMicromapsEXT( | |
| 25281 static_cast<VkCommandBuffer>( m_commandBuffer ), infos.size(), reinterpret_cast<const VkMicromapBuildInfoEXT *>( infos.data() ) ); | |
| 25282 } | |
| 25283 | |
| 25284 // wrapper function for command vkBuildMicromapsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBuildMicromapsEXT.html | |
| 25285 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::buildMicromapsEXT( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, | |
| 25286 ArrayProxy<const MicromapBuildInfoEXT> const & infos ) const | |
| 25287 { | |
| 25288 VULKAN_HPP_ASSERT( getDispatcher()->vkBuildMicromapsEXT && "Function <vkBuildMicromapsEXT> requires <VK_EXT_opacity_micromap>" ); | |
| 25289 | |
| 25290 Result result = static_cast<Result>( getDispatcher()->vkBuildMicromapsEXT( static_cast<VkDevice>( m_device ), | |
| 25291 static_cast<VkDeferredOperationKHR>( deferredOperation ), | |
| 25292 infos.size(), | |
| 25293 reinterpret_cast<const VkMicromapBuildInfoEXT *>( infos.data() ) ) ); | |
| 25294 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, | |
| 25295 VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::buildMicromapsEXT", | |
| 25296 { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } ); | |
| 25297 | |
| 25298 return static_cast<Result>( result ); | |
| 25299 } | |
| 25300 | |
| 25301 // wrapper function for command vkCopyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMicromapEXT.html | |
| 25302 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyMicromapEXT( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, | |
| 25303 const CopyMicromapInfoEXT & info ) const | |
| 25304 { | |
| 25305 VULKAN_HPP_ASSERT( getDispatcher()->vkCopyMicromapEXT && "Function <vkCopyMicromapEXT> requires <VK_EXT_opacity_micromap>" ); | |
| 25306 | |
| 25307 Result result = static_cast<Result>( getDispatcher()->vkCopyMicromapEXT( static_cast<VkDevice>( m_device ), | |
| 25308 static_cast<VkDeferredOperationKHR>( deferredOperation ), | |
| 25309 reinterpret_cast<const VkCopyMicromapInfoEXT *>( &info ) ) ); | |
| 25310 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, | |
| 25311 VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyMicromapEXT", | |
| 25312 { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } ); | |
| 25313 | |
| 25314 return static_cast<Result>( result ); | |
| 25315 } | |
| 25316 | |
| 25317 // wrapper function for command vkCopyMicromapToMemoryEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMicromapToMemoryEXT.html | |
| 25318 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyMicromapToMemoryEXT( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, | |
| 25319 const CopyMicromapToMemoryInfoEXT & info ) const | |
| 25320 { | |
| 25321 VULKAN_HPP_ASSERT( getDispatcher()->vkCopyMicromapToMemoryEXT && "Function <vkCopyMicromapToMemoryEXT> requires <VK_EXT_opacity_micromap>" ); | |
| 25322 | |
| 25323 Result result = static_cast<Result>( getDispatcher()->vkCopyMicromapToMemoryEXT( static_cast<VkDevice>( m_device ), | |
| 25324 static_cast<VkDeferredOperationKHR>( deferredOperation ), | |
| 25325 reinterpret_cast<const VkCopyMicromapToMemoryInfoEXT *>( &info ) ) ); | |
| 25326 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, | |
| 25327 VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyMicromapToMemoryEXT", | |
| 25328 { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } ); | |
| 25329 | |
| 25330 return static_cast<Result>( result ); | |
| 25331 } | |
| 25332 | |
| 25333 // wrapper function for command vkCopyMemoryToMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToMicromapEXT.html | |
| 25334 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyMemoryToMicromapEXT( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, | |
| 25335 const CopyMemoryToMicromapInfoEXT & info ) const | |
| 25336 { | |
| 25337 VULKAN_HPP_ASSERT( getDispatcher()->vkCopyMemoryToMicromapEXT && "Function <vkCopyMemoryToMicromapEXT> requires <VK_EXT_opacity_micromap>" ); | |
| 25338 | |
| 25339 Result result = static_cast<Result>( getDispatcher()->vkCopyMemoryToMicromapEXT( static_cast<VkDevice>( m_device ), | |
| 25340 static_cast<VkDeferredOperationKHR>( deferredOperation ), | |
| 25341 reinterpret_cast<const VkCopyMemoryToMicromapInfoEXT *>( &info ) ) ); | |
| 25342 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, | |
| 25343 VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyMemoryToMicromapEXT", | |
| 25344 { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } ); | |
| 25345 | |
| 25346 return static_cast<Result>( result ); | |
| 25347 } | |
| 25348 | |
| 25349 // wrapper function for command vkWriteMicromapsPropertiesEXT, see | |
| 25350 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteMicromapsPropertiesEXT.html | |
| 25351 template <typename DataType> | |
| 25352 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DataType>>::type Device::writeMicromapsPropertiesEXT( | |
| 25353 ArrayProxy<const VULKAN_HPP_NAMESPACE::MicromapEXT> const & micromaps, QueryType queryType, size_t dataSize, size_t stride ) const | |
| 25354 { | |
| 25355 VULKAN_HPP_ASSERT( getDispatcher()->vkWriteMicromapsPropertiesEXT && "Function <vkWriteMicromapsPropertiesEXT> requires <VK_EXT_opacity_micromap>" ); | |
| 25356 | |
| 25357 VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); | |
| 25358 std::vector<DataType> data( dataSize / sizeof( DataType ) ); | |
| 25359 Result result = static_cast<Result>( getDispatcher()->vkWriteMicromapsPropertiesEXT( static_cast<VkDevice>( m_device ), | |
| 25360 micromaps.size(), | |
| 25361 reinterpret_cast<const VkMicromapEXT *>( micromaps.data() ), | |
| 25362 static_cast<VkQueryType>( queryType ), | |
| 25363 data.size() * sizeof( DataType ), | |
| 25364 reinterpret_cast<void *>( data.data() ), | |
| 25365 stride ) ); | |
| 25366 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::writeMicromapsPropertiesEXT" ); | |
| 25367 | |
| 25368 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); | |
| 25369 } | |
| 25370 | |
| 25371 // wrapper function for command vkWriteMicromapsPropertiesEXT, see | |
| 25372 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteMicromapsPropertiesEXT.html | |
| 25373 template <typename DataType> | |
| 25374 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type | |
| 25375 Device::writeMicromapsPropertyEXT( ArrayProxy<const VULKAN_HPP_NAMESPACE::MicromapEXT> const & micromaps, QueryType queryType, size_t stride ) const | |
| 25376 { | |
| 25377 VULKAN_HPP_ASSERT( getDispatcher()->vkWriteMicromapsPropertiesEXT && "Function <vkWriteMicromapsPropertiesEXT> requires <VK_EXT_opacity_micromap>" ); | |
| 25378 | |
| 25379 DataType data; | |
| 25380 Result result = static_cast<Result>( getDispatcher()->vkWriteMicromapsPropertiesEXT( static_cast<VkDevice>( m_device ), | |
| 25381 micromaps.size(), | |
| 25382 reinterpret_cast<const VkMicromapEXT *>( micromaps.data() ), | |
| 25383 static_cast<VkQueryType>( queryType ), | |
| 25384 sizeof( DataType ), | |
| 25385 reinterpret_cast<void *>( &data ), | |
| 25386 stride ) ); | |
| 25387 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::writeMicromapsPropertyEXT" ); | |
| 25388 | |
| 25389 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); | |
| 25390 } | |
| 25391 | |
| 25392 // wrapper function for command vkCmdCopyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMicromapEXT.html | |
| 25393 VULKAN_HPP_INLINE void CommandBuffer::copyMicromapEXT( const CopyMicromapInfoEXT & info ) const VULKAN_HPP_NOEXCEPT | |
| 25394 { | |
| 25395 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyMicromapEXT && "Function <vkCmdCopyMicromapEXT> requires <VK_EXT_opacity_micromap>" ); | |
| 25396 | |
| 25397 getDispatcher()->vkCmdCopyMicromapEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkCopyMicromapInfoEXT *>( &info ) ); | |
| 25398 } | |
| 25399 | |
| 25400 // wrapper function for command vkCmdCopyMicromapToMemoryEXT, see | |
| 25401 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMicromapToMemoryEXT.html | |
| 25402 VULKAN_HPP_INLINE void CommandBuffer::copyMicromapToMemoryEXT( const CopyMicromapToMemoryInfoEXT & info ) const VULKAN_HPP_NOEXCEPT | |
| 25403 { | |
| 25404 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyMicromapToMemoryEXT && "Function <vkCmdCopyMicromapToMemoryEXT> requires <VK_EXT_opacity_micromap>" ); | |
| 25405 | |
| 25406 getDispatcher()->vkCmdCopyMicromapToMemoryEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 25407 reinterpret_cast<const VkCopyMicromapToMemoryInfoEXT *>( &info ) ); | |
| 25408 } | |
| 25409 | |
| 25410 // wrapper function for command vkCmdCopyMemoryToMicromapEXT, see | |
| 25411 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToMicromapEXT.html | |
| 25412 VULKAN_HPP_INLINE void CommandBuffer::copyMemoryToMicromapEXT( const CopyMemoryToMicromapInfoEXT & info ) const VULKAN_HPP_NOEXCEPT | |
| 25413 { | |
| 25414 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyMemoryToMicromapEXT && "Function <vkCmdCopyMemoryToMicromapEXT> requires <VK_EXT_opacity_micromap>" ); | |
| 25415 | |
| 25416 getDispatcher()->vkCmdCopyMemoryToMicromapEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 25417 reinterpret_cast<const VkCopyMemoryToMicromapInfoEXT *>( &info ) ); | |
| 25418 } | |
| 25419 | |
| 25420 // wrapper function for command vkCmdWriteMicromapsPropertiesEXT, see | |
| 25421 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteMicromapsPropertiesEXT.html | |
| 25422 VULKAN_HPP_INLINE void CommandBuffer::writeMicromapsPropertiesEXT( ArrayProxy<const VULKAN_HPP_NAMESPACE::MicromapEXT> const & micromaps, | |
| 25423 QueryType queryType, | |
| 25424 VULKAN_HPP_NAMESPACE::QueryPool queryPool, | |
| 25425 uint32_t firstQuery ) const VULKAN_HPP_NOEXCEPT | |
| 25426 { | |
| 25427 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdWriteMicromapsPropertiesEXT && | |
| 25428 "Function <vkCmdWriteMicromapsPropertiesEXT> requires <VK_EXT_opacity_micromap>" ); | |
| 25429 | |
| 25430 getDispatcher()->vkCmdWriteMicromapsPropertiesEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 25431 micromaps.size(), | |
| 25432 reinterpret_cast<const VkMicromapEXT *>( micromaps.data() ), | |
| 25433 static_cast<VkQueryType>( queryType ), | |
| 25434 static_cast<VkQueryPool>( queryPool ), | |
| 25435 firstQuery ); | |
| 25436 } | |
| 25437 | |
| 25438 // wrapper function for command vkGetDeviceMicromapCompatibilityEXT, see | |
| 25439 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMicromapCompatibilityEXT.html | |
| 25440 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE AccelerationStructureCompatibilityKHR | |
| 25441 Device::getMicromapCompatibilityEXT( const MicromapVersionInfoEXT & versionInfo ) const VULKAN_HPP_NOEXCEPT | |
| 25442 { | |
| 25443 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceMicromapCompatibilityEXT && | |
| 25444 "Function <vkGetDeviceMicromapCompatibilityEXT> requires <VK_EXT_opacity_micromap>" ); | |
| 25445 | |
| 25446 AccelerationStructureCompatibilityKHR compatibility; | |
| 25447 getDispatcher()->vkGetDeviceMicromapCompatibilityEXT( static_cast<VkDevice>( m_device ), | |
| 25448 reinterpret_cast<const VkMicromapVersionInfoEXT *>( &versionInfo ), | |
| 25449 reinterpret_cast<VkAccelerationStructureCompatibilityKHR *>( &compatibility ) ); | |
| 25450 | |
| 25451 return compatibility; | |
| 25452 } | |
| 25453 | |
| 25454 // wrapper function for command vkGetMicromapBuildSizesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMicromapBuildSizesEXT.html | |
| 25455 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MicromapBuildSizesInfoEXT | |
| 25456 Device::getMicromapBuildSizesEXT( AccelerationStructureBuildTypeKHR buildType, const MicromapBuildInfoEXT & buildInfo ) const VULKAN_HPP_NOEXCEPT | |
| 25457 { | |
| 25458 VULKAN_HPP_ASSERT( getDispatcher()->vkGetMicromapBuildSizesEXT && "Function <vkGetMicromapBuildSizesEXT> requires <VK_EXT_opacity_micromap>" ); | |
| 25459 | |
| 25460 MicromapBuildSizesInfoEXT sizeInfo; | |
| 25461 getDispatcher()->vkGetMicromapBuildSizesEXT( static_cast<VkDevice>( m_device ), | |
| 25462 static_cast<VkAccelerationStructureBuildTypeKHR>( buildType ), | |
| 25463 reinterpret_cast<const VkMicromapBuildInfoEXT *>( &buildInfo ), | |
| 25464 reinterpret_cast<VkMicromapBuildSizesInfoEXT *>( &sizeInfo ) ); | |
| 25465 | |
| 25466 return sizeInfo; | |
| 25467 } | |
| 25468 | |
| 25469 //=== VK_HUAWEI_cluster_culling_shader === | |
| 25470 | |
| 25471 // wrapper function for command vkCmdDrawClusterHUAWEI, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawClusterHUAWEI.html | |
| 25472 VULKAN_HPP_INLINE void CommandBuffer::drawClusterHUAWEI( uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT | |
| 25473 { | |
| 25474 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDrawClusterHUAWEI && "Function <vkCmdDrawClusterHUAWEI> requires <VK_HUAWEI_cluster_culling_shader>" ); | |
| 25475 | |
| 25476 getDispatcher()->vkCmdDrawClusterHUAWEI( static_cast<VkCommandBuffer>( m_commandBuffer ), groupCountX, groupCountY, groupCountZ ); | |
| 25477 } | |
| 25478 | |
| 25479 // wrapper function for command vkCmdDrawClusterIndirectHUAWEI, see | |
| 25480 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawClusterIndirectHUAWEI.html | |
| 25481 VULKAN_HPP_INLINE void CommandBuffer::drawClusterIndirectHUAWEI( VULKAN_HPP_NAMESPACE::Buffer buffer, DeviceSize offset ) const VULKAN_HPP_NOEXCEPT | |
| 25482 { | |
| 25483 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDrawClusterIndirectHUAWEI && | |
| 25484 "Function <vkCmdDrawClusterIndirectHUAWEI> requires <VK_HUAWEI_cluster_culling_shader>" ); | |
| 25485 | |
| 25486 getDispatcher()->vkCmdDrawClusterIndirectHUAWEI( | |
| 25487 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBuffer>( buffer ), static_cast<VkDeviceSize>( offset ) ); | |
| 25488 } | |
| 25489 | |
| 25490 //=== VK_EXT_pageable_device_local_memory === | |
| 25491 | |
| 25492 // wrapper function for command vkSetDeviceMemoryPriorityEXT, see | |
| 25493 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDeviceMemoryPriorityEXT.html | |
| 25494 VULKAN_HPP_INLINE void DeviceMemory::setPriorityEXT( float priority ) const VULKAN_HPP_NOEXCEPT | |
| 25495 { | |
| 25496 VULKAN_HPP_ASSERT( getDispatcher()->vkSetDeviceMemoryPriorityEXT && | |
| 25497 "Function <vkSetDeviceMemoryPriorityEXT> requires <VK_EXT_pageable_device_local_memory>" ); | |
| 25498 | |
| 25499 getDispatcher()->vkSetDeviceMemoryPriorityEXT( static_cast<VkDevice>( m_device ), static_cast<VkDeviceMemory>( m_deviceMemory ), priority ); | |
| 25500 } | |
| 25501 | |
| 25502 //=== VK_KHR_maintenance4 === | |
| 25503 | |
| 25504 // wrapper function for command vkGetDeviceBufferMemoryRequirementsKHR, see | |
| 25505 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceBufferMemoryRequirementsKHR.html | |
| 25506 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 | |
| 25507 Device::getBufferMemoryRequirementsKHR( const DeviceBufferMemoryRequirements & info ) const VULKAN_HPP_NOEXCEPT | |
| 25508 { | |
| 25509 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceBufferMemoryRequirementsKHR && | |
| 25510 "Function <vkGetDeviceBufferMemoryRequirementsKHR> requires <VK_KHR_maintenance4> or <VK_VERSION_1_3>" ); | |
| 25511 | |
| 25512 MemoryRequirements2 memoryRequirements; | |
| 25513 getDispatcher()->vkGetDeviceBufferMemoryRequirementsKHR( static_cast<VkDevice>( m_device ), | |
| 25514 reinterpret_cast<const VkDeviceBufferMemoryRequirements *>( &info ), | |
| 25515 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); | |
| 25516 | |
| 25517 return memoryRequirements; | |
| 25518 } | |
| 25519 | |
| 25520 // wrapper function for command vkGetDeviceBufferMemoryRequirementsKHR, see | |
| 25521 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceBufferMemoryRequirementsKHR.html | |
| 25522 template <typename X, typename Y, typename... Z> | |
| 25523 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> | |
| 25524 Device::getBufferMemoryRequirementsKHR( const DeviceBufferMemoryRequirements & info ) const VULKAN_HPP_NOEXCEPT | |
| 25525 { | |
| 25526 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceBufferMemoryRequirementsKHR && | |
| 25527 "Function <vkGetDeviceBufferMemoryRequirementsKHR> requires <VK_KHR_maintenance4> or <VK_VERSION_1_3>" ); | |
| 25528 | |
| 25529 StructureChain<X, Y, Z...> structureChain; | |
| 25530 MemoryRequirements2 & memoryRequirements = structureChain.template get<MemoryRequirements2>(); | |
| 25531 getDispatcher()->vkGetDeviceBufferMemoryRequirementsKHR( static_cast<VkDevice>( m_device ), | |
| 25532 reinterpret_cast<const VkDeviceBufferMemoryRequirements *>( &info ), | |
| 25533 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); | |
| 25534 | |
| 25535 return structureChain; | |
| 25536 } | |
| 25537 | |
| 25538 // wrapper function for command vkGetDeviceImageMemoryRequirementsKHR, see | |
| 25539 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageMemoryRequirementsKHR.html | |
| 25540 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 | |
| 25541 Device::getImageMemoryRequirementsKHR( const DeviceImageMemoryRequirements & info ) const VULKAN_HPP_NOEXCEPT | |
| 25542 { | |
| 25543 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceImageMemoryRequirementsKHR && | |
| 25544 "Function <vkGetDeviceImageMemoryRequirementsKHR> requires <VK_KHR_maintenance4> or <VK_VERSION_1_3>" ); | |
| 25545 | |
| 25546 MemoryRequirements2 memoryRequirements; | |
| 25547 getDispatcher()->vkGetDeviceImageMemoryRequirementsKHR( static_cast<VkDevice>( m_device ), | |
| 25548 reinterpret_cast<const VkDeviceImageMemoryRequirements *>( &info ), | |
| 25549 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); | |
| 25550 | |
| 25551 return memoryRequirements; | |
| 25552 } | |
| 25553 | |
| 25554 // wrapper function for command vkGetDeviceImageMemoryRequirementsKHR, see | |
| 25555 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageMemoryRequirementsKHR.html | |
| 25556 template <typename X, typename Y, typename... Z> | |
| 25557 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> | |
| 25558 Device::getImageMemoryRequirementsKHR( const DeviceImageMemoryRequirements & info ) const VULKAN_HPP_NOEXCEPT | |
| 25559 { | |
| 25560 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceImageMemoryRequirementsKHR && | |
| 25561 "Function <vkGetDeviceImageMemoryRequirementsKHR> requires <VK_KHR_maintenance4> or <VK_VERSION_1_3>" ); | |
| 25562 | |
| 25563 StructureChain<X, Y, Z...> structureChain; | |
| 25564 MemoryRequirements2 & memoryRequirements = structureChain.template get<MemoryRequirements2>(); | |
| 25565 getDispatcher()->vkGetDeviceImageMemoryRequirementsKHR( static_cast<VkDevice>( m_device ), | |
| 25566 reinterpret_cast<const VkDeviceImageMemoryRequirements *>( &info ), | |
| 25567 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); | |
| 25568 | |
| 25569 return structureChain; | |
| 25570 } | |
| 25571 | |
| 25572 // wrapper function for command vkGetDeviceImageSparseMemoryRequirementsKHR, see | |
| 25573 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSparseMemoryRequirementsKHR.html | |
| 25574 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<SparseImageMemoryRequirements2> | |
| 25575 Device::getImageSparseMemoryRequirementsKHR( const DeviceImageMemoryRequirements & info ) const | |
| 25576 { | |
| 25577 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceImageSparseMemoryRequirementsKHR && | |
| 25578 "Function <vkGetDeviceImageSparseMemoryRequirementsKHR> requires <VK_KHR_maintenance4> or <VK_VERSION_1_3>" ); | |
| 25579 | |
| 25580 std::vector<SparseImageMemoryRequirements2> sparseMemoryRequirements; | |
| 25581 uint32_t sparseMemoryRequirementCount; | |
| 25582 getDispatcher()->vkGetDeviceImageSparseMemoryRequirementsKHR( | |
| 25583 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkDeviceImageMemoryRequirements *>( &info ), &sparseMemoryRequirementCount, nullptr ); | |
| 25584 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); | |
| 25585 getDispatcher()->vkGetDeviceImageSparseMemoryRequirementsKHR( static_cast<VkDevice>( m_device ), | |
| 25586 reinterpret_cast<const VkDeviceImageMemoryRequirements *>( &info ), | |
| 25587 &sparseMemoryRequirementCount, | |
| 25588 reinterpret_cast<VkSparseImageMemoryRequirements2 *>( sparseMemoryRequirements.data() ) ); | |
| 25589 | |
| 25590 VULKAN_HPP_ASSERT( sparseMemoryRequirementCount <= sparseMemoryRequirements.size() ); | |
| 25591 if ( sparseMemoryRequirementCount < sparseMemoryRequirements.size() ) | |
| 25592 { | |
| 25593 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); | |
| 25594 } | |
| 25595 return sparseMemoryRequirements; | |
| 25596 } | |
| 25597 | |
| 25598 //=== VK_VALVE_descriptor_set_host_mapping === | |
| 25599 | |
| 25600 // wrapper function for command vkGetDescriptorSetLayoutHostMappingInfoVALVE, see | |
| 25601 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutHostMappingInfoVALVE.html | |
| 25602 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE DescriptorSetLayoutHostMappingInfoVALVE | |
| 25603 Device::getDescriptorSetLayoutHostMappingInfoVALVE( const DescriptorSetBindingReferenceVALVE & bindingReference ) const VULKAN_HPP_NOEXCEPT | |
| 25604 { | |
| 25605 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDescriptorSetLayoutHostMappingInfoVALVE && | |
| 25606 "Function <vkGetDescriptorSetLayoutHostMappingInfoVALVE> requires <VK_VALVE_descriptor_set_host_mapping>" ); | |
| 25607 | |
| 25608 DescriptorSetLayoutHostMappingInfoVALVE hostMapping; | |
| 25609 getDispatcher()->vkGetDescriptorSetLayoutHostMappingInfoVALVE( static_cast<VkDevice>( m_device ), | |
| 25610 reinterpret_cast<const VkDescriptorSetBindingReferenceVALVE *>( &bindingReference ), | |
| 25611 reinterpret_cast<VkDescriptorSetLayoutHostMappingInfoVALVE *>( &hostMapping ) ); | |
| 25612 | |
| 25613 return hostMapping; | |
| 25614 } | |
| 25615 | |
| 25616 // wrapper function for command vkGetDescriptorSetHostMappingVALVE, see | |
| 25617 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetHostMappingVALVE.html | |
| 25618 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE void * DescriptorSet::getHostMappingVALVE() const VULKAN_HPP_NOEXCEPT | |
| 25619 { | |
| 25620 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDescriptorSetHostMappingVALVE && | |
| 25621 "Function <vkGetDescriptorSetHostMappingVALVE> requires <VK_VALVE_descriptor_set_host_mapping>" ); | |
| 25622 | |
| 25623 void * pData; | |
| 25624 getDispatcher()->vkGetDescriptorSetHostMappingVALVE( static_cast<VkDevice>( m_device ), static_cast<VkDescriptorSet>( m_descriptorSet ), &pData ); | |
| 25625 | |
| 25626 return pData; | |
| 25627 } | |
| 25628 | |
| 25629 //=== VK_NV_copy_memory_indirect === | |
| 25630 | |
| 25631 // wrapper function for command vkCmdCopyMemoryIndirectNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryIndirectNV.html | |
| 25632 VULKAN_HPP_INLINE void CommandBuffer::copyMemoryIndirectNV( DeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride ) const VULKAN_HPP_NOEXCEPT | |
| 25633 { | |
| 25634 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyMemoryIndirectNV && "Function <vkCmdCopyMemoryIndirectNV> requires <VK_NV_copy_memory_indirect>" ); | |
| 25635 | |
| 25636 getDispatcher()->vkCmdCopyMemoryIndirectNV( | |
| 25637 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkDeviceAddress>( copyBufferAddress ), copyCount, stride ); | |
| 25638 } | |
| 25639 | |
| 25640 // wrapper function for command vkCmdCopyMemoryToImageIndirectNV, see | |
| 25641 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToImageIndirectNV.html | |
| 25642 VULKAN_HPP_INLINE void | |
| 25643 CommandBuffer::copyMemoryToImageIndirectNV( DeviceAddress copyBufferAddress, | |
| 25644 uint32_t stride, | |
| 25645 VULKAN_HPP_NAMESPACE::Image dstImage, | |
| 25646 ImageLayout dstImageLayout, | |
| 25647 ArrayProxy<const ImageSubresourceLayers> const & imageSubresources ) const VULKAN_HPP_NOEXCEPT | |
| 25648 { | |
| 25649 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyMemoryToImageIndirectNV && | |
| 25650 "Function <vkCmdCopyMemoryToImageIndirectNV> requires <VK_NV_copy_memory_indirect>" ); | |
| 25651 | |
| 25652 getDispatcher()->vkCmdCopyMemoryToImageIndirectNV( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 25653 static_cast<VkDeviceAddress>( copyBufferAddress ), | |
| 25654 imageSubresources.size(), | |
| 25655 stride, | |
| 25656 static_cast<VkImage>( dstImage ), | |
| 25657 static_cast<VkImageLayout>( dstImageLayout ), | |
| 25658 reinterpret_cast<const VkImageSubresourceLayers *>( imageSubresources.data() ) ); | |
| 25659 } | |
| 25660 | |
| 25661 //=== VK_NV_memory_decompression === | |
| 25662 | |
| 25663 // wrapper function for command vkCmdDecompressMemoryNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecompressMemoryNV.html | |
| 25664 VULKAN_HPP_INLINE void | |
| 25665 CommandBuffer::decompressMemoryNV( ArrayProxy<const DecompressMemoryRegionNV> const & decompressMemoryRegions ) const VULKAN_HPP_NOEXCEPT | |
| 25666 { | |
| 25667 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDecompressMemoryNV && "Function <vkCmdDecompressMemoryNV> requires <VK_NV_memory_decompression>" ); | |
| 25668 | |
| 25669 getDispatcher()->vkCmdDecompressMemoryNV( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 25670 decompressMemoryRegions.size(), | |
| 25671 reinterpret_cast<const VkDecompressMemoryRegionNV *>( decompressMemoryRegions.data() ) ); | |
| 25672 } | |
| 25673 | |
| 25674 // wrapper function for command vkCmdDecompressMemoryIndirectCountNV, see | |
| 25675 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecompressMemoryIndirectCountNV.html | |
| 25676 VULKAN_HPP_INLINE void CommandBuffer::decompressMemoryIndirectCountNV( DeviceAddress indirectCommandsAddress, | |
| 25677 DeviceAddress indirectCommandsCountAddress, | |
| 25678 uint32_t stride ) const VULKAN_HPP_NOEXCEPT | |
| 25679 { | |
| 25680 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDecompressMemoryIndirectCountNV && | |
| 25681 "Function <vkCmdDecompressMemoryIndirectCountNV> requires <VK_NV_memory_decompression>" ); | |
| 25682 | |
| 25683 getDispatcher()->vkCmdDecompressMemoryIndirectCountNV( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 25684 static_cast<VkDeviceAddress>( indirectCommandsAddress ), | |
| 25685 static_cast<VkDeviceAddress>( indirectCommandsCountAddress ), | |
| 25686 stride ); | |
| 25687 } | |
| 25688 | |
| 25689 //=== VK_NV_device_generated_commands_compute === | |
| 25690 | |
| 25691 // wrapper function for command vkGetPipelineIndirectMemoryRequirementsNV, see | |
| 25692 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineIndirectMemoryRequirementsNV.html | |
| 25693 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 | |
| 25694 Device::getPipelineIndirectMemoryRequirementsNV( const ComputePipelineCreateInfo & createInfo ) const VULKAN_HPP_NOEXCEPT | |
| 25695 { | |
| 25696 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPipelineIndirectMemoryRequirementsNV && | |
| 25697 "Function <vkGetPipelineIndirectMemoryRequirementsNV> requires <VK_NV_device_generated_commands_compute>" ); | |
| 25698 | |
| 25699 MemoryRequirements2 memoryRequirements; | |
| 25700 getDispatcher()->vkGetPipelineIndirectMemoryRequirementsNV( static_cast<VkDevice>( m_device ), | |
| 25701 reinterpret_cast<const VkComputePipelineCreateInfo *>( &createInfo ), | |
| 25702 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); | |
| 25703 | |
| 25704 return memoryRequirements; | |
| 25705 } | |
| 25706 | |
| 25707 // wrapper function for command vkGetPipelineIndirectMemoryRequirementsNV, see | |
| 25708 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineIndirectMemoryRequirementsNV.html | |
| 25709 template <typename X, typename Y, typename... Z> | |
| 25710 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> | |
| 25711 Device::getPipelineIndirectMemoryRequirementsNV( const ComputePipelineCreateInfo & createInfo ) const VULKAN_HPP_NOEXCEPT | |
| 25712 { | |
| 25713 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPipelineIndirectMemoryRequirementsNV && | |
| 25714 "Function <vkGetPipelineIndirectMemoryRequirementsNV> requires <VK_NV_device_generated_commands_compute>" ); | |
| 25715 | |
| 25716 StructureChain<X, Y, Z...> structureChain; | |
| 25717 MemoryRequirements2 & memoryRequirements = structureChain.template get<MemoryRequirements2>(); | |
| 25718 getDispatcher()->vkGetPipelineIndirectMemoryRequirementsNV( static_cast<VkDevice>( m_device ), | |
| 25719 reinterpret_cast<const VkComputePipelineCreateInfo *>( &createInfo ), | |
| 25720 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); | |
| 25721 | |
| 25722 return structureChain; | |
| 25723 } | |
| 25724 | |
| 25725 // wrapper function for command vkCmdUpdatePipelineIndirectBufferNV, see | |
| 25726 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdUpdatePipelineIndirectBufferNV.html | |
| 25727 VULKAN_HPP_INLINE void CommandBuffer::updatePipelineIndirectBufferNV( PipelineBindPoint pipelineBindPoint, | |
| 25728 VULKAN_HPP_NAMESPACE::Pipeline pipeline ) const VULKAN_HPP_NOEXCEPT | |
| 25729 { | |
| 25730 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdUpdatePipelineIndirectBufferNV && | |
| 25731 "Function <vkCmdUpdatePipelineIndirectBufferNV> requires <VK_NV_device_generated_commands_compute>" ); | |
| 25732 | |
| 25733 getDispatcher()->vkCmdUpdatePipelineIndirectBufferNV( | |
| 25734 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkPipelineBindPoint>( pipelineBindPoint ), static_cast<VkPipeline>( pipeline ) ); | |
| 25735 } | |
| 25736 | |
| 25737 // wrapper function for command vkGetPipelineIndirectDeviceAddressNV, see | |
| 25738 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineIndirectDeviceAddressNV.html | |
| 25739 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE DeviceAddress | |
| 25740 Device::getPipelineIndirectAddressNV( const PipelineIndirectDeviceAddressInfoNV & info ) const VULKAN_HPP_NOEXCEPT | |
| 25741 { | |
| 25742 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPipelineIndirectDeviceAddressNV && | |
| 25743 "Function <vkGetPipelineIndirectDeviceAddressNV> requires <VK_NV_device_generated_commands_compute>" ); | |
| 25744 | |
| 25745 VkDeviceAddress result = getDispatcher()->vkGetPipelineIndirectDeviceAddressNV( | |
| 25746 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkPipelineIndirectDeviceAddressInfoNV *>( &info ) ); | |
| 25747 | |
| 25748 return static_cast<DeviceAddress>( result ); | |
| 25749 } | |
| 25750 | |
| 25751 # if defined( VK_USE_PLATFORM_OHOS ) | |
| 25752 //=== VK_OHOS_external_memory === | |
| 25753 // wrapper function for command vkGetNativeBufferPropertiesOHOS, see | |
| 25754 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetNativeBufferPropertiesOHOS.html | |
| 25755 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getNativeBufferPropertiesOHOS( const struct OH_NativeBuffer * buffer, | |
| 25756 NativeBufferPropertiesOHOS * pProperties ) const VULKAN_HPP_NOEXCEPT | |
| 25757 { | |
| 25758 VULKAN_HPP_ASSERT( getDispatcher()->vkGetNativeBufferPropertiesOHOS && "Function <vkGetNativeBufferPropertiesOHOS> requires <VK_OHOS_external_memory>" ); | |
| 25759 return static_cast<Result>( getDispatcher()->vkGetNativeBufferPropertiesOHOS( | |
| 25760 static_cast<VkDevice>( m_device ), buffer, reinterpret_cast<VkNativeBufferPropertiesOHOS *>( pProperties ) ) ); | |
| 25761 } | |
| 25762 | |
| 25763 // wrapper function for command vkGetNativeBufferPropertiesOHOS, see | |
| 25764 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetNativeBufferPropertiesOHOS.html | |
| 25765 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<NativeBufferPropertiesOHOS>::type | |
| 25766 Device::getNativeBufferPropertiesOHOS( const struct OH_NativeBuffer & buffer ) const | |
| 25767 { | |
| 25768 VULKAN_HPP_ASSERT( getDispatcher()->vkGetNativeBufferPropertiesOHOS && "Function <vkGetNativeBufferPropertiesOHOS> requires <VK_OHOS_external_memory>" ); | |
| 25769 | |
| 25770 NativeBufferPropertiesOHOS properties; | |
| 25771 Result result = static_cast<Result>( getDispatcher()->vkGetNativeBufferPropertiesOHOS( | |
| 25772 static_cast<VkDevice>( m_device ), &buffer, reinterpret_cast<VkNativeBufferPropertiesOHOS *>( &properties ) ) ); | |
| 25773 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getNativeBufferPropertiesOHOS" ); | |
| 25774 | |
| 25775 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); | |
| 25776 } | |
| 25777 | |
| 25778 // wrapper function for command vkGetNativeBufferPropertiesOHOS, see | |
| 25779 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetNativeBufferPropertiesOHOS.html | |
| 25780 template <typename X, typename Y, typename... Z> | |
| 25781 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<StructureChain<X, Y, Z...>>::type | |
| 25782 Device::getNativeBufferPropertiesOHOS( const struct OH_NativeBuffer & buffer ) const | |
| 25783 { | |
| 25784 VULKAN_HPP_ASSERT( getDispatcher()->vkGetNativeBufferPropertiesOHOS && "Function <vkGetNativeBufferPropertiesOHOS> requires <VK_OHOS_external_memory>" ); | |
| 25785 | |
| 25786 StructureChain<X, Y, Z...> structureChain; | |
| 25787 NativeBufferPropertiesOHOS & properties = structureChain.template get<NativeBufferPropertiesOHOS>(); | |
| 25788 Result result = static_cast<Result>( getDispatcher()->vkGetNativeBufferPropertiesOHOS( | |
| 25789 static_cast<VkDevice>( m_device ), &buffer, reinterpret_cast<VkNativeBufferPropertiesOHOS *>( &properties ) ) ); | |
| 25790 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getNativeBufferPropertiesOHOS" ); | |
| 25791 | |
| 25792 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChain ) ); | |
| 25793 } | |
| 25794 | |
| 25795 // wrapper function for command vkGetMemoryNativeBufferOHOS, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryNativeBufferOHOS.html | |
| 25796 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<struct OH_NativeBuffer *>::type | |
| 25797 Device::getMemoryNativeBufferOHOS( const MemoryGetNativeBufferInfoOHOS & info ) const | |
| 25798 { | |
| 25799 VULKAN_HPP_ASSERT( getDispatcher()->vkGetMemoryNativeBufferOHOS && "Function <vkGetMemoryNativeBufferOHOS> requires <VK_OHOS_external_memory>" ); | |
| 25800 | |
| 25801 struct OH_NativeBuffer * buffer; | |
| 25802 Result result = static_cast<Result>( getDispatcher()->vkGetMemoryNativeBufferOHOS( | |
| 25803 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkMemoryGetNativeBufferInfoOHOS *>( &info ), &buffer ) ); | |
| 25804 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryNativeBufferOHOS" ); | |
| 25805 | |
| 25806 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( buffer ) ); | |
| 25807 } | |
| 25808 # endif /*VK_USE_PLATFORM_OHOS*/ | |
| 25809 | |
| 25810 //=== VK_EXT_extended_dynamic_state3 === | |
| 25811 | |
| 25812 // wrapper function for command vkCmdSetDepthClampEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthClampEnableEXT.html | |
| 25813 VULKAN_HPP_INLINE void CommandBuffer::setDepthClampEnableEXT( Bool32 depthClampEnable ) const VULKAN_HPP_NOEXCEPT | |
| 25814 { | |
| 25815 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDepthClampEnableEXT && | |
| 25816 "Function <vkCmdSetDepthClampEnableEXT> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 25817 | |
| 25818 getDispatcher()->vkCmdSetDepthClampEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( depthClampEnable ) ); | |
| 25819 } | |
| 25820 | |
| 25821 // wrapper function for command vkCmdSetPolygonModeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPolygonModeEXT.html | |
| 25822 VULKAN_HPP_INLINE void CommandBuffer::setPolygonModeEXT( PolygonMode polygonMode ) const VULKAN_HPP_NOEXCEPT | |
| 25823 { | |
| 25824 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetPolygonModeEXT && | |
| 25825 "Function <vkCmdSetPolygonModeEXT> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 25826 | |
| 25827 getDispatcher()->vkCmdSetPolygonModeEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkPolygonMode>( polygonMode ) ); | |
| 25828 } | |
| 25829 | |
| 25830 // wrapper function for command vkCmdSetRasterizationSamplesEXT, see | |
| 25831 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRasterizationSamplesEXT.html | |
| 25832 VULKAN_HPP_INLINE void CommandBuffer::setRasterizationSamplesEXT( SampleCountFlagBits rasterizationSamples ) const VULKAN_HPP_NOEXCEPT | |
| 25833 { | |
| 25834 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetRasterizationSamplesEXT && | |
| 25835 "Function <vkCmdSetRasterizationSamplesEXT> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 25836 | |
| 25837 getDispatcher()->vkCmdSetRasterizationSamplesEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 25838 static_cast<VkSampleCountFlagBits>( rasterizationSamples ) ); | |
| 25839 } | |
| 25840 | |
| 25841 // wrapper function for command vkCmdSetSampleMaskEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetSampleMaskEXT.html | |
| 25842 VULKAN_HPP_INLINE void CommandBuffer::setSampleMaskEXT( SampleCountFlagBits samples, ArrayProxy<const SampleMask> const & sampleMask ) const | |
| 25843 { | |
| 25844 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetSampleMaskEXT && | |
| 25845 "Function <vkCmdSetSampleMaskEXT> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 25846 # ifdef VULKAN_HPP_NO_EXCEPTIONS | |
| 25847 VULKAN_HPP_ASSERT( sampleMask.size() == ( static_cast<uint32_t>( samples ) + 31 ) / 32 ); | |
| 25848 # else | |
| 25849 if ( sampleMask.size() != ( static_cast<uint32_t>( samples ) + 31 ) / 32 ) | |
| 25850 { | |
| 25851 throw LogicError( VULKAN_HPP_NAMESPACE_STRING | |
| 25852 "::CommandBuffer::setSampleMaskEXT: sampleMask.size() != ( static_cast<uint32_t>( samples ) + 31 ) / 32" ); | |
| 25853 } | |
| 25854 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ | |
| 25855 | |
| 25856 getDispatcher()->vkCmdSetSampleMaskEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 25857 static_cast<VkSampleCountFlagBits>( samples ), | |
| 25858 reinterpret_cast<const VkSampleMask *>( sampleMask.data() ) ); | |
| 25859 } | |
| 25860 | |
| 25861 // wrapper function for command vkCmdSetAlphaToCoverageEnableEXT, see | |
| 25862 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetAlphaToCoverageEnableEXT.html | |
| 25863 VULKAN_HPP_INLINE void CommandBuffer::setAlphaToCoverageEnableEXT( Bool32 alphaToCoverageEnable ) const VULKAN_HPP_NOEXCEPT | |
| 25864 { | |
| 25865 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetAlphaToCoverageEnableEXT && | |
| 25866 "Function <vkCmdSetAlphaToCoverageEnableEXT> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 25867 | |
| 25868 getDispatcher()->vkCmdSetAlphaToCoverageEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( alphaToCoverageEnable ) ); | |
| 25869 } | |
| 25870 | |
| 25871 // wrapper function for command vkCmdSetAlphaToOneEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetAlphaToOneEnableEXT.html | |
| 25872 VULKAN_HPP_INLINE void CommandBuffer::setAlphaToOneEnableEXT( Bool32 alphaToOneEnable ) const VULKAN_HPP_NOEXCEPT | |
| 25873 { | |
| 25874 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetAlphaToOneEnableEXT && | |
| 25875 "Function <vkCmdSetAlphaToOneEnableEXT> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 25876 | |
| 25877 getDispatcher()->vkCmdSetAlphaToOneEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( alphaToOneEnable ) ); | |
| 25878 } | |
| 25879 | |
| 25880 // wrapper function for command vkCmdSetLogicOpEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLogicOpEnableEXT.html | |
| 25881 VULKAN_HPP_INLINE void CommandBuffer::setLogicOpEnableEXT( Bool32 logicOpEnable ) const VULKAN_HPP_NOEXCEPT | |
| 25882 { | |
| 25883 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetLogicOpEnableEXT && | |
| 25884 "Function <vkCmdSetLogicOpEnableEXT> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 25885 | |
| 25886 getDispatcher()->vkCmdSetLogicOpEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( logicOpEnable ) ); | |
| 25887 } | |
| 25888 | |
| 25889 // wrapper function for command vkCmdSetColorBlendEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorBlendEnableEXT.html | |
| 25890 VULKAN_HPP_INLINE void CommandBuffer::setColorBlendEnableEXT( uint32_t firstAttachment, | |
| 25891 ArrayProxy<const Bool32> const & colorBlendEnables ) const VULKAN_HPP_NOEXCEPT | |
| 25892 { | |
| 25893 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetColorBlendEnableEXT && | |
| 25894 "Function <vkCmdSetColorBlendEnableEXT> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 25895 | |
| 25896 getDispatcher()->vkCmdSetColorBlendEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 25897 firstAttachment, | |
| 25898 colorBlendEnables.size(), | |
| 25899 reinterpret_cast<const VkBool32 *>( colorBlendEnables.data() ) ); | |
| 25900 } | |
| 25901 | |
| 25902 // wrapper function for command vkCmdSetColorBlendEquationEXT, see | |
| 25903 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorBlendEquationEXT.html | |
| 25904 VULKAN_HPP_INLINE void | |
| 25905 CommandBuffer::setColorBlendEquationEXT( uint32_t firstAttachment, | |
| 25906 ArrayProxy<const ColorBlendEquationEXT> const & colorBlendEquations ) const VULKAN_HPP_NOEXCEPT | |
| 25907 { | |
| 25908 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetColorBlendEquationEXT && | |
| 25909 "Function <vkCmdSetColorBlendEquationEXT> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 25910 | |
| 25911 getDispatcher()->vkCmdSetColorBlendEquationEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 25912 firstAttachment, | |
| 25913 colorBlendEquations.size(), | |
| 25914 reinterpret_cast<const VkColorBlendEquationEXT *>( colorBlendEquations.data() ) ); | |
| 25915 } | |
| 25916 | |
| 25917 // wrapper function for command vkCmdSetColorWriteMaskEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorWriteMaskEXT.html | |
| 25918 VULKAN_HPP_INLINE void CommandBuffer::setColorWriteMaskEXT( uint32_t firstAttachment, | |
| 25919 ArrayProxy<const ColorComponentFlags> const & colorWriteMasks ) const VULKAN_HPP_NOEXCEPT | |
| 25920 { | |
| 25921 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetColorWriteMaskEXT && | |
| 25922 "Function <vkCmdSetColorWriteMaskEXT> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 25923 | |
| 25924 getDispatcher()->vkCmdSetColorWriteMaskEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 25925 firstAttachment, | |
| 25926 colorWriteMasks.size(), | |
| 25927 reinterpret_cast<const VkColorComponentFlags *>( colorWriteMasks.data() ) ); | |
| 25928 } | |
| 25929 | |
| 25930 // wrapper function for command vkCmdSetTessellationDomainOriginEXT, see | |
| 25931 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetTessellationDomainOriginEXT.html | |
| 25932 VULKAN_HPP_INLINE void CommandBuffer::setTessellationDomainOriginEXT( TessellationDomainOrigin domainOrigin ) const VULKAN_HPP_NOEXCEPT | |
| 25933 { | |
| 25934 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetTessellationDomainOriginEXT && | |
| 25935 "Function <vkCmdSetTessellationDomainOriginEXT> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 25936 | |
| 25937 getDispatcher()->vkCmdSetTessellationDomainOriginEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 25938 static_cast<VkTessellationDomainOrigin>( domainOrigin ) ); | |
| 25939 } | |
| 25940 | |
| 25941 // wrapper function for command vkCmdSetRasterizationStreamEXT, see | |
| 25942 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRasterizationStreamEXT.html | |
| 25943 VULKAN_HPP_INLINE void CommandBuffer::setRasterizationStreamEXT( uint32_t rasterizationStream ) const VULKAN_HPP_NOEXCEPT | |
| 25944 { | |
| 25945 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetRasterizationStreamEXT && | |
| 25946 "Function <vkCmdSetRasterizationStreamEXT> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 25947 | |
| 25948 getDispatcher()->vkCmdSetRasterizationStreamEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), rasterizationStream ); | |
| 25949 } | |
| 25950 | |
| 25951 // wrapper function for command vkCmdSetConservativeRasterizationModeEXT, see | |
| 25952 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetConservativeRasterizationModeEXT.html | |
| 25953 VULKAN_HPP_INLINE void | |
| 25954 CommandBuffer::setConservativeRasterizationModeEXT( ConservativeRasterizationModeEXT conservativeRasterizationMode ) const VULKAN_HPP_NOEXCEPT | |
| 25955 { | |
| 25956 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetConservativeRasterizationModeEXT && | |
| 25957 "Function <vkCmdSetConservativeRasterizationModeEXT> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 25958 | |
| 25959 getDispatcher()->vkCmdSetConservativeRasterizationModeEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 25960 static_cast<VkConservativeRasterizationModeEXT>( conservativeRasterizationMode ) ); | |
| 25961 } | |
| 25962 | |
| 25963 // wrapper function for command vkCmdSetExtraPrimitiveOverestimationSizeEXT, see | |
| 25964 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetExtraPrimitiveOverestimationSizeEXT.html | |
| 25965 VULKAN_HPP_INLINE void CommandBuffer::setExtraPrimitiveOverestimationSizeEXT( float extraPrimitiveOverestimationSize ) const VULKAN_HPP_NOEXCEPT | |
| 25966 { | |
| 25967 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetExtraPrimitiveOverestimationSizeEXT && | |
| 25968 "Function <vkCmdSetExtraPrimitiveOverestimationSizeEXT> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 25969 | |
| 25970 getDispatcher()->vkCmdSetExtraPrimitiveOverestimationSizeEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), extraPrimitiveOverestimationSize ); | |
| 25971 } | |
| 25972 | |
| 25973 // wrapper function for command vkCmdSetDepthClipEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthClipEnableEXT.html | |
| 25974 VULKAN_HPP_INLINE void CommandBuffer::setDepthClipEnableEXT( Bool32 depthClipEnable ) const VULKAN_HPP_NOEXCEPT | |
| 25975 { | |
| 25976 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDepthClipEnableEXT && | |
| 25977 "Function <vkCmdSetDepthClipEnableEXT> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 25978 | |
| 25979 getDispatcher()->vkCmdSetDepthClipEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( depthClipEnable ) ); | |
| 25980 } | |
| 25981 | |
| 25982 // wrapper function for command vkCmdSetSampleLocationsEnableEXT, see | |
| 25983 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetSampleLocationsEnableEXT.html | |
| 25984 VULKAN_HPP_INLINE void CommandBuffer::setSampleLocationsEnableEXT( Bool32 sampleLocationsEnable ) const VULKAN_HPP_NOEXCEPT | |
| 25985 { | |
| 25986 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetSampleLocationsEnableEXT && | |
| 25987 "Function <vkCmdSetSampleLocationsEnableEXT> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 25988 | |
| 25989 getDispatcher()->vkCmdSetSampleLocationsEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( sampleLocationsEnable ) ); | |
| 25990 } | |
| 25991 | |
| 25992 // wrapper function for command vkCmdSetColorBlendAdvancedEXT, see | |
| 25993 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorBlendAdvancedEXT.html | |
| 25994 VULKAN_HPP_INLINE void | |
| 25995 CommandBuffer::setColorBlendAdvancedEXT( uint32_t firstAttachment, | |
| 25996 ArrayProxy<const ColorBlendAdvancedEXT> const & colorBlendAdvanced ) const VULKAN_HPP_NOEXCEPT | |
| 25997 { | |
| 25998 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetColorBlendAdvancedEXT && | |
| 25999 "Function <vkCmdSetColorBlendAdvancedEXT> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 26000 | |
| 26001 getDispatcher()->vkCmdSetColorBlendAdvancedEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 26002 firstAttachment, | |
| 26003 colorBlendAdvanced.size(), | |
| 26004 reinterpret_cast<const VkColorBlendAdvancedEXT *>( colorBlendAdvanced.data() ) ); | |
| 26005 } | |
| 26006 | |
| 26007 // wrapper function for command vkCmdSetProvokingVertexModeEXT, see | |
| 26008 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetProvokingVertexModeEXT.html | |
| 26009 VULKAN_HPP_INLINE void CommandBuffer::setProvokingVertexModeEXT( ProvokingVertexModeEXT provokingVertexMode ) const VULKAN_HPP_NOEXCEPT | |
| 26010 { | |
| 26011 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetProvokingVertexModeEXT && | |
| 26012 "Function <vkCmdSetProvokingVertexModeEXT> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 26013 | |
| 26014 getDispatcher()->vkCmdSetProvokingVertexModeEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 26015 static_cast<VkProvokingVertexModeEXT>( provokingVertexMode ) ); | |
| 26016 } | |
| 26017 | |
| 26018 // wrapper function for command vkCmdSetLineRasterizationModeEXT, see | |
| 26019 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineRasterizationModeEXT.html | |
| 26020 VULKAN_HPP_INLINE void CommandBuffer::setLineRasterizationModeEXT( LineRasterizationModeEXT lineRasterizationMode ) const VULKAN_HPP_NOEXCEPT | |
| 26021 { | |
| 26022 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetLineRasterizationModeEXT && | |
| 26023 "Function <vkCmdSetLineRasterizationModeEXT> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 26024 | |
| 26025 getDispatcher()->vkCmdSetLineRasterizationModeEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 26026 static_cast<VkLineRasterizationModeEXT>( lineRasterizationMode ) ); | |
| 26027 } | |
| 26028 | |
| 26029 // wrapper function for command vkCmdSetLineStippleEnableEXT, see | |
| 26030 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineStippleEnableEXT.html | |
| 26031 VULKAN_HPP_INLINE void CommandBuffer::setLineStippleEnableEXT( Bool32 stippledLineEnable ) const VULKAN_HPP_NOEXCEPT | |
| 26032 { | |
| 26033 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetLineStippleEnableEXT && | |
| 26034 "Function <vkCmdSetLineStippleEnableEXT> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 26035 | |
| 26036 getDispatcher()->vkCmdSetLineStippleEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( stippledLineEnable ) ); | |
| 26037 } | |
| 26038 | |
| 26039 // wrapper function for command vkCmdSetDepthClipNegativeOneToOneEXT, see | |
| 26040 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthClipNegativeOneToOneEXT.html | |
| 26041 VULKAN_HPP_INLINE void CommandBuffer::setDepthClipNegativeOneToOneEXT( Bool32 negativeOneToOne ) const VULKAN_HPP_NOEXCEPT | |
| 26042 { | |
| 26043 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDepthClipNegativeOneToOneEXT && | |
| 26044 "Function <vkCmdSetDepthClipNegativeOneToOneEXT> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 26045 | |
| 26046 getDispatcher()->vkCmdSetDepthClipNegativeOneToOneEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( negativeOneToOne ) ); | |
| 26047 } | |
| 26048 | |
| 26049 // wrapper function for command vkCmdSetViewportWScalingEnableNV, see | |
| 26050 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWScalingEnableNV.html | |
| 26051 VULKAN_HPP_INLINE void CommandBuffer::setViewportWScalingEnableNV( Bool32 viewportWScalingEnable ) const VULKAN_HPP_NOEXCEPT | |
| 26052 { | |
| 26053 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetViewportWScalingEnableNV && | |
| 26054 "Function <vkCmdSetViewportWScalingEnableNV> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 26055 | |
| 26056 getDispatcher()->vkCmdSetViewportWScalingEnableNV( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( viewportWScalingEnable ) ); | |
| 26057 } | |
| 26058 | |
| 26059 // wrapper function for command vkCmdSetViewportSwizzleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportSwizzleNV.html | |
| 26060 VULKAN_HPP_INLINE void CommandBuffer::setViewportSwizzleNV( uint32_t firstViewport, | |
| 26061 ArrayProxy<const ViewportSwizzleNV> const & viewportSwizzles ) const VULKAN_HPP_NOEXCEPT | |
| 26062 { | |
| 26063 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetViewportSwizzleNV && | |
| 26064 "Function <vkCmdSetViewportSwizzleNV> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 26065 | |
| 26066 getDispatcher()->vkCmdSetViewportSwizzleNV( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 26067 firstViewport, | |
| 26068 viewportSwizzles.size(), | |
| 26069 reinterpret_cast<const VkViewportSwizzleNV *>( viewportSwizzles.data() ) ); | |
| 26070 } | |
| 26071 | |
| 26072 // wrapper function for command vkCmdSetCoverageToColorEnableNV, see | |
| 26073 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageToColorEnableNV.html | |
| 26074 VULKAN_HPP_INLINE void CommandBuffer::setCoverageToColorEnableNV( Bool32 coverageToColorEnable ) const VULKAN_HPP_NOEXCEPT | |
| 26075 { | |
| 26076 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetCoverageToColorEnableNV && | |
| 26077 "Function <vkCmdSetCoverageToColorEnableNV> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 26078 | |
| 26079 getDispatcher()->vkCmdSetCoverageToColorEnableNV( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( coverageToColorEnable ) ); | |
| 26080 } | |
| 26081 | |
| 26082 // wrapper function for command vkCmdSetCoverageToColorLocationNV, see | |
| 26083 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageToColorLocationNV.html | |
| 26084 VULKAN_HPP_INLINE void CommandBuffer::setCoverageToColorLocationNV( uint32_t coverageToColorLocation ) const VULKAN_HPP_NOEXCEPT | |
| 26085 { | |
| 26086 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetCoverageToColorLocationNV && | |
| 26087 "Function <vkCmdSetCoverageToColorLocationNV> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 26088 | |
| 26089 getDispatcher()->vkCmdSetCoverageToColorLocationNV( static_cast<VkCommandBuffer>( m_commandBuffer ), coverageToColorLocation ); | |
| 26090 } | |
| 26091 | |
| 26092 // wrapper function for command vkCmdSetCoverageModulationModeNV, see | |
| 26093 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageModulationModeNV.html | |
| 26094 VULKAN_HPP_INLINE void CommandBuffer::setCoverageModulationModeNV( CoverageModulationModeNV coverageModulationMode ) const VULKAN_HPP_NOEXCEPT | |
| 26095 { | |
| 26096 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetCoverageModulationModeNV && | |
| 26097 "Function <vkCmdSetCoverageModulationModeNV> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 26098 | |
| 26099 getDispatcher()->vkCmdSetCoverageModulationModeNV( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 26100 static_cast<VkCoverageModulationModeNV>( coverageModulationMode ) ); | |
| 26101 } | |
| 26102 | |
| 26103 // wrapper function for command vkCmdSetCoverageModulationTableEnableNV, see | |
| 26104 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageModulationTableEnableNV.html | |
| 26105 VULKAN_HPP_INLINE void CommandBuffer::setCoverageModulationTableEnableNV( Bool32 coverageModulationTableEnable ) const VULKAN_HPP_NOEXCEPT | |
| 26106 { | |
| 26107 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetCoverageModulationTableEnableNV && | |
| 26108 "Function <vkCmdSetCoverageModulationTableEnableNV> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 26109 | |
| 26110 getDispatcher()->vkCmdSetCoverageModulationTableEnableNV( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 26111 static_cast<VkBool32>( coverageModulationTableEnable ) ); | |
| 26112 } | |
| 26113 | |
| 26114 // wrapper function for command vkCmdSetCoverageModulationTableNV, see | |
| 26115 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageModulationTableNV.html | |
| 26116 VULKAN_HPP_INLINE void CommandBuffer::setCoverageModulationTableNV( ArrayProxy<const float> const & coverageModulationTable ) const VULKAN_HPP_NOEXCEPT | |
| 26117 { | |
| 26118 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetCoverageModulationTableNV && | |
| 26119 "Function <vkCmdSetCoverageModulationTableNV> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 26120 | |
| 26121 getDispatcher()->vkCmdSetCoverageModulationTableNV( | |
| 26122 static_cast<VkCommandBuffer>( m_commandBuffer ), coverageModulationTable.size(), coverageModulationTable.data() ); | |
| 26123 } | |
| 26124 | |
| 26125 // wrapper function for command vkCmdSetShadingRateImageEnableNV, see | |
| 26126 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetShadingRateImageEnableNV.html | |
| 26127 VULKAN_HPP_INLINE void CommandBuffer::setShadingRateImageEnableNV( Bool32 shadingRateImageEnable ) const VULKAN_HPP_NOEXCEPT | |
| 26128 { | |
| 26129 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetShadingRateImageEnableNV && | |
| 26130 "Function <vkCmdSetShadingRateImageEnableNV> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 26131 | |
| 26132 getDispatcher()->vkCmdSetShadingRateImageEnableNV( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( shadingRateImageEnable ) ); | |
| 26133 } | |
| 26134 | |
| 26135 // wrapper function for command vkCmdSetRepresentativeFragmentTestEnableNV, see | |
| 26136 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRepresentativeFragmentTestEnableNV.html | |
| 26137 VULKAN_HPP_INLINE void CommandBuffer::setRepresentativeFragmentTestEnableNV( Bool32 representativeFragmentTestEnable ) const VULKAN_HPP_NOEXCEPT | |
| 26138 { | |
| 26139 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetRepresentativeFragmentTestEnableNV && | |
| 26140 "Function <vkCmdSetRepresentativeFragmentTestEnableNV> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 26141 | |
| 26142 getDispatcher()->vkCmdSetRepresentativeFragmentTestEnableNV( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 26143 static_cast<VkBool32>( representativeFragmentTestEnable ) ); | |
| 26144 } | |
| 26145 | |
| 26146 // wrapper function for command vkCmdSetCoverageReductionModeNV, see | |
| 26147 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageReductionModeNV.html | |
| 26148 VULKAN_HPP_INLINE void CommandBuffer::setCoverageReductionModeNV( CoverageReductionModeNV coverageReductionMode ) const VULKAN_HPP_NOEXCEPT | |
| 26149 { | |
| 26150 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetCoverageReductionModeNV && | |
| 26151 "Function <vkCmdSetCoverageReductionModeNV> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); | |
| 26152 | |
| 26153 getDispatcher()->vkCmdSetCoverageReductionModeNV( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 26154 static_cast<VkCoverageReductionModeNV>( coverageReductionMode ) ); | |
| 26155 } | |
| 26156 | |
| 26157 //=== VK_ARM_tensors === | |
| 26158 | |
| 26159 // wrapper function for command vkCreateTensorARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateTensorARM.html | |
| 26160 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<TensorARM>::type | |
| 26161 Device::createTensorARM( TensorCreateInfoARM const & createInfo, | |
| 26162 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 26163 { | |
| 26164 VULKAN_HPP_NAMESPACE::TensorARM tensor; | |
| 26165 Result result = static_cast<Result>( getDispatcher()->vkCreateTensorARM( static_cast<VkDevice>( m_device ), | |
| 26166 reinterpret_cast<const VkTensorCreateInfoARM *>( &createInfo ), | |
| 26167 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 26168 reinterpret_cast<VkTensorARM *>( &tensor ) ) ); | |
| 26169 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createTensorARM" ); | |
| 26170 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, TensorARM( *this, *reinterpret_cast<VkTensorARM *>( &tensor ), allocator ) ); | |
| 26171 } | |
| 26172 | |
| 26173 // wrapper function for command vkCreateTensorViewARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateTensorViewARM.html | |
| 26174 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<TensorViewARM>::type | |
| 26175 Device::createTensorViewARM( TensorViewCreateInfoARM const & createInfo, | |
| 26176 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 26177 { | |
| 26178 VULKAN_HPP_NAMESPACE::TensorViewARM view; | |
| 26179 Result result = static_cast<Result>( getDispatcher()->vkCreateTensorViewARM( static_cast<VkDevice>( m_device ), | |
| 26180 reinterpret_cast<const VkTensorViewCreateInfoARM *>( &createInfo ), | |
| 26181 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 26182 reinterpret_cast<VkTensorViewARM *>( &view ) ) ); | |
| 26183 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createTensorViewARM" ); | |
| 26184 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, TensorViewARM( *this, *reinterpret_cast<VkTensorViewARM *>( &view ), allocator ) ); | |
| 26185 } | |
| 26186 | |
| 26187 // wrapper function for command vkGetTensorMemoryRequirementsARM, see | |
| 26188 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetTensorMemoryRequirementsARM.html | |
| 26189 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 | |
| 26190 Device::getTensorMemoryRequirementsARM( const TensorMemoryRequirementsInfoARM & info ) const VULKAN_HPP_NOEXCEPT | |
| 26191 { | |
| 26192 VULKAN_HPP_ASSERT( getDispatcher()->vkGetTensorMemoryRequirementsARM && "Function <vkGetTensorMemoryRequirementsARM> requires <VK_ARM_tensors>" ); | |
| 26193 | |
| 26194 MemoryRequirements2 memoryRequirements; | |
| 26195 getDispatcher()->vkGetTensorMemoryRequirementsARM( static_cast<VkDevice>( m_device ), | |
| 26196 reinterpret_cast<const VkTensorMemoryRequirementsInfoARM *>( &info ), | |
| 26197 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); | |
| 26198 | |
| 26199 return memoryRequirements; | |
| 26200 } | |
| 26201 | |
| 26202 // wrapper function for command vkGetTensorMemoryRequirementsARM, see | |
| 26203 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetTensorMemoryRequirementsARM.html | |
| 26204 template <typename X, typename Y, typename... Z> | |
| 26205 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> | |
| 26206 Device::getTensorMemoryRequirementsARM( const TensorMemoryRequirementsInfoARM & info ) const VULKAN_HPP_NOEXCEPT | |
| 26207 { | |
| 26208 VULKAN_HPP_ASSERT( getDispatcher()->vkGetTensorMemoryRequirementsARM && "Function <vkGetTensorMemoryRequirementsARM> requires <VK_ARM_tensors>" ); | |
| 26209 | |
| 26210 StructureChain<X, Y, Z...> structureChain; | |
| 26211 MemoryRequirements2 & memoryRequirements = structureChain.template get<MemoryRequirements2>(); | |
| 26212 getDispatcher()->vkGetTensorMemoryRequirementsARM( static_cast<VkDevice>( m_device ), | |
| 26213 reinterpret_cast<const VkTensorMemoryRequirementsInfoARM *>( &info ), | |
| 26214 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); | |
| 26215 | |
| 26216 return structureChain; | |
| 26217 } | |
| 26218 | |
| 26219 // wrapper function for command vkBindTensorMemoryARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindTensorMemoryARM.html | |
| 26220 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::bindTensorMemoryARM( ArrayProxy<const BindTensorMemoryInfoARM> const & bindInfos ) const | |
| 26221 { | |
| 26222 VULKAN_HPP_ASSERT( getDispatcher()->vkBindTensorMemoryARM && "Function <vkBindTensorMemoryARM> requires <VK_ARM_tensors>" ); | |
| 26223 | |
| 26224 Result result = static_cast<Result>( getDispatcher()->vkBindTensorMemoryARM( | |
| 26225 static_cast<VkDevice>( m_device ), bindInfos.size(), reinterpret_cast<const VkBindTensorMemoryInfoARM *>( bindInfos.data() ) ) ); | |
| 26226 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::bindTensorMemoryARM" ); | |
| 26227 | |
| 26228 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 26229 } | |
| 26230 | |
| 26231 // wrapper function for command vkGetDeviceTensorMemoryRequirementsARM, see | |
| 26232 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceTensorMemoryRequirementsARM.html | |
| 26233 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 | |
| 26234 Device::getTensorMemoryRequirementsARM( const DeviceTensorMemoryRequirementsARM & info ) const VULKAN_HPP_NOEXCEPT | |
| 26235 { | |
| 26236 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceTensorMemoryRequirementsARM && | |
| 26237 "Function <vkGetDeviceTensorMemoryRequirementsARM> requires <VK_ARM_tensors>" ); | |
| 26238 | |
| 26239 MemoryRequirements2 memoryRequirements; | |
| 26240 getDispatcher()->vkGetDeviceTensorMemoryRequirementsARM( static_cast<VkDevice>( m_device ), | |
| 26241 reinterpret_cast<const VkDeviceTensorMemoryRequirementsARM *>( &info ), | |
| 26242 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); | |
| 26243 | |
| 26244 return memoryRequirements; | |
| 26245 } | |
| 26246 | |
| 26247 // wrapper function for command vkGetDeviceTensorMemoryRequirementsARM, see | |
| 26248 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceTensorMemoryRequirementsARM.html | |
| 26249 template <typename X, typename Y, typename... Z> | |
| 26250 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> | |
| 26251 Device::getTensorMemoryRequirementsARM( const DeviceTensorMemoryRequirementsARM & info ) const VULKAN_HPP_NOEXCEPT | |
| 26252 { | |
| 26253 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceTensorMemoryRequirementsARM && | |
| 26254 "Function <vkGetDeviceTensorMemoryRequirementsARM> requires <VK_ARM_tensors>" ); | |
| 26255 | |
| 26256 StructureChain<X, Y, Z...> structureChain; | |
| 26257 MemoryRequirements2 & memoryRequirements = structureChain.template get<MemoryRequirements2>(); | |
| 26258 getDispatcher()->vkGetDeviceTensorMemoryRequirementsARM( static_cast<VkDevice>( m_device ), | |
| 26259 reinterpret_cast<const VkDeviceTensorMemoryRequirementsARM *>( &info ), | |
| 26260 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); | |
| 26261 | |
| 26262 return structureChain; | |
| 26263 } | |
| 26264 | |
| 26265 // wrapper function for command vkCmdCopyTensorARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyTensorARM.html | |
| 26266 VULKAN_HPP_INLINE void CommandBuffer::copyTensorARM( const CopyTensorInfoARM & copyTensorInfo ) const VULKAN_HPP_NOEXCEPT | |
| 26267 { | |
| 26268 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyTensorARM && "Function <vkCmdCopyTensorARM> requires <VK_ARM_tensors>" ); | |
| 26269 | |
| 26270 getDispatcher()->vkCmdCopyTensorARM( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkCopyTensorInfoARM *>( ©TensorInfo ) ); | |
| 26271 } | |
| 26272 | |
| 26273 // wrapper function for command vkGetPhysicalDeviceExternalTensorPropertiesARM, see | |
| 26274 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalTensorPropertiesARM.html | |
| 26275 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ExternalTensorPropertiesARM | |
| 26276 PhysicalDevice::getExternalTensorPropertiesARM( const PhysicalDeviceExternalTensorInfoARM & externalTensorInfo ) const VULKAN_HPP_NOEXCEPT | |
| 26277 { | |
| 26278 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceExternalTensorPropertiesARM && | |
| 26279 "Function <vkGetPhysicalDeviceExternalTensorPropertiesARM> requires <VK_ARM_tensors>" ); | |
| 26280 | |
| 26281 ExternalTensorPropertiesARM externalTensorProperties; | |
| 26282 getDispatcher()->vkGetPhysicalDeviceExternalTensorPropertiesARM( static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 26283 reinterpret_cast<const VkPhysicalDeviceExternalTensorInfoARM *>( &externalTensorInfo ), | |
| 26284 reinterpret_cast<VkExternalTensorPropertiesARM *>( &externalTensorProperties ) ); | |
| 26285 | |
| 26286 return externalTensorProperties; | |
| 26287 } | |
| 26288 | |
| 26289 // wrapper function for command vkGetTensorOpaqueCaptureDescriptorDataARM, see | |
| 26290 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetTensorOpaqueCaptureDescriptorDataARM.html | |
| 26291 template <typename DataType> | |
| 26292 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type | |
| 26293 Device::getTensorOpaqueCaptureDescriptorDataARM( const TensorCaptureDescriptorDataInfoARM & info ) const | |
| 26294 { | |
| 26295 VULKAN_HPP_ASSERT( getDispatcher()->vkGetTensorOpaqueCaptureDescriptorDataARM && | |
| 26296 "Function <vkGetTensorOpaqueCaptureDescriptorDataARM> requires <VK_ARM_tensors>" ); | |
| 26297 | |
| 26298 DataType data; | |
| 26299 Result result = static_cast<Result>( getDispatcher()->vkGetTensorOpaqueCaptureDescriptorDataARM( | |
| 26300 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkTensorCaptureDescriptorDataInfoARM *>( &info ), &data ) ); | |
| 26301 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getTensorOpaqueCaptureDescriptorDataARM" ); | |
| 26302 | |
| 26303 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); | |
| 26304 } | |
| 26305 | |
| 26306 // wrapper function for command vkGetTensorViewOpaqueCaptureDescriptorDataARM, see | |
| 26307 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetTensorViewOpaqueCaptureDescriptorDataARM.html | |
| 26308 template <typename DataType> | |
| 26309 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type | |
| 26310 Device::getTensorViewOpaqueCaptureDescriptorDataARM( const TensorViewCaptureDescriptorDataInfoARM & info ) const | |
| 26311 { | |
| 26312 VULKAN_HPP_ASSERT( getDispatcher()->vkGetTensorViewOpaqueCaptureDescriptorDataARM && | |
| 26313 "Function <vkGetTensorViewOpaqueCaptureDescriptorDataARM> requires <VK_ARM_tensors>" ); | |
| 26314 | |
| 26315 DataType data; | |
| 26316 Result result = static_cast<Result>( getDispatcher()->vkGetTensorViewOpaqueCaptureDescriptorDataARM( | |
| 26317 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkTensorViewCaptureDescriptorDataInfoARM *>( &info ), &data ) ); | |
| 26318 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getTensorViewOpaqueCaptureDescriptorDataARM" ); | |
| 26319 | |
| 26320 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); | |
| 26321 } | |
| 26322 | |
| 26323 //=== VK_EXT_shader_module_identifier === | |
| 26324 | |
| 26325 // wrapper function for command vkGetShaderModuleIdentifierEXT, see | |
| 26326 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderModuleIdentifierEXT.html | |
| 26327 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ShaderModuleIdentifierEXT ShaderModule::getIdentifierEXT() const VULKAN_HPP_NOEXCEPT | |
| 26328 { | |
| 26329 VULKAN_HPP_ASSERT( getDispatcher()->vkGetShaderModuleIdentifierEXT && | |
| 26330 "Function <vkGetShaderModuleIdentifierEXT> requires <VK_EXT_shader_module_identifier>" ); | |
| 26331 | |
| 26332 ShaderModuleIdentifierEXT identifier; | |
| 26333 getDispatcher()->vkGetShaderModuleIdentifierEXT( | |
| 26334 static_cast<VkDevice>( m_device ), static_cast<VkShaderModule>( m_shaderModule ), reinterpret_cast<VkShaderModuleIdentifierEXT *>( &identifier ) ); | |
| 26335 | |
| 26336 return identifier; | |
| 26337 } | |
| 26338 | |
| 26339 // wrapper function for command vkGetShaderModuleCreateInfoIdentifierEXT, see | |
| 26340 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderModuleCreateInfoIdentifierEXT.html | |
| 26341 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ShaderModuleIdentifierEXT | |
| 26342 Device::getShaderModuleCreateInfoIdentifierEXT( const ShaderModuleCreateInfo & createInfo ) const VULKAN_HPP_NOEXCEPT | |
| 26343 { | |
| 26344 VULKAN_HPP_ASSERT( getDispatcher()->vkGetShaderModuleCreateInfoIdentifierEXT && | |
| 26345 "Function <vkGetShaderModuleCreateInfoIdentifierEXT> requires <VK_EXT_shader_module_identifier>" ); | |
| 26346 | |
| 26347 ShaderModuleIdentifierEXT identifier; | |
| 26348 getDispatcher()->vkGetShaderModuleCreateInfoIdentifierEXT( static_cast<VkDevice>( m_device ), | |
| 26349 reinterpret_cast<const VkShaderModuleCreateInfo *>( &createInfo ), | |
| 26350 reinterpret_cast<VkShaderModuleIdentifierEXT *>( &identifier ) ); | |
| 26351 | |
| 26352 return identifier; | |
| 26353 } | |
| 26354 | |
| 26355 //=== VK_NV_optical_flow === | |
| 26356 | |
| 26357 // wrapper function for command vkGetPhysicalDeviceOpticalFlowImageFormatsNV, see | |
| 26358 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceOpticalFlowImageFormatsNV.html | |
| 26359 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<OpticalFlowImageFormatPropertiesNV>>::type | |
| 26360 PhysicalDevice::getOpticalFlowImageFormatsNV( const OpticalFlowImageFormatInfoNV & opticalFlowImageFormatInfo ) const | |
| 26361 { | |
| 26362 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceOpticalFlowImageFormatsNV && | |
| 26363 "Function <vkGetPhysicalDeviceOpticalFlowImageFormatsNV> requires <VK_NV_optical_flow>" ); | |
| 26364 | |
| 26365 std::vector<OpticalFlowImageFormatPropertiesNV> imageFormatProperties; | |
| 26366 uint32_t formatCount; | |
| 26367 Result result; | |
| 26368 do | |
| 26369 { | |
| 26370 result = static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceOpticalFlowImageFormatsNV( | |
| 26371 static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 26372 reinterpret_cast<const VkOpticalFlowImageFormatInfoNV *>( &opticalFlowImageFormatInfo ), | |
| 26373 &formatCount, | |
| 26374 nullptr ) ); | |
| 26375 if ( ( result == Result::eSuccess ) && formatCount ) | |
| 26376 { | |
| 26377 imageFormatProperties.resize( formatCount ); | |
| 26378 result = static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceOpticalFlowImageFormatsNV( | |
| 26379 static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 26380 reinterpret_cast<const VkOpticalFlowImageFormatInfoNV *>( &opticalFlowImageFormatInfo ), | |
| 26381 &formatCount, | |
| 26382 reinterpret_cast<VkOpticalFlowImageFormatPropertiesNV *>( imageFormatProperties.data() ) ) ); | |
| 26383 } | |
| 26384 } while ( result == Result::eIncomplete ); | |
| 26385 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getOpticalFlowImageFormatsNV" ); | |
| 26386 VULKAN_HPP_ASSERT( formatCount <= imageFormatProperties.size() ); | |
| 26387 if ( formatCount < imageFormatProperties.size() ) | |
| 26388 { | |
| 26389 imageFormatProperties.resize( formatCount ); | |
| 26390 } | |
| 26391 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( imageFormatProperties ) ); | |
| 26392 } | |
| 26393 | |
| 26394 // wrapper function for command vkCreateOpticalFlowSessionNV, see | |
| 26395 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateOpticalFlowSessionNV.html | |
| 26396 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<OpticalFlowSessionNV>::type | |
| 26397 Device::createOpticalFlowSessionNV( OpticalFlowSessionCreateInfoNV const & createInfo, | |
| 26398 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 26399 { | |
| 26400 VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session; | |
| 26401 Result result = | |
| 26402 static_cast<Result>( getDispatcher()->vkCreateOpticalFlowSessionNV( static_cast<VkDevice>( m_device ), | |
| 26403 reinterpret_cast<const VkOpticalFlowSessionCreateInfoNV *>( &createInfo ), | |
| 26404 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 26405 reinterpret_cast<VkOpticalFlowSessionNV *>( &session ) ) ); | |
| 26406 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createOpticalFlowSessionNV" ); | |
| 26407 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( | |
| 26408 result, OpticalFlowSessionNV( *this, *reinterpret_cast<VkOpticalFlowSessionNV *>( &session ), allocator ) ); | |
| 26409 } | |
| 26410 | |
| 26411 // wrapper function for command vkBindOpticalFlowSessionImageNV, see | |
| 26412 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindOpticalFlowSessionImageNV.html | |
| 26413 VULKAN_HPP_INLINE typename ResultValueType<void>::type | |
| 26414 OpticalFlowSessionNV::bindImage( OpticalFlowSessionBindingPointNV bindingPoint, VULKAN_HPP_NAMESPACE::ImageView view, ImageLayout layout ) const | |
| 26415 { | |
| 26416 VULKAN_HPP_ASSERT( getDispatcher()->vkBindOpticalFlowSessionImageNV && "Function <vkBindOpticalFlowSessionImageNV> requires <VK_NV_optical_flow>" ); | |
| 26417 | |
| 26418 Result result = static_cast<Result>( getDispatcher()->vkBindOpticalFlowSessionImageNV( static_cast<VkDevice>( m_device ), | |
| 26419 static_cast<VkOpticalFlowSessionNV>( m_opticalFlowSessionNV ), | |
| 26420 static_cast<VkOpticalFlowSessionBindingPointNV>( bindingPoint ), | |
| 26421 static_cast<VkImageView>( view ), | |
| 26422 static_cast<VkImageLayout>( layout ) ) ); | |
| 26423 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::OpticalFlowSessionNV::bindImage" ); | |
| 26424 | |
| 26425 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 26426 } | |
| 26427 | |
| 26428 // wrapper function for command vkCmdOpticalFlowExecuteNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdOpticalFlowExecuteNV.html | |
| 26429 VULKAN_HPP_INLINE void CommandBuffer::opticalFlowExecuteNV( VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session, | |
| 26430 const OpticalFlowExecuteInfoNV & executeInfo ) const VULKAN_HPP_NOEXCEPT | |
| 26431 { | |
| 26432 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdOpticalFlowExecuteNV && "Function <vkCmdOpticalFlowExecuteNV> requires <VK_NV_optical_flow>" ); | |
| 26433 | |
| 26434 getDispatcher()->vkCmdOpticalFlowExecuteNV( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 26435 static_cast<VkOpticalFlowSessionNV>( session ), | |
| 26436 reinterpret_cast<const VkOpticalFlowExecuteInfoNV *>( &executeInfo ) ); | |
| 26437 } | |
| 26438 | |
| 26439 //=== VK_KHR_maintenance5 === | |
| 26440 | |
| 26441 // wrapper function for command vkCmdBindIndexBuffer2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindIndexBuffer2KHR.html | |
| 26442 VULKAN_HPP_INLINE void CommandBuffer::bindIndexBuffer2KHR( VULKAN_HPP_NAMESPACE::Buffer buffer, | |
| 26443 DeviceSize offset, | |
| 26444 DeviceSize size, | |
| 26445 IndexType indexType ) const VULKAN_HPP_NOEXCEPT | |
| 26446 { | |
| 26447 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBindIndexBuffer2KHR && | |
| 26448 "Function <vkCmdBindIndexBuffer2KHR> requires <VK_KHR_maintenance5> or <VK_VERSION_1_4>" ); | |
| 26449 | |
| 26450 getDispatcher()->vkCmdBindIndexBuffer2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 26451 static_cast<VkBuffer>( buffer ), | |
| 26452 static_cast<VkDeviceSize>( offset ), | |
| 26453 static_cast<VkDeviceSize>( size ), | |
| 26454 static_cast<VkIndexType>( indexType ) ); | |
| 26455 } | |
| 26456 | |
| 26457 // wrapper function for command vkGetRenderingAreaGranularityKHR, see | |
| 26458 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRenderingAreaGranularityKHR.html | |
| 26459 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Extent2D | |
| 26460 Device::getRenderingAreaGranularityKHR( const RenderingAreaInfo & renderingAreaInfo ) const VULKAN_HPP_NOEXCEPT | |
| 26461 { | |
| 26462 VULKAN_HPP_ASSERT( getDispatcher()->vkGetRenderingAreaGranularityKHR && | |
| 26463 "Function <vkGetRenderingAreaGranularityKHR> requires <VK_KHR_maintenance5> or <VK_VERSION_1_4>" ); | |
| 26464 | |
| 26465 Extent2D granularity; | |
| 26466 getDispatcher()->vkGetRenderingAreaGranularityKHR( static_cast<VkDevice>( m_device ), | |
| 26467 reinterpret_cast<const VkRenderingAreaInfo *>( &renderingAreaInfo ), | |
| 26468 reinterpret_cast<VkExtent2D *>( &granularity ) ); | |
| 26469 | |
| 26470 return granularity; | |
| 26471 } | |
| 26472 | |
| 26473 // wrapper function for command vkGetDeviceImageSubresourceLayoutKHR, see | |
| 26474 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSubresourceLayoutKHR.html | |
| 26475 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE SubresourceLayout2 | |
| 26476 Device::getImageSubresourceLayoutKHR( const DeviceImageSubresourceInfo & info ) const VULKAN_HPP_NOEXCEPT | |
| 26477 { | |
| 26478 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceImageSubresourceLayoutKHR && | |
| 26479 "Function <vkGetDeviceImageSubresourceLayoutKHR> requires <VK_KHR_maintenance5> or <VK_VERSION_1_4>" ); | |
| 26480 | |
| 26481 SubresourceLayout2 layout; | |
| 26482 getDispatcher()->vkGetDeviceImageSubresourceLayoutKHR( static_cast<VkDevice>( m_device ), | |
| 26483 reinterpret_cast<const VkDeviceImageSubresourceInfo *>( &info ), | |
| 26484 reinterpret_cast<VkSubresourceLayout2 *>( &layout ) ); | |
| 26485 | |
| 26486 return layout; | |
| 26487 } | |
| 26488 | |
| 26489 // wrapper function for command vkGetDeviceImageSubresourceLayoutKHR, see | |
| 26490 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSubresourceLayoutKHR.html | |
| 26491 template <typename X, typename Y, typename... Z> | |
| 26492 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> | |
| 26493 Device::getImageSubresourceLayoutKHR( const DeviceImageSubresourceInfo & info ) const VULKAN_HPP_NOEXCEPT | |
| 26494 { | |
| 26495 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceImageSubresourceLayoutKHR && | |
| 26496 "Function <vkGetDeviceImageSubresourceLayoutKHR> requires <VK_KHR_maintenance5> or <VK_VERSION_1_4>" ); | |
| 26497 | |
| 26498 StructureChain<X, Y, Z...> structureChain; | |
| 26499 SubresourceLayout2 & layout = structureChain.template get<SubresourceLayout2>(); | |
| 26500 getDispatcher()->vkGetDeviceImageSubresourceLayoutKHR( static_cast<VkDevice>( m_device ), | |
| 26501 reinterpret_cast<const VkDeviceImageSubresourceInfo *>( &info ), | |
| 26502 reinterpret_cast<VkSubresourceLayout2 *>( &layout ) ); | |
| 26503 | |
| 26504 return structureChain; | |
| 26505 } | |
| 26506 | |
| 26507 // wrapper function for command vkGetImageSubresourceLayout2KHR, see | |
| 26508 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2KHR.html | |
| 26509 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE SubresourceLayout2 Image::getSubresourceLayout2KHR( const ImageSubresource2 & subresource ) const VULKAN_HPP_NOEXCEPT | |
| 26510 { | |
| 26511 VULKAN_HPP_ASSERT( | |
| 26512 getDispatcher()->vkGetImageSubresourceLayout2KHR && | |
| 26513 "Function <vkGetImageSubresourceLayout2KHR> requires <VK_EXT_host_image_copy> or <VK_EXT_image_compression_control> or <VK_KHR_maintenance5> or <VK_VERSION_1_4>" ); | |
| 26514 | |
| 26515 SubresourceLayout2 layout; | |
| 26516 getDispatcher()->vkGetImageSubresourceLayout2KHR( static_cast<VkDevice>( m_device ), | |
| 26517 static_cast<VkImage>( m_image ), | |
| 26518 reinterpret_cast<const VkImageSubresource2 *>( &subresource ), | |
| 26519 reinterpret_cast<VkSubresourceLayout2 *>( &layout ) ); | |
| 26520 | |
| 26521 return layout; | |
| 26522 } | |
| 26523 | |
| 26524 // wrapper function for command vkGetImageSubresourceLayout2KHR, see | |
| 26525 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2KHR.html | |
| 26526 template <typename X, typename Y, typename... Z> | |
| 26527 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> | |
| 26528 Image::getSubresourceLayout2KHR( const ImageSubresource2 & subresource ) const VULKAN_HPP_NOEXCEPT | |
| 26529 { | |
| 26530 VULKAN_HPP_ASSERT( | |
| 26531 getDispatcher()->vkGetImageSubresourceLayout2KHR && | |
| 26532 "Function <vkGetImageSubresourceLayout2KHR> requires <VK_EXT_host_image_copy> or <VK_EXT_image_compression_control> or <VK_KHR_maintenance5> or <VK_VERSION_1_4>" ); | |
| 26533 | |
| 26534 StructureChain<X, Y, Z...> structureChain; | |
| 26535 SubresourceLayout2 & layout = structureChain.template get<SubresourceLayout2>(); | |
| 26536 getDispatcher()->vkGetImageSubresourceLayout2KHR( static_cast<VkDevice>( m_device ), | |
| 26537 static_cast<VkImage>( m_image ), | |
| 26538 reinterpret_cast<const VkImageSubresource2 *>( &subresource ), | |
| 26539 reinterpret_cast<VkSubresourceLayout2 *>( &layout ) ); | |
| 26540 | |
| 26541 return structureChain; | |
| 26542 } | |
| 26543 | |
| 26544 //=== VK_AMD_anti_lag === | |
| 26545 | |
| 26546 // wrapper function for command vkAntiLagUpdateAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAntiLagUpdateAMD.html | |
| 26547 VULKAN_HPP_INLINE void Device::antiLagUpdateAMD( const AntiLagDataAMD & data ) const VULKAN_HPP_NOEXCEPT | |
| 26548 { | |
| 26549 VULKAN_HPP_ASSERT( getDispatcher()->vkAntiLagUpdateAMD && "Function <vkAntiLagUpdateAMD> requires <VK_AMD_anti_lag>" ); | |
| 26550 | |
| 26551 getDispatcher()->vkAntiLagUpdateAMD( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkAntiLagDataAMD *>( &data ) ); | |
| 26552 } | |
| 26553 | |
| 26554 //=== VK_KHR_present_wait2 === | |
| 26555 | |
| 26556 // wrapper function for command vkWaitForPresent2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitForPresent2KHR.html | |
| 26557 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result SwapchainKHR::waitForPresent2( const PresentWait2InfoKHR & presentWait2Info ) const | |
| 26558 { | |
| 26559 VULKAN_HPP_ASSERT( getDispatcher()->vkWaitForPresent2KHR && "Function <vkWaitForPresent2KHR> requires <VK_KHR_present_wait2>" ); | |
| 26560 | |
| 26561 Result result = static_cast<Result>( getDispatcher()->vkWaitForPresent2KHR( static_cast<VkDevice>( m_device ), | |
| 26562 static_cast<VkSwapchainKHR>( m_swapchainKHR ), | |
| 26563 reinterpret_cast<const VkPresentWait2InfoKHR *>( &presentWait2Info ) ) ); | |
| 26564 | |
| 26565 # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) | |
| 26566 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, | |
| 26567 VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::waitForPresent2", | |
| 26568 { Result::eSuccess, Result::eTimeout, Result::eSuboptimalKHR, Result::eErrorOutOfDateKHR } ); | |
| 26569 # else | |
| 26570 VULKAN_HPP_NAMESPACE::detail::resultCheck( | |
| 26571 result, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::waitForPresent2", { Result::eSuccess, Result::eTimeout, Result::eSuboptimalKHR } ); | |
| 26572 # endif | |
| 26573 | |
| 26574 return static_cast<Result>( result ); | |
| 26575 } | |
| 26576 | |
| 26577 //=== VK_EXT_shader_object === | |
| 26578 | |
| 26579 // wrapper function for command vkCreateShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShadersEXT.html | |
| 26580 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<ShaderEXT>>::type | |
| 26581 Device::createShadersEXT( ArrayProxy<ShaderCreateInfoEXT> const & createInfos, Optional<const AllocationCallbacks> allocator ) const | |
| 26582 { | |
| 26583 std::vector<VULKAN_HPP_NAMESPACE::ShaderEXT> shaders( createInfos.size() ); | |
| 26584 Result result = static_cast<Result>( getDispatcher()->vkCreateShadersEXT( static_cast<VkDevice>( m_device ), | |
| 26585 createInfos.size(), | |
| 26586 reinterpret_cast<const VkShaderCreateInfoEXT *>( createInfos.data() ), | |
| 26587 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 26588 reinterpret_cast<VkShaderEXT *>( shaders.data() ) ) ); | |
| 26589 VULKAN_HPP_NAMESPACE::detail::resultCheck( | |
| 26590 result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createShadersEXT", { Result::eSuccess, Result::eIncompatibleShaderBinaryEXT } ); | |
| 26591 std::vector<ShaderEXT> shadersRAII; | |
| 26592 if ( result == Result::eSuccess ) | |
| 26593 { | |
| 26594 shadersRAII.reserve( shaders.size() ); | |
| 26595 for ( auto & shader : shaders ) | |
| 26596 { | |
| 26597 shadersRAII.emplace_back( *this, *reinterpret_cast<VkShaderEXT *>( &shader ), allocator, result ); | |
| 26598 } | |
| 26599 } | |
| 26600 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( shadersRAII ) ); | |
| 26601 } | |
| 26602 | |
| 26603 // wrapper function for command vkCreateShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShadersEXT.html | |
| 26604 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<ShaderEXT>::type | |
| 26605 Device::createShaderEXT( ShaderCreateInfoEXT const & createInfo, | |
| 26606 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 26607 { | |
| 26608 VULKAN_HPP_NAMESPACE::ShaderEXT shader; | |
| 26609 Result result = static_cast<Result>( getDispatcher()->vkCreateShadersEXT( static_cast<VkDevice>( m_device ), | |
| 26610 1, | |
| 26611 reinterpret_cast<const VkShaderCreateInfoEXT *>( &createInfo ), | |
| 26612 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 26613 reinterpret_cast<VkShaderEXT *>( &shader ) ) ); | |
| 26614 VULKAN_HPP_NAMESPACE::detail::resultCheck( | |
| 26615 result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createShaderEXT", { Result::eSuccess, Result::eIncompatibleShaderBinaryEXT } ); | |
| 26616 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, ShaderEXT( *this, *reinterpret_cast<VkShaderEXT *>( &shader ), allocator, result ) ); | |
| 26617 } | |
| 26618 | |
| 26619 // wrapper function for command vkGetShaderBinaryDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderBinaryDataEXT.html | |
| 26620 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<uint8_t>>::type ShaderEXT::getBinaryData() const | |
| 26621 { | |
| 26622 VULKAN_HPP_ASSERT( getDispatcher()->vkGetShaderBinaryDataEXT && "Function <vkGetShaderBinaryDataEXT> requires <VK_EXT_shader_object>" ); | |
| 26623 | |
| 26624 std::vector<uint8_t> data; | |
| 26625 size_t dataSize; | |
| 26626 Result result; | |
| 26627 do | |
| 26628 { | |
| 26629 result = static_cast<Result>( | |
| 26630 getDispatcher()->vkGetShaderBinaryDataEXT( static_cast<VkDevice>( m_device ), static_cast<VkShaderEXT>( m_shaderEXT ), &dataSize, nullptr ) ); | |
| 26631 if ( ( result == Result::eSuccess ) && dataSize ) | |
| 26632 { | |
| 26633 data.resize( dataSize ); | |
| 26634 result = static_cast<Result>( getDispatcher()->vkGetShaderBinaryDataEXT( | |
| 26635 static_cast<VkDevice>( m_device ), static_cast<VkShaderEXT>( m_shaderEXT ), &dataSize, reinterpret_cast<void *>( data.data() ) ) ); | |
| 26636 } | |
| 26637 } while ( result == Result::eIncomplete ); | |
| 26638 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::ShaderEXT::getBinaryData" ); | |
| 26639 VULKAN_HPP_ASSERT( dataSize <= data.size() ); | |
| 26640 if ( dataSize < data.size() ) | |
| 26641 { | |
| 26642 data.resize( dataSize ); | |
| 26643 } | |
| 26644 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); | |
| 26645 } | |
| 26646 | |
| 26647 // wrapper function for command vkCmdBindShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindShadersEXT.html | |
| 26648 VULKAN_HPP_INLINE void CommandBuffer::bindShadersEXT( ArrayProxy<const ShaderStageFlagBits> const & stages, | |
| 26649 ArrayProxy<const VULKAN_HPP_NAMESPACE::ShaderEXT> const & shaders ) const | |
| 26650 { | |
| 26651 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBindShadersEXT && "Function <vkCmdBindShadersEXT> requires <VK_EXT_shader_object>" ); | |
| 26652 # ifdef VULKAN_HPP_NO_EXCEPTIONS | |
| 26653 VULKAN_HPP_ASSERT( stages.size() == shaders.size() ); | |
| 26654 # else | |
| 26655 if ( stages.size() != shaders.size() ) | |
| 26656 { | |
| 26657 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindShadersEXT: stages.size() != shaders.size()" ); | |
| 26658 } | |
| 26659 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ | |
| 26660 | |
| 26661 getDispatcher()->vkCmdBindShadersEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 26662 stages.size(), | |
| 26663 reinterpret_cast<const VkShaderStageFlagBits *>( stages.data() ), | |
| 26664 reinterpret_cast<const VkShaderEXT *>( shaders.data() ) ); | |
| 26665 } | |
| 26666 | |
| 26667 // wrapper function for command vkCmdSetDepthClampRangeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthClampRangeEXT.html | |
| 26668 VULKAN_HPP_INLINE void CommandBuffer::setDepthClampRangeEXT( DepthClampModeEXT depthClampMode, | |
| 26669 Optional<const DepthClampRangeEXT> depthClampRange ) const VULKAN_HPP_NOEXCEPT | |
| 26670 { | |
| 26671 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDepthClampRangeEXT && | |
| 26672 "Function <vkCmdSetDepthClampRangeEXT> requires <VK_EXT_depth_clamp_control> or <VK_EXT_shader_object>" ); | |
| 26673 | |
| 26674 getDispatcher()->vkCmdSetDepthClampRangeEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 26675 static_cast<VkDepthClampModeEXT>( depthClampMode ), | |
| 26676 reinterpret_cast<const VkDepthClampRangeEXT *>( depthClampRange.get() ) ); | |
| 26677 } | |
| 26678 | |
| 26679 //=== VK_KHR_pipeline_binary === | |
| 26680 | |
| 26681 // wrapper function for command vkCreatePipelineBinariesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineBinariesKHR.html | |
| 26682 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<PipelineBinaryKHR>>::type | |
| 26683 Device::createPipelineBinariesKHR( PipelineBinaryCreateInfoKHR const & createInfo, Optional<const AllocationCallbacks> allocator ) const | |
| 26684 { | |
| 26685 std::vector<VULKAN_HPP_NAMESPACE::PipelineBinaryKHR> pipelineBinaries; | |
| 26686 PipelineBinaryHandlesInfoKHR binaries; | |
| 26687 Result result; | |
| 26688 if ( createInfo.pKeysAndDataInfo ) | |
| 26689 { | |
| 26690 VULKAN_HPP_ASSERT( !createInfo.pipeline && !createInfo.pPipelineCreateInfo ); | |
| 26691 pipelineBinaries.resize( createInfo.pKeysAndDataInfo->binaryCount ); | |
| 26692 binaries.pipelineBinaryCount = createInfo.pKeysAndDataInfo->binaryCount; | |
| 26693 binaries.pPipelineBinaries = pipelineBinaries.data(); | |
| 26694 result = static_cast<Result>( getDispatcher()->vkCreatePipelineBinariesKHR( static_cast<VkDevice>( m_device ), | |
| 26695 reinterpret_cast<const VkPipelineBinaryCreateInfoKHR *>( &createInfo ), | |
| 26696 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 26697 reinterpret_cast<VkPipelineBinaryHandlesInfoKHR *>( &binaries ) ) ); | |
| 26698 } | |
| 26699 else | |
| 26700 { | |
| 26701 VULKAN_HPP_ASSERT( !createInfo.pipeline ^ !createInfo.pPipelineCreateInfo ); | |
| 26702 result = static_cast<Result>( getDispatcher()->vkCreatePipelineBinariesKHR( static_cast<VkDevice>( m_device ), | |
| 26703 reinterpret_cast<const VkPipelineBinaryCreateInfoKHR *>( &createInfo ), | |
| 26704 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 26705 reinterpret_cast<VkPipelineBinaryHandlesInfoKHR *>( &binaries ) ) ); | |
| 26706 if ( result == Result::eSuccess ) | |
| 26707 { | |
| 26708 pipelineBinaries.resize( binaries.pipelineBinaryCount ); | |
| 26709 binaries.pPipelineBinaries = pipelineBinaries.data(); | |
| 26710 result = static_cast<Result>( getDispatcher()->vkCreatePipelineBinariesKHR( static_cast<VkDevice>( m_device ), | |
| 26711 reinterpret_cast<const VkPipelineBinaryCreateInfoKHR *>( &createInfo ), | |
| 26712 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 26713 reinterpret_cast<VkPipelineBinaryHandlesInfoKHR *>( &binaries ) ) ); | |
| 26714 } | |
| 26715 } | |
| 26716 | |
| 26717 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, | |
| 26718 VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createPipelineBinariesKHR", | |
| 26719 { Result::eSuccess, Result::eIncomplete, Result::ePipelineBinaryMissingKHR } ); | |
| 26720 std::vector<PipelineBinaryKHR> pipelineBinariesRAII; | |
| 26721 if ( result == Result::eSuccess ) | |
| 26722 { | |
| 26723 pipelineBinariesRAII.reserve( pipelineBinaries.size() ); | |
| 26724 for ( auto & pipelineBinary : pipelineBinaries ) | |
| 26725 { | |
| 26726 pipelineBinariesRAII.emplace_back( *this, *reinterpret_cast<VkPipelineBinaryKHR *>( &pipelineBinary ), allocator, result ); | |
| 26727 } | |
| 26728 } | |
| 26729 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pipelineBinariesRAII ) ); | |
| 26730 } | |
| 26731 | |
| 26732 // wrapper function for command vkGetPipelineKeyKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineKeyKHR.html | |
| 26733 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<PipelineBinaryKeyKHR>::type | |
| 26734 Device::getPipelineKeyKHR( Optional<const PipelineCreateInfoKHR> pipelineCreateInfo ) const | |
| 26735 { | |
| 26736 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPipelineKeyKHR && "Function <vkGetPipelineKeyKHR> requires <VK_KHR_pipeline_binary>" ); | |
| 26737 | |
| 26738 PipelineBinaryKeyKHR pipelineKey; | |
| 26739 Result result = static_cast<Result>( getDispatcher()->vkGetPipelineKeyKHR( static_cast<VkDevice>( m_device ), | |
| 26740 reinterpret_cast<const VkPipelineCreateInfoKHR *>( pipelineCreateInfo.get() ), | |
| 26741 reinterpret_cast<VkPipelineBinaryKeyKHR *>( &pipelineKey ) ) ); | |
| 26742 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getPipelineKeyKHR" ); | |
| 26743 | |
| 26744 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pipelineKey ) ); | |
| 26745 } | |
| 26746 | |
| 26747 // wrapper function for command vkGetPipelineBinaryDataKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineBinaryDataKHR.html | |
| 26748 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::pair<PipelineBinaryKeyKHR, std::vector<uint8_t>>>::type | |
| 26749 Device::getPipelineBinaryDataKHR( const PipelineBinaryDataInfoKHR & info ) const | |
| 26750 { | |
| 26751 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPipelineBinaryDataKHR && "Function <vkGetPipelineBinaryDataKHR> requires <VK_KHR_pipeline_binary>" ); | |
| 26752 | |
| 26753 std::pair<PipelineBinaryKeyKHR, std::vector<uint8_t>> data_; | |
| 26754 PipelineBinaryKeyKHR & pipelineBinaryKey = data_.first; | |
| 26755 std::vector<uint8_t> & pipelineBinaryData = data_.second; | |
| 26756 size_t pipelineBinaryDataSize; | |
| 26757 Result result = static_cast<Result>( getDispatcher()->vkGetPipelineBinaryDataKHR( static_cast<VkDevice>( m_device ), | |
| 26758 reinterpret_cast<const VkPipelineBinaryDataInfoKHR *>( &info ), | |
| 26759 reinterpret_cast<VkPipelineBinaryKeyKHR *>( &pipelineBinaryKey ), | |
| 26760 &pipelineBinaryDataSize, | |
| 26761 nullptr ) ); | |
| 26762 if ( result == Result::eSuccess ) | |
| 26763 { | |
| 26764 pipelineBinaryData.resize( pipelineBinaryDataSize ); | |
| 26765 result = static_cast<Result>( getDispatcher()->vkGetPipelineBinaryDataKHR( static_cast<VkDevice>( m_device ), | |
| 26766 reinterpret_cast<const VkPipelineBinaryDataInfoKHR *>( &info ), | |
| 26767 reinterpret_cast<VkPipelineBinaryKeyKHR *>( &pipelineBinaryKey ), | |
| 26768 &pipelineBinaryDataSize, | |
| 26769 reinterpret_cast<void *>( pipelineBinaryData.data() ) ) ); | |
| 26770 } | |
| 26771 | |
| 26772 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getPipelineBinaryDataKHR" ); | |
| 26773 | |
| 26774 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); | |
| 26775 } | |
| 26776 | |
| 26777 // wrapper function for command vkReleaseCapturedPipelineDataKHR, see | |
| 26778 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseCapturedPipelineDataKHR.html | |
| 26779 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::releaseCapturedPipelineDataKHR( const ReleaseCapturedPipelineDataInfoKHR & info, | |
| 26780 Optional<const AllocationCallbacks> allocator ) const | |
| 26781 { | |
| 26782 VULKAN_HPP_ASSERT( getDispatcher()->vkReleaseCapturedPipelineDataKHR && "Function <vkReleaseCapturedPipelineDataKHR> requires <VK_KHR_pipeline_binary>" ); | |
| 26783 | |
| 26784 Result result = | |
| 26785 static_cast<Result>( getDispatcher()->vkReleaseCapturedPipelineDataKHR( static_cast<VkDevice>( m_device ), | |
| 26786 reinterpret_cast<const VkReleaseCapturedPipelineDataInfoKHR *>( &info ), | |
| 26787 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ) ) ); | |
| 26788 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::releaseCapturedPipelineDataKHR" ); | |
| 26789 | |
| 26790 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 26791 } | |
| 26792 | |
| 26793 //=== VK_QCOM_tile_properties === | |
| 26794 | |
| 26795 // wrapper function for command vkGetFramebufferTilePropertiesQCOM, see | |
| 26796 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFramebufferTilePropertiesQCOM.html | |
| 26797 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<TilePropertiesQCOM>>::type Framebuffer::getTilePropertiesQCOM() const | |
| 26798 { | |
| 26799 VULKAN_HPP_ASSERT( getDispatcher()->vkGetFramebufferTilePropertiesQCOM && | |
| 26800 "Function <vkGetFramebufferTilePropertiesQCOM> requires <VK_QCOM_tile_properties>" ); | |
| 26801 | |
| 26802 std::vector<TilePropertiesQCOM> properties; | |
| 26803 uint32_t propertiesCount; | |
| 26804 Result result; | |
| 26805 do | |
| 26806 { | |
| 26807 result = static_cast<Result>( getDispatcher()->vkGetFramebufferTilePropertiesQCOM( | |
| 26808 static_cast<VkDevice>( m_device ), static_cast<VkFramebuffer>( m_framebuffer ), &propertiesCount, nullptr ) ); | |
| 26809 if ( ( result == Result::eSuccess ) && propertiesCount ) | |
| 26810 { | |
| 26811 properties.resize( propertiesCount ); | |
| 26812 result = static_cast<Result>( getDispatcher()->vkGetFramebufferTilePropertiesQCOM( static_cast<VkDevice>( m_device ), | |
| 26813 static_cast<VkFramebuffer>( m_framebuffer ), | |
| 26814 &propertiesCount, | |
| 26815 reinterpret_cast<VkTilePropertiesQCOM *>( properties.data() ) ) ); | |
| 26816 } | |
| 26817 } while ( result == Result::eIncomplete ); | |
| 26818 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Framebuffer::getTilePropertiesQCOM" ); | |
| 26819 VULKAN_HPP_ASSERT( propertiesCount <= properties.size() ); | |
| 26820 if ( propertiesCount < properties.size() ) | |
| 26821 { | |
| 26822 properties.resize( propertiesCount ); | |
| 26823 } | |
| 26824 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); | |
| 26825 } | |
| 26826 | |
| 26827 // wrapper function for command vkGetDynamicRenderingTilePropertiesQCOM, see | |
| 26828 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDynamicRenderingTilePropertiesQCOM.html | |
| 26829 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<TilePropertiesQCOM>::type | |
| 26830 Device::getDynamicRenderingTilePropertiesQCOM( const RenderingInfo & renderingInfo ) const | |
| 26831 { | |
| 26832 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDynamicRenderingTilePropertiesQCOM && | |
| 26833 "Function <vkGetDynamicRenderingTilePropertiesQCOM> requires <VK_QCOM_tile_properties>" ); | |
| 26834 | |
| 26835 TilePropertiesQCOM properties; | |
| 26836 Result result = | |
| 26837 static_cast<Result>( getDispatcher()->vkGetDynamicRenderingTilePropertiesQCOM( static_cast<VkDevice>( m_device ), | |
| 26838 reinterpret_cast<const VkRenderingInfo *>( &renderingInfo ), | |
| 26839 reinterpret_cast<VkTilePropertiesQCOM *>( &properties ) ) ); | |
| 26840 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getDynamicRenderingTilePropertiesQCOM" ); | |
| 26841 | |
| 26842 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); | |
| 26843 } | |
| 26844 | |
| 26845 //=== VK_KHR_swapchain_maintenance1 === | |
| 26846 | |
| 26847 // wrapper function for command vkReleaseSwapchainImagesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseSwapchainImagesKHR.html | |
| 26848 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::releaseSwapchainImagesKHR( const ReleaseSwapchainImagesInfoKHR & releaseInfo ) const | |
| 26849 { | |
| 26850 VULKAN_HPP_ASSERT( getDispatcher()->vkReleaseSwapchainImagesKHR && | |
| 26851 "Function <vkReleaseSwapchainImagesKHR> requires <VK_EXT_swapchain_maintenance1> or <VK_KHR_swapchain_maintenance1>" ); | |
| 26852 | |
| 26853 Result result = static_cast<Result>( getDispatcher()->vkReleaseSwapchainImagesKHR( | |
| 26854 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkReleaseSwapchainImagesInfoKHR *>( &releaseInfo ) ) ); | |
| 26855 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::releaseSwapchainImagesKHR" ); | |
| 26856 | |
| 26857 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 26858 } | |
| 26859 | |
| 26860 //=== VK_NV_cooperative_vector === | |
| 26861 | |
| 26862 // wrapper function for command vkGetPhysicalDeviceCooperativeVectorPropertiesNV, see | |
| 26863 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeVectorPropertiesNV.html | |
| 26864 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<CooperativeVectorPropertiesNV>>::type | |
| 26865 PhysicalDevice::getCooperativeVectorPropertiesNV() const | |
| 26866 { | |
| 26867 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceCooperativeVectorPropertiesNV && | |
| 26868 "Function <vkGetPhysicalDeviceCooperativeVectorPropertiesNV> requires <VK_NV_cooperative_vector>" ); | |
| 26869 | |
| 26870 std::vector<CooperativeVectorPropertiesNV> properties; | |
| 26871 uint32_t propertyCount; | |
| 26872 Result result; | |
| 26873 do | |
| 26874 { | |
| 26875 result = static_cast<Result>( | |
| 26876 getDispatcher()->vkGetPhysicalDeviceCooperativeVectorPropertiesNV( static_cast<VkPhysicalDevice>( m_physicalDevice ), &propertyCount, nullptr ) ); | |
| 26877 if ( ( result == Result::eSuccess ) && propertyCount ) | |
| 26878 { | |
| 26879 properties.resize( propertyCount ); | |
| 26880 result = static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceCooperativeVectorPropertiesNV( | |
| 26881 static_cast<VkPhysicalDevice>( m_physicalDevice ), &propertyCount, reinterpret_cast<VkCooperativeVectorPropertiesNV *>( properties.data() ) ) ); | |
| 26882 } | |
| 26883 } while ( result == Result::eIncomplete ); | |
| 26884 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getCooperativeVectorPropertiesNV" ); | |
| 26885 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); | |
| 26886 if ( propertyCount < properties.size() ) | |
| 26887 { | |
| 26888 properties.resize( propertyCount ); | |
| 26889 } | |
| 26890 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); | |
| 26891 } | |
| 26892 | |
| 26893 // wrapper function for command vkConvertCooperativeVectorMatrixNV, see | |
| 26894 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkConvertCooperativeVectorMatrixNV.html | |
| 26895 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::convertCooperativeVectorMatrixNV( const ConvertCooperativeVectorMatrixInfoNV & info ) const | |
| 26896 { | |
| 26897 VULKAN_HPP_ASSERT( getDispatcher()->vkConvertCooperativeVectorMatrixNV && | |
| 26898 "Function <vkConvertCooperativeVectorMatrixNV> requires <VK_NV_cooperative_vector>" ); | |
| 26899 | |
| 26900 Result result = static_cast<Result>( getDispatcher()->vkConvertCooperativeVectorMatrixNV( | |
| 26901 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkConvertCooperativeVectorMatrixInfoNV *>( &info ) ) ); | |
| 26902 VULKAN_HPP_NAMESPACE::detail::resultCheck( | |
| 26903 result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::convertCooperativeVectorMatrixNV", { Result::eSuccess, Result::eIncomplete } ); | |
| 26904 | |
| 26905 return static_cast<Result>( result ); | |
| 26906 } | |
| 26907 | |
| 26908 // wrapper function for command vkCmdConvertCooperativeVectorMatrixNV, see | |
| 26909 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdConvertCooperativeVectorMatrixNV.html | |
| 26910 VULKAN_HPP_INLINE void | |
| 26911 CommandBuffer::convertCooperativeVectorMatrixNV( ArrayProxy<const ConvertCooperativeVectorMatrixInfoNV> const & infos ) const VULKAN_HPP_NOEXCEPT | |
| 26912 { | |
| 26913 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdConvertCooperativeVectorMatrixNV && | |
| 26914 "Function <vkCmdConvertCooperativeVectorMatrixNV> requires <VK_NV_cooperative_vector>" ); | |
| 26915 | |
| 26916 getDispatcher()->vkCmdConvertCooperativeVectorMatrixNV( | |
| 26917 static_cast<VkCommandBuffer>( m_commandBuffer ), infos.size(), reinterpret_cast<const VkConvertCooperativeVectorMatrixInfoNV *>( infos.data() ) ); | |
| 26918 } | |
| 26919 | |
| 26920 //=== VK_NV_low_latency2 === | |
| 26921 | |
| 26922 // wrapper function for command vkSetLatencySleepModeNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLatencySleepModeNV.html | |
| 26923 VULKAN_HPP_INLINE typename ResultValueType<void>::type SwapchainKHR::setLatencySleepModeNV( const LatencySleepModeInfoNV & sleepModeInfo ) const | |
| 26924 { | |
| 26925 VULKAN_HPP_ASSERT( getDispatcher()->vkSetLatencySleepModeNV && "Function <vkSetLatencySleepModeNV> requires <VK_NV_low_latency2>" ); | |
| 26926 | |
| 26927 Result result = static_cast<Result>( getDispatcher()->vkSetLatencySleepModeNV( static_cast<VkDevice>( m_device ), | |
| 26928 static_cast<VkSwapchainKHR>( m_swapchainKHR ), | |
| 26929 reinterpret_cast<const VkLatencySleepModeInfoNV *>( &sleepModeInfo ) ) ); | |
| 26930 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::setLatencySleepModeNV" ); | |
| 26931 | |
| 26932 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 26933 } | |
| 26934 | |
| 26935 // wrapper function for command vkLatencySleepNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkLatencySleepNV.html | |
| 26936 VULKAN_HPP_INLINE typename ResultValueType<void>::type SwapchainKHR::latencySleepNV( const LatencySleepInfoNV & sleepInfo ) const | |
| 26937 { | |
| 26938 VULKAN_HPP_ASSERT( getDispatcher()->vkLatencySleepNV && "Function <vkLatencySleepNV> requires <VK_NV_low_latency2>" ); | |
| 26939 | |
| 26940 Result result = static_cast<Result>( getDispatcher()->vkLatencySleepNV( | |
| 26941 static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ), reinterpret_cast<const VkLatencySleepInfoNV *>( &sleepInfo ) ) ); | |
| 26942 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::latencySleepNV" ); | |
| 26943 | |
| 26944 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 26945 } | |
| 26946 | |
| 26947 // wrapper function for command vkSetLatencyMarkerNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLatencyMarkerNV.html | |
| 26948 VULKAN_HPP_INLINE void SwapchainKHR::setLatencyMarkerNV( const SetLatencyMarkerInfoNV & latencyMarkerInfo ) const VULKAN_HPP_NOEXCEPT | |
| 26949 { | |
| 26950 VULKAN_HPP_ASSERT( getDispatcher()->vkSetLatencyMarkerNV && "Function <vkSetLatencyMarkerNV> requires <VK_NV_low_latency2>" ); | |
| 26951 | |
| 26952 getDispatcher()->vkSetLatencyMarkerNV( static_cast<VkDevice>( m_device ), | |
| 26953 static_cast<VkSwapchainKHR>( m_swapchainKHR ), | |
| 26954 reinterpret_cast<const VkSetLatencyMarkerInfoNV *>( &latencyMarkerInfo ) ); | |
| 26955 } | |
| 26956 | |
| 26957 // wrapper function for command vkGetLatencyTimingsNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetLatencyTimingsNV.html | |
| 26958 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::LatencyTimingsFrameReportNV> SwapchainKHR::getLatencyTimingsNV() const | |
| 26959 { | |
| 26960 VULKAN_HPP_ASSERT( getDispatcher()->vkGetLatencyTimingsNV && "Function <vkGetLatencyTimingsNV> requires <VK_NV_low_latency2>" ); | |
| 26961 | |
| 26962 std::vector<VULKAN_HPP_NAMESPACE::LatencyTimingsFrameReportNV> timings; | |
| 26963 GetLatencyMarkerInfoNV latencyMarkerInfo; | |
| 26964 getDispatcher()->vkGetLatencyTimingsNV( | |
| 26965 static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ), reinterpret_cast<VkGetLatencyMarkerInfoNV *>( &latencyMarkerInfo ) ); | |
| 26966 timings.resize( latencyMarkerInfo.timingCount ); | |
| 26967 latencyMarkerInfo.pTimings = timings.data(); | |
| 26968 getDispatcher()->vkGetLatencyTimingsNV( | |
| 26969 static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ), reinterpret_cast<VkGetLatencyMarkerInfoNV *>( &latencyMarkerInfo ) ); | |
| 26970 | |
| 26971 return timings; | |
| 26972 } | |
| 26973 | |
| 26974 // wrapper function for command vkQueueNotifyOutOfBandNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueNotifyOutOfBandNV.html | |
| 26975 VULKAN_HPP_INLINE void Queue::notifyOutOfBandNV( const OutOfBandQueueTypeInfoNV & queueTypeInfo ) const VULKAN_HPP_NOEXCEPT | |
| 26976 { | |
| 26977 VULKAN_HPP_ASSERT( getDispatcher()->vkQueueNotifyOutOfBandNV && "Function <vkQueueNotifyOutOfBandNV> requires <VK_NV_low_latency2>" ); | |
| 26978 | |
| 26979 getDispatcher()->vkQueueNotifyOutOfBandNV( static_cast<VkQueue>( m_queue ), reinterpret_cast<const VkOutOfBandQueueTypeInfoNV *>( &queueTypeInfo ) ); | |
| 26980 } | |
| 26981 | |
| 26982 //=== VK_KHR_cooperative_matrix === | |
| 26983 | |
| 26984 // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR, see | |
| 26985 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR.html | |
| 26986 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<CooperativeMatrixPropertiesKHR>>::type | |
| 26987 PhysicalDevice::getCooperativeMatrixPropertiesKHR() const | |
| 26988 { | |
| 26989 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR && | |
| 26990 "Function <vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR> requires <VK_KHR_cooperative_matrix>" ); | |
| 26991 | |
| 26992 std::vector<CooperativeMatrixPropertiesKHR> properties; | |
| 26993 uint32_t propertyCount; | |
| 26994 Result result; | |
| 26995 do | |
| 26996 { | |
| 26997 result = static_cast<Result>( | |
| 26998 getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), &propertyCount, nullptr ) ); | |
| 26999 if ( ( result == Result::eSuccess ) && propertyCount ) | |
| 27000 { | |
| 27001 properties.resize( propertyCount ); | |
| 27002 result = static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( | |
| 27003 static_cast<VkPhysicalDevice>( m_physicalDevice ), &propertyCount, reinterpret_cast<VkCooperativeMatrixPropertiesKHR *>( properties.data() ) ) ); | |
| 27004 } | |
| 27005 } while ( result == Result::eIncomplete ); | |
| 27006 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixPropertiesKHR" ); | |
| 27007 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); | |
| 27008 if ( propertyCount < properties.size() ) | |
| 27009 { | |
| 27010 properties.resize( propertyCount ); | |
| 27011 } | |
| 27012 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); | |
| 27013 } | |
| 27014 | |
| 27015 //=== VK_ARM_data_graph === | |
| 27016 | |
| 27017 // wrapper function for command vkCreateDataGraphPipelinesARM, see | |
| 27018 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDataGraphPipelinesARM.html | |
| 27019 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<Pipeline>>::type | |
| 27020 Device::createDataGraphPipelinesARM( Optional<const DeferredOperationKHR> const & deferredOperation, | |
| 27021 Optional<const PipelineCache> const & pipelineCache, | |
| 27022 ArrayProxy<DataGraphPipelineCreateInfoARM> const & createInfos, | |
| 27023 Optional<const AllocationCallbacks> allocator ) const | |
| 27024 { | |
| 27025 std::vector<VULKAN_HPP_NAMESPACE::Pipeline> pipelines( createInfos.size() ); | |
| 27026 Result result = | |
| 27027 static_cast<Result>( getDispatcher()->vkCreateDataGraphPipelinesARM( static_cast<VkDevice>( m_device ), | |
| 27028 deferredOperation ? static_cast<VkDeferredOperationKHR>( **deferredOperation ) : 0, | |
| 27029 pipelineCache ? static_cast<VkPipelineCache>( **pipelineCache ) : 0, | |
| 27030 createInfos.size(), | |
| 27031 reinterpret_cast<const VkDataGraphPipelineCreateInfoARM *>( createInfos.data() ), | |
| 27032 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 27033 reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); | |
| 27034 VULKAN_HPP_NAMESPACE::detail::resultCheck( | |
| 27035 result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createDataGraphPipelinesARM", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); | |
| 27036 std::vector<Pipeline> pipelinesRAII; | |
| 27037 if ( result == Result::eSuccess ) | |
| 27038 { | |
| 27039 pipelinesRAII.reserve( pipelines.size() ); | |
| 27040 for ( auto & pipeline : pipelines ) | |
| 27041 { | |
| 27042 pipelinesRAII.emplace_back( *this, *reinterpret_cast<VkPipeline *>( &pipeline ), allocator, result ); | |
| 27043 } | |
| 27044 } | |
| 27045 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pipelinesRAII ) ); | |
| 27046 } | |
| 27047 | |
| 27048 // wrapper function for command vkCreateDataGraphPipelinesARM, see | |
| 27049 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDataGraphPipelinesARM.html | |
| 27050 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<Pipeline>::type | |
| 27051 Device::createDataGraphPipelineARM( Optional<const DeferredOperationKHR> const & deferredOperation, | |
| 27052 Optional<const PipelineCache> const & pipelineCache, | |
| 27053 DataGraphPipelineCreateInfoARM const & createInfo, | |
| 27054 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 27055 { | |
| 27056 VULKAN_HPP_NAMESPACE::Pipeline pipeline; | |
| 27057 Result result = | |
| 27058 static_cast<Result>( getDispatcher()->vkCreateDataGraphPipelinesARM( static_cast<VkDevice>( m_device ), | |
| 27059 deferredOperation ? static_cast<VkDeferredOperationKHR>( **deferredOperation ) : 0, | |
| 27060 pipelineCache ? static_cast<VkPipelineCache>( **pipelineCache ) : 0, | |
| 27061 1, | |
| 27062 reinterpret_cast<const VkDataGraphPipelineCreateInfoARM *>( &createInfo ), | |
| 27063 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 27064 reinterpret_cast<VkPipeline *>( &pipeline ) ) ); | |
| 27065 VULKAN_HPP_NAMESPACE::detail::resultCheck( | |
| 27066 result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createDataGraphPipelineARM", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); | |
| 27067 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Pipeline( *this, *reinterpret_cast<VkPipeline *>( &pipeline ), allocator, result ) ); | |
| 27068 } | |
| 27069 | |
| 27070 // wrapper function for command vkCreateDataGraphPipelineSessionARM, see | |
| 27071 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDataGraphPipelineSessionARM.html | |
| 27072 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataGraphPipelineSessionARM>::type | |
| 27073 Device::createDataGraphPipelineSessionARM( DataGraphPipelineSessionCreateInfoARM const & createInfo, | |
| 27074 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 27075 { | |
| 27076 VULKAN_HPP_NAMESPACE::DataGraphPipelineSessionARM session; | |
| 27077 Result result = static_cast<Result>( | |
| 27078 getDispatcher()->vkCreateDataGraphPipelineSessionARM( static_cast<VkDevice>( m_device ), | |
| 27079 reinterpret_cast<const VkDataGraphPipelineSessionCreateInfoARM *>( &createInfo ), | |
| 27080 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 27081 reinterpret_cast<VkDataGraphPipelineSessionARM *>( &session ) ) ); | |
| 27082 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createDataGraphPipelineSessionARM" ); | |
| 27083 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( | |
| 27084 result, DataGraphPipelineSessionARM( *this, *reinterpret_cast<VkDataGraphPipelineSessionARM *>( &session ), allocator ) ); | |
| 27085 } | |
| 27086 | |
| 27087 // wrapper function for command vkGetDataGraphPipelineSessionBindPointRequirementsARM, see | |
| 27088 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelineSessionBindPointRequirementsARM.html | |
| 27089 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DataGraphPipelineSessionBindPointRequirementARM>>::type | |
| 27090 Device::getDataGraphPipelineSessionBindPointRequirementsARM( const DataGraphPipelineSessionBindPointRequirementsInfoARM & info ) const | |
| 27091 { | |
| 27092 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDataGraphPipelineSessionBindPointRequirementsARM && | |
| 27093 "Function <vkGetDataGraphPipelineSessionBindPointRequirementsARM> requires <VK_ARM_data_graph>" ); | |
| 27094 | |
| 27095 std::vector<DataGraphPipelineSessionBindPointRequirementARM> bindPointRequirements; | |
| 27096 uint32_t bindPointRequirementCount; | |
| 27097 Result result; | |
| 27098 do | |
| 27099 { | |
| 27100 result = static_cast<Result>( getDispatcher()->vkGetDataGraphPipelineSessionBindPointRequirementsARM( | |
| 27101 static_cast<VkDevice>( m_device ), | |
| 27102 reinterpret_cast<const VkDataGraphPipelineSessionBindPointRequirementsInfoARM *>( &info ), | |
| 27103 &bindPointRequirementCount, | |
| 27104 nullptr ) ); | |
| 27105 if ( ( result == Result::eSuccess ) && bindPointRequirementCount ) | |
| 27106 { | |
| 27107 bindPointRequirements.resize( bindPointRequirementCount ); | |
| 27108 result = static_cast<Result>( getDispatcher()->vkGetDataGraphPipelineSessionBindPointRequirementsARM( | |
| 27109 static_cast<VkDevice>( m_device ), | |
| 27110 reinterpret_cast<const VkDataGraphPipelineSessionBindPointRequirementsInfoARM *>( &info ), | |
| 27111 &bindPointRequirementCount, | |
| 27112 reinterpret_cast<VkDataGraphPipelineSessionBindPointRequirementARM *>( bindPointRequirements.data() ) ) ); | |
| 27113 } | |
| 27114 } while ( result == Result::eIncomplete ); | |
| 27115 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getDataGraphPipelineSessionBindPointRequirementsARM" ); | |
| 27116 VULKAN_HPP_ASSERT( bindPointRequirementCount <= bindPointRequirements.size() ); | |
| 27117 if ( bindPointRequirementCount < bindPointRequirements.size() ) | |
| 27118 { | |
| 27119 bindPointRequirements.resize( bindPointRequirementCount ); | |
| 27120 } | |
| 27121 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( bindPointRequirements ) ); | |
| 27122 } | |
| 27123 | |
| 27124 // wrapper function for command vkGetDataGraphPipelineSessionMemoryRequirementsARM, see | |
| 27125 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelineSessionMemoryRequirementsARM.html | |
| 27126 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 | |
| 27127 Device::getDataGraphPipelineSessionMemoryRequirementsARM( const DataGraphPipelineSessionMemoryRequirementsInfoARM & info ) const VULKAN_HPP_NOEXCEPT | |
| 27128 { | |
| 27129 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDataGraphPipelineSessionMemoryRequirementsARM && | |
| 27130 "Function <vkGetDataGraphPipelineSessionMemoryRequirementsARM> requires <VK_ARM_data_graph>" ); | |
| 27131 | |
| 27132 MemoryRequirements2 memoryRequirements; | |
| 27133 getDispatcher()->vkGetDataGraphPipelineSessionMemoryRequirementsARM( | |
| 27134 static_cast<VkDevice>( m_device ), | |
| 27135 reinterpret_cast<const VkDataGraphPipelineSessionMemoryRequirementsInfoARM *>( &info ), | |
| 27136 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); | |
| 27137 | |
| 27138 return memoryRequirements; | |
| 27139 } | |
| 27140 | |
| 27141 // wrapper function for command vkGetDataGraphPipelineSessionMemoryRequirementsARM, see | |
| 27142 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelineSessionMemoryRequirementsARM.html | |
| 27143 template <typename X, typename Y, typename... Z> | |
| 27144 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> | |
| 27145 Device::getDataGraphPipelineSessionMemoryRequirementsARM( const DataGraphPipelineSessionMemoryRequirementsInfoARM & info ) const VULKAN_HPP_NOEXCEPT | |
| 27146 { | |
| 27147 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDataGraphPipelineSessionMemoryRequirementsARM && | |
| 27148 "Function <vkGetDataGraphPipelineSessionMemoryRequirementsARM> requires <VK_ARM_data_graph>" ); | |
| 27149 | |
| 27150 StructureChain<X, Y, Z...> structureChain; | |
| 27151 MemoryRequirements2 & memoryRequirements = structureChain.template get<MemoryRequirements2>(); | |
| 27152 getDispatcher()->vkGetDataGraphPipelineSessionMemoryRequirementsARM( | |
| 27153 static_cast<VkDevice>( m_device ), | |
| 27154 reinterpret_cast<const VkDataGraphPipelineSessionMemoryRequirementsInfoARM *>( &info ), | |
| 27155 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); | |
| 27156 | |
| 27157 return structureChain; | |
| 27158 } | |
| 27159 | |
| 27160 // wrapper function for command vkBindDataGraphPipelineSessionMemoryARM, see | |
| 27161 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindDataGraphPipelineSessionMemoryARM.html | |
| 27162 VULKAN_HPP_INLINE typename ResultValueType<void>::type | |
| 27163 Device::bindDataGraphPipelineSessionMemoryARM( ArrayProxy<const BindDataGraphPipelineSessionMemoryInfoARM> const & bindInfos ) const | |
| 27164 { | |
| 27165 VULKAN_HPP_ASSERT( getDispatcher()->vkBindDataGraphPipelineSessionMemoryARM && | |
| 27166 "Function <vkBindDataGraphPipelineSessionMemoryARM> requires <VK_ARM_data_graph>" ); | |
| 27167 | |
| 27168 Result result = static_cast<Result>( getDispatcher()->vkBindDataGraphPipelineSessionMemoryARM( | |
| 27169 static_cast<VkDevice>( m_device ), bindInfos.size(), reinterpret_cast<const VkBindDataGraphPipelineSessionMemoryInfoARM *>( bindInfos.data() ) ) ); | |
| 27170 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::bindDataGraphPipelineSessionMemoryARM" ); | |
| 27171 | |
| 27172 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 27173 } | |
| 27174 | |
| 27175 // wrapper function for command vkCmdDispatchDataGraphARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchDataGraphARM.html | |
| 27176 VULKAN_HPP_INLINE void CommandBuffer::dispatchDataGraphARM( VULKAN_HPP_NAMESPACE::DataGraphPipelineSessionARM session, | |
| 27177 Optional<const DataGraphPipelineDispatchInfoARM> info ) const VULKAN_HPP_NOEXCEPT | |
| 27178 { | |
| 27179 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDispatchDataGraphARM && "Function <vkCmdDispatchDataGraphARM> requires <VK_ARM_data_graph>" ); | |
| 27180 | |
| 27181 getDispatcher()->vkCmdDispatchDataGraphARM( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 27182 static_cast<VkDataGraphPipelineSessionARM>( session ), | |
| 27183 reinterpret_cast<const VkDataGraphPipelineDispatchInfoARM *>( info.get() ) ); | |
| 27184 } | |
| 27185 | |
| 27186 // wrapper function for command vkGetDataGraphPipelineAvailablePropertiesARM, see | |
| 27187 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelineAvailablePropertiesARM.html | |
| 27188 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DataGraphPipelinePropertyARM>>::type | |
| 27189 Device::getDataGraphPipelineAvailablePropertiesARM( const DataGraphPipelineInfoARM & pipelineInfo ) const | |
| 27190 { | |
| 27191 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDataGraphPipelineAvailablePropertiesARM && | |
| 27192 "Function <vkGetDataGraphPipelineAvailablePropertiesARM> requires <VK_ARM_data_graph>" ); | |
| 27193 | |
| 27194 std::vector<DataGraphPipelinePropertyARM> properties; | |
| 27195 uint32_t propertiesCount; | |
| 27196 Result result; | |
| 27197 do | |
| 27198 { | |
| 27199 result = static_cast<Result>( getDispatcher()->vkGetDataGraphPipelineAvailablePropertiesARM( | |
| 27200 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkDataGraphPipelineInfoARM *>( &pipelineInfo ), &propertiesCount, nullptr ) ); | |
| 27201 if ( ( result == Result::eSuccess ) && propertiesCount ) | |
| 27202 { | |
| 27203 properties.resize( propertiesCount ); | |
| 27204 result = static_cast<Result>( | |
| 27205 getDispatcher()->vkGetDataGraphPipelineAvailablePropertiesARM( static_cast<VkDevice>( m_device ), | |
| 27206 reinterpret_cast<const VkDataGraphPipelineInfoARM *>( &pipelineInfo ), | |
| 27207 &propertiesCount, | |
| 27208 reinterpret_cast<VkDataGraphPipelinePropertyARM *>( properties.data() ) ) ); | |
| 27209 } | |
| 27210 } while ( result == Result::eIncomplete ); | |
| 27211 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getDataGraphPipelineAvailablePropertiesARM" ); | |
| 27212 VULKAN_HPP_ASSERT( propertiesCount <= properties.size() ); | |
| 27213 if ( propertiesCount < properties.size() ) | |
| 27214 { | |
| 27215 properties.resize( propertiesCount ); | |
| 27216 } | |
| 27217 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); | |
| 27218 } | |
| 27219 | |
| 27220 // wrapper function for command vkGetDataGraphPipelinePropertiesARM, see | |
| 27221 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelinePropertiesARM.html | |
| 27222 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result | |
| 27223 Device::getDataGraphPipelinePropertiesARM( const DataGraphPipelineInfoARM * pPipelineInfo, | |
| 27224 uint32_t propertiesCount, | |
| 27225 DataGraphPipelinePropertyQueryResultARM * pProperties ) const VULKAN_HPP_NOEXCEPT | |
| 27226 { | |
| 27227 VULKAN_HPP_ASSERT( getDispatcher()->vkGetDataGraphPipelinePropertiesARM && | |
| 27228 "Function <vkGetDataGraphPipelinePropertiesARM> requires <VK_ARM_data_graph>" ); | |
| 27229 return static_cast<Result>( | |
| 27230 getDispatcher()->vkGetDataGraphPipelinePropertiesARM( static_cast<VkDevice>( m_device ), | |
| 27231 reinterpret_cast<const VkDataGraphPipelineInfoARM *>( pPipelineInfo ), | |
| 27232 propertiesCount, | |
| 27233 reinterpret_cast<VkDataGraphPipelinePropertyQueryResultARM *>( pProperties ) ) ); | |
| 27234 } | |
| 27235 | |
| 27236 // wrapper function for command vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM, see | |
| 27237 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM.html | |
| 27238 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<QueueFamilyDataGraphPropertiesARM>>::type | |
| 27239 PhysicalDevice::getQueueFamilyDataGraphPropertiesARM( uint32_t queueFamilyIndex ) const | |
| 27240 { | |
| 27241 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM && | |
| 27242 "Function <vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM> requires <VK_ARM_data_graph>" ); | |
| 27243 | |
| 27244 std::vector<QueueFamilyDataGraphPropertiesARM> queueFamilyDataGraphProperties; | |
| 27245 uint32_t queueFamilyDataGraphPropertyCount; | |
| 27246 Result result; | |
| 27247 do | |
| 27248 { | |
| 27249 result = static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM( | |
| 27250 static_cast<VkPhysicalDevice>( m_physicalDevice ), queueFamilyIndex, &queueFamilyDataGraphPropertyCount, nullptr ) ); | |
| 27251 if ( ( result == Result::eSuccess ) && queueFamilyDataGraphPropertyCount ) | |
| 27252 { | |
| 27253 queueFamilyDataGraphProperties.resize( queueFamilyDataGraphPropertyCount ); | |
| 27254 result = static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM( | |
| 27255 static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 27256 queueFamilyIndex, | |
| 27257 &queueFamilyDataGraphPropertyCount, | |
| 27258 reinterpret_cast<VkQueueFamilyDataGraphPropertiesARM *>( queueFamilyDataGraphProperties.data() ) ) ); | |
| 27259 } | |
| 27260 } while ( result == Result::eIncomplete ); | |
| 27261 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getQueueFamilyDataGraphPropertiesARM" ); | |
| 27262 VULKAN_HPP_ASSERT( queueFamilyDataGraphPropertyCount <= queueFamilyDataGraphProperties.size() ); | |
| 27263 if ( queueFamilyDataGraphPropertyCount < queueFamilyDataGraphProperties.size() ) | |
| 27264 { | |
| 27265 queueFamilyDataGraphProperties.resize( queueFamilyDataGraphPropertyCount ); | |
| 27266 } | |
| 27267 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( queueFamilyDataGraphProperties ) ); | |
| 27268 } | |
| 27269 | |
| 27270 // wrapper function for command vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM, see | |
| 27271 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM.html | |
| 27272 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE QueueFamilyDataGraphProcessingEnginePropertiesARM | |
| 27273 PhysicalDevice::getQueueFamilyDataGraphProcessingEnginePropertiesARM( | |
| 27274 const PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM & queueFamilyDataGraphProcessingEngineInfo ) const VULKAN_HPP_NOEXCEPT | |
| 27275 { | |
| 27276 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM && | |
| 27277 "Function <vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM> requires <VK_ARM_data_graph>" ); | |
| 27278 | |
| 27279 QueueFamilyDataGraphProcessingEnginePropertiesARM queueFamilyDataGraphProcessingEngineProperties; | |
| 27280 getDispatcher()->vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM( | |
| 27281 static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 27282 reinterpret_cast<const VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM *>( &queueFamilyDataGraphProcessingEngineInfo ), | |
| 27283 reinterpret_cast<VkQueueFamilyDataGraphProcessingEnginePropertiesARM *>( &queueFamilyDataGraphProcessingEngineProperties ) ); | |
| 27284 | |
| 27285 return queueFamilyDataGraphProcessingEngineProperties; | |
| 27286 } | |
| 27287 | |
| 27288 //=== VK_EXT_attachment_feedback_loop_dynamic_state === | |
| 27289 | |
| 27290 // wrapper function for command vkCmdSetAttachmentFeedbackLoopEnableEXT, see | |
| 27291 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetAttachmentFeedbackLoopEnableEXT.html | |
| 27292 VULKAN_HPP_INLINE void CommandBuffer::setAttachmentFeedbackLoopEnableEXT( ImageAspectFlags aspectMask ) const VULKAN_HPP_NOEXCEPT | |
| 27293 { | |
| 27294 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetAttachmentFeedbackLoopEnableEXT && | |
| 27295 "Function <vkCmdSetAttachmentFeedbackLoopEnableEXT> requires <VK_EXT_attachment_feedback_loop_dynamic_state>" ); | |
| 27296 | |
| 27297 getDispatcher()->vkCmdSetAttachmentFeedbackLoopEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 27298 static_cast<VkImageAspectFlags>( aspectMask ) ); | |
| 27299 } | |
| 27300 | |
| 27301 # if defined( VK_USE_PLATFORM_SCREEN_QNX ) | |
| 27302 //=== VK_QNX_external_memory_screen_buffer === | |
| 27303 // wrapper function for command vkGetScreenBufferPropertiesQNX, see | |
| 27304 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetScreenBufferPropertiesQNX.html | |
| 27305 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getScreenBufferPropertiesQNX( const struct _screen_buffer * buffer, | |
| 27306 ScreenBufferPropertiesQNX * pProperties ) const VULKAN_HPP_NOEXCEPT | |
| 27307 { | |
| 27308 VULKAN_HPP_ASSERT( getDispatcher()->vkGetScreenBufferPropertiesQNX && | |
| 27309 "Function <vkGetScreenBufferPropertiesQNX> requires <VK_QNX_external_memory_screen_buffer>" ); | |
| 27310 return static_cast<Result>( getDispatcher()->vkGetScreenBufferPropertiesQNX( | |
| 27311 static_cast<VkDevice>( m_device ), buffer, reinterpret_cast<VkScreenBufferPropertiesQNX *>( pProperties ) ) ); | |
| 27312 } | |
| 27313 | |
| 27314 // wrapper function for command vkGetScreenBufferPropertiesQNX, see | |
| 27315 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetScreenBufferPropertiesQNX.html | |
| 27316 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<ScreenBufferPropertiesQNX>::type | |
| 27317 Device::getScreenBufferPropertiesQNX( const struct _screen_buffer & buffer ) const | |
| 27318 { | |
| 27319 VULKAN_HPP_ASSERT( getDispatcher()->vkGetScreenBufferPropertiesQNX && | |
| 27320 "Function <vkGetScreenBufferPropertiesQNX> requires <VK_QNX_external_memory_screen_buffer>" ); | |
| 27321 | |
| 27322 ScreenBufferPropertiesQNX properties; | |
| 27323 Result result = static_cast<Result>( getDispatcher()->vkGetScreenBufferPropertiesQNX( | |
| 27324 static_cast<VkDevice>( m_device ), &buffer, reinterpret_cast<VkScreenBufferPropertiesQNX *>( &properties ) ) ); | |
| 27325 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getScreenBufferPropertiesQNX" ); | |
| 27326 | |
| 27327 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); | |
| 27328 } | |
| 27329 | |
| 27330 // wrapper function for command vkGetScreenBufferPropertiesQNX, see | |
| 27331 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetScreenBufferPropertiesQNX.html | |
| 27332 template <typename X, typename Y, typename... Z> | |
| 27333 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<StructureChain<X, Y, Z...>>::type | |
| 27334 Device::getScreenBufferPropertiesQNX( const struct _screen_buffer & buffer ) const | |
| 27335 { | |
| 27336 VULKAN_HPP_ASSERT( getDispatcher()->vkGetScreenBufferPropertiesQNX && | |
| 27337 "Function <vkGetScreenBufferPropertiesQNX> requires <VK_QNX_external_memory_screen_buffer>" ); | |
| 27338 | |
| 27339 StructureChain<X, Y, Z...> structureChain; | |
| 27340 ScreenBufferPropertiesQNX & properties = structureChain.template get<ScreenBufferPropertiesQNX>(); | |
| 27341 Result result = static_cast<Result>( getDispatcher()->vkGetScreenBufferPropertiesQNX( | |
| 27342 static_cast<VkDevice>( m_device ), &buffer, reinterpret_cast<VkScreenBufferPropertiesQNX *>( &properties ) ) ); | |
| 27343 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getScreenBufferPropertiesQNX" ); | |
| 27344 | |
| 27345 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChain ) ); | |
| 27346 } | |
| 27347 # endif /*VK_USE_PLATFORM_SCREEN_QNX*/ | |
| 27348 | |
| 27349 //=== VK_KHR_line_rasterization === | |
| 27350 | |
| 27351 // wrapper function for command vkCmdSetLineStippleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineStippleKHR.html | |
| 27352 VULKAN_HPP_INLINE void CommandBuffer::setLineStippleKHR( uint32_t lineStippleFactor, uint16_t lineStipplePattern ) const VULKAN_HPP_NOEXCEPT | |
| 27353 { | |
| 27354 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetLineStippleKHR && | |
| 27355 "Function <vkCmdSetLineStippleKHR> requires <VK_EXT_line_rasterization> or <VK_KHR_line_rasterization> or <VK_VERSION_1_4>" ); | |
| 27356 | |
| 27357 getDispatcher()->vkCmdSetLineStippleKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), lineStippleFactor, lineStipplePattern ); | |
| 27358 } | |
| 27359 | |
| 27360 //=== VK_KHR_calibrated_timestamps === | |
| 27361 | |
| 27362 // wrapper function for command vkGetPhysicalDeviceCalibrateableTimeDomainsKHR, see | |
| 27363 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCalibrateableTimeDomainsKHR.html | |
| 27364 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<TimeDomainKHR>>::type PhysicalDevice::getCalibrateableTimeDomainsKHR() const | |
| 27365 { | |
| 27366 VULKAN_HPP_ASSERT( | |
| 27367 getDispatcher()->vkGetPhysicalDeviceCalibrateableTimeDomainsKHR && | |
| 27368 "Function <vkGetPhysicalDeviceCalibrateableTimeDomainsKHR> requires <VK_EXT_calibrated_timestamps> or <VK_KHR_calibrated_timestamps>" ); | |
| 27369 | |
| 27370 std::vector<TimeDomainKHR> timeDomains; | |
| 27371 uint32_t timeDomainCount; | |
| 27372 Result result; | |
| 27373 do | |
| 27374 { | |
| 27375 result = static_cast<Result>( | |
| 27376 getDispatcher()->vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), &timeDomainCount, nullptr ) ); | |
| 27377 if ( ( result == Result::eSuccess ) && timeDomainCount ) | |
| 27378 { | |
| 27379 timeDomains.resize( timeDomainCount ); | |
| 27380 result = static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( | |
| 27381 static_cast<VkPhysicalDevice>( m_physicalDevice ), &timeDomainCount, reinterpret_cast<VkTimeDomainKHR *>( timeDomains.data() ) ) ); | |
| 27382 } | |
| 27383 } while ( result == Result::eIncomplete ); | |
| 27384 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getCalibrateableTimeDomainsKHR" ); | |
| 27385 VULKAN_HPP_ASSERT( timeDomainCount <= timeDomains.size() ); | |
| 27386 if ( timeDomainCount < timeDomains.size() ) | |
| 27387 { | |
| 27388 timeDomains.resize( timeDomainCount ); | |
| 27389 } | |
| 27390 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( timeDomains ) ); | |
| 27391 } | |
| 27392 | |
| 27393 // wrapper function for command vkGetCalibratedTimestampsKHR, see | |
| 27394 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsKHR.html | |
| 27395 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::pair<std::vector<uint64_t>, uint64_t>>::type | |
| 27396 Device::getCalibratedTimestampsKHR( ArrayProxy<const CalibratedTimestampInfoKHR> const & timestampInfos ) const | |
| 27397 { | |
| 27398 VULKAN_HPP_ASSERT( getDispatcher()->vkGetCalibratedTimestampsKHR && | |
| 27399 "Function <vkGetCalibratedTimestampsKHR> requires <VK_EXT_calibrated_timestamps> or <VK_KHR_calibrated_timestamps>" ); | |
| 27400 | |
| 27401 std::pair<std::vector<uint64_t>, uint64_t> data_( std::piecewise_construct, std::forward_as_tuple( timestampInfos.size() ), std::forward_as_tuple( 0 ) ); | |
| 27402 std::vector<uint64_t> & timestamps = data_.first; | |
| 27403 uint64_t & maxDeviation = data_.second; | |
| 27404 Result result = | |
| 27405 static_cast<Result>( getDispatcher()->vkGetCalibratedTimestampsKHR( static_cast<VkDevice>( m_device ), | |
| 27406 timestampInfos.size(), | |
| 27407 reinterpret_cast<const VkCalibratedTimestampInfoKHR *>( timestampInfos.data() ), | |
| 27408 timestamps.data(), | |
| 27409 &maxDeviation ) ); | |
| 27410 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getCalibratedTimestampsKHR" ); | |
| 27411 | |
| 27412 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); | |
| 27413 } | |
| 27414 | |
| 27415 // wrapper function for command vkGetCalibratedTimestampsKHR, see | |
| 27416 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsKHR.html | |
| 27417 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::pair<uint64_t, uint64_t>>::type | |
| 27418 Device::getCalibratedTimestampKHR( const CalibratedTimestampInfoKHR & timestampInfo ) const | |
| 27419 { | |
| 27420 VULKAN_HPP_ASSERT( getDispatcher()->vkGetCalibratedTimestampsKHR && | |
| 27421 "Function <vkGetCalibratedTimestampsKHR> requires <VK_EXT_calibrated_timestamps> or <VK_KHR_calibrated_timestamps>" ); | |
| 27422 | |
| 27423 std::pair<uint64_t, uint64_t> data_; | |
| 27424 uint64_t & timestamp = data_.first; | |
| 27425 uint64_t & maxDeviation = data_.second; | |
| 27426 Result result = static_cast<Result>( getDispatcher()->vkGetCalibratedTimestampsKHR( | |
| 27427 static_cast<VkDevice>( m_device ), 1, reinterpret_cast<const VkCalibratedTimestampInfoKHR *>( ×tampInfo ), ×tamp, &maxDeviation ) ); | |
| 27428 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getCalibratedTimestampKHR" ); | |
| 27429 | |
| 27430 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); | |
| 27431 } | |
| 27432 | |
| 27433 //=== VK_KHR_maintenance6 === | |
| 27434 | |
| 27435 // wrapper function for command vkCmdBindDescriptorSets2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorSets2KHR.html | |
| 27436 VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorSets2KHR( const BindDescriptorSetsInfo & bindDescriptorSetsInfo ) const VULKAN_HPP_NOEXCEPT | |
| 27437 { | |
| 27438 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBindDescriptorSets2KHR && | |
| 27439 "Function <vkCmdBindDescriptorSets2KHR> requires <VK_KHR_maintenance6> or <VK_VERSION_1_4>" ); | |
| 27440 | |
| 27441 getDispatcher()->vkCmdBindDescriptorSets2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 27442 reinterpret_cast<const VkBindDescriptorSetsInfo *>( &bindDescriptorSetsInfo ) ); | |
| 27443 } | |
| 27444 | |
| 27445 // wrapper function for command vkCmdPushConstants2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushConstants2KHR.html | |
| 27446 VULKAN_HPP_INLINE void CommandBuffer::pushConstants2KHR( const PushConstantsInfo & pushConstantsInfo ) const VULKAN_HPP_NOEXCEPT | |
| 27447 { | |
| 27448 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdPushConstants2KHR && "Function <vkCmdPushConstants2KHR> requires <VK_KHR_maintenance6> or <VK_VERSION_1_4>" ); | |
| 27449 | |
| 27450 getDispatcher()->vkCmdPushConstants2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 27451 reinterpret_cast<const VkPushConstantsInfo *>( &pushConstantsInfo ) ); | |
| 27452 } | |
| 27453 | |
| 27454 // wrapper function for command vkCmdPushDescriptorSet2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSet2KHR.html | |
| 27455 VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSet2KHR( const PushDescriptorSetInfo & pushDescriptorSetInfo ) const VULKAN_HPP_NOEXCEPT | |
| 27456 { | |
| 27457 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdPushDescriptorSet2KHR && | |
| 27458 "Function <vkCmdPushDescriptorSet2KHR> requires <VK_KHR_maintenance6> or <VK_VERSION_1_4>" ); | |
| 27459 | |
| 27460 getDispatcher()->vkCmdPushDescriptorSet2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 27461 reinterpret_cast<const VkPushDescriptorSetInfo *>( &pushDescriptorSetInfo ) ); | |
| 27462 } | |
| 27463 | |
| 27464 // wrapper function for command vkCmdPushDescriptorSetWithTemplate2KHR, see | |
| 27465 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplate2KHR.html | |
| 27466 VULKAN_HPP_INLINE void | |
| 27467 CommandBuffer::pushDescriptorSetWithTemplate2KHR( const PushDescriptorSetWithTemplateInfo & pushDescriptorSetWithTemplateInfo ) const VULKAN_HPP_NOEXCEPT | |
| 27468 { | |
| 27469 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdPushDescriptorSetWithTemplate2KHR && | |
| 27470 "Function <vkCmdPushDescriptorSetWithTemplate2KHR> requires <VK_KHR_maintenance6> or <VK_VERSION_1_4>" ); | |
| 27471 | |
| 27472 getDispatcher()->vkCmdPushDescriptorSetWithTemplate2KHR( | |
| 27473 static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkPushDescriptorSetWithTemplateInfo *>( &pushDescriptorSetWithTemplateInfo ) ); | |
| 27474 } | |
| 27475 | |
| 27476 // wrapper function for command vkCmdSetDescriptorBufferOffsets2EXT, see | |
| 27477 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDescriptorBufferOffsets2EXT.html | |
| 27478 VULKAN_HPP_INLINE void | |
| 27479 CommandBuffer::setDescriptorBufferOffsets2EXT( const SetDescriptorBufferOffsetsInfoEXT & setDescriptorBufferOffsetsInfo ) const VULKAN_HPP_NOEXCEPT | |
| 27480 { | |
| 27481 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDescriptorBufferOffsets2EXT && | |
| 27482 "Function <vkCmdSetDescriptorBufferOffsets2EXT> requires <VK_KHR_maintenance6>" ); | |
| 27483 | |
| 27484 getDispatcher()->vkCmdSetDescriptorBufferOffsets2EXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 27485 reinterpret_cast<const VkSetDescriptorBufferOffsetsInfoEXT *>( &setDescriptorBufferOffsetsInfo ) ); | |
| 27486 } | |
| 27487 | |
| 27488 // wrapper function for command vkCmdBindDescriptorBufferEmbeddedSamplers2EXT, see | |
| 27489 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorBufferEmbeddedSamplers2EXT.html | |
| 27490 VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorBufferEmbeddedSamplers2EXT( | |
| 27491 const BindDescriptorBufferEmbeddedSamplersInfoEXT & bindDescriptorBufferEmbeddedSamplersInfo ) const VULKAN_HPP_NOEXCEPT | |
| 27492 { | |
| 27493 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBindDescriptorBufferEmbeddedSamplers2EXT && | |
| 27494 "Function <vkCmdBindDescriptorBufferEmbeddedSamplers2EXT> requires <VK_KHR_maintenance6>" ); | |
| 27495 | |
| 27496 getDispatcher()->vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( | |
| 27497 static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 27498 reinterpret_cast<const VkBindDescriptorBufferEmbeddedSamplersInfoEXT *>( &bindDescriptorBufferEmbeddedSamplersInfo ) ); | |
| 27499 } | |
| 27500 | |
| 27501 //=== VK_QCOM_tile_memory_heap === | |
| 27502 | |
| 27503 // wrapper function for command vkCmdBindTileMemoryQCOM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindTileMemoryQCOM.html | |
| 27504 VULKAN_HPP_INLINE void CommandBuffer::bindTileMemoryQCOM( Optional<const TileMemoryBindInfoQCOM> tileMemoryBindInfo ) const VULKAN_HPP_NOEXCEPT | |
| 27505 { | |
| 27506 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBindTileMemoryQCOM && "Function <vkCmdBindTileMemoryQCOM> requires <VK_QCOM_tile_memory_heap>" ); | |
| 27507 | |
| 27508 getDispatcher()->vkCmdBindTileMemoryQCOM( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 27509 reinterpret_cast<const VkTileMemoryBindInfoQCOM *>( tileMemoryBindInfo.get() ) ); | |
| 27510 } | |
| 27511 | |
| 27512 //=== VK_KHR_copy_memory_indirect === | |
| 27513 | |
| 27514 // wrapper function for command vkCmdCopyMemoryIndirectKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryIndirectKHR.html | |
| 27515 VULKAN_HPP_INLINE void CommandBuffer::copyMemoryIndirectKHR( const CopyMemoryIndirectInfoKHR & copyMemoryIndirectInfo ) const VULKAN_HPP_NOEXCEPT | |
| 27516 { | |
| 27517 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyMemoryIndirectKHR && "Function <vkCmdCopyMemoryIndirectKHR> requires <VK_KHR_copy_memory_indirect>" ); | |
| 27518 | |
| 27519 getDispatcher()->vkCmdCopyMemoryIndirectKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 27520 reinterpret_cast<const VkCopyMemoryIndirectInfoKHR *>( ©MemoryIndirectInfo ) ); | |
| 27521 } | |
| 27522 | |
| 27523 // wrapper function for command vkCmdCopyMemoryToImageIndirectKHR, see | |
| 27524 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToImageIndirectKHR.html | |
| 27525 VULKAN_HPP_INLINE void | |
| 27526 CommandBuffer::copyMemoryToImageIndirectKHR( const CopyMemoryToImageIndirectInfoKHR & copyMemoryToImageIndirectInfo ) const VULKAN_HPP_NOEXCEPT | |
| 27527 { | |
| 27528 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyMemoryToImageIndirectKHR && | |
| 27529 "Function <vkCmdCopyMemoryToImageIndirectKHR> requires <VK_KHR_copy_memory_indirect>" ); | |
| 27530 | |
| 27531 getDispatcher()->vkCmdCopyMemoryToImageIndirectKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 27532 reinterpret_cast<const VkCopyMemoryToImageIndirectInfoKHR *>( ©MemoryToImageIndirectInfo ) ); | |
| 27533 } | |
| 27534 | |
| 27535 //=== VK_EXT_memory_decompression === | |
| 27536 | |
| 27537 // wrapper function for command vkCmdDecompressMemoryEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecompressMemoryEXT.html | |
| 27538 VULKAN_HPP_INLINE void CommandBuffer::decompressMemoryEXT( const DecompressMemoryInfoEXT & decompressMemoryInfoEXT ) const VULKAN_HPP_NOEXCEPT | |
| 27539 { | |
| 27540 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDecompressMemoryEXT && "Function <vkCmdDecompressMemoryEXT> requires <VK_EXT_memory_decompression>" ); | |
| 27541 | |
| 27542 getDispatcher()->vkCmdDecompressMemoryEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 27543 reinterpret_cast<const VkDecompressMemoryInfoEXT *>( &decompressMemoryInfoEXT ) ); | |
| 27544 } | |
| 27545 | |
| 27546 // wrapper function for command vkCmdDecompressMemoryIndirectCountEXT, see | |
| 27547 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecompressMemoryIndirectCountEXT.html | |
| 27548 VULKAN_HPP_INLINE void CommandBuffer::decompressMemoryIndirectCountEXT( MemoryDecompressionMethodFlagsEXT decompressionMethod, | |
| 27549 DeviceAddress indirectCommandsAddress, | |
| 27550 DeviceAddress indirectCommandsCountAddress, | |
| 27551 uint32_t maxDecompressionCount, | |
| 27552 uint32_t stride ) const VULKAN_HPP_NOEXCEPT | |
| 27553 { | |
| 27554 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdDecompressMemoryIndirectCountEXT && | |
| 27555 "Function <vkCmdDecompressMemoryIndirectCountEXT> requires <VK_EXT_memory_decompression>" ); | |
| 27556 | |
| 27557 getDispatcher()->vkCmdDecompressMemoryIndirectCountEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 27558 static_cast<VkMemoryDecompressionMethodFlagsEXT>( decompressionMethod ), | |
| 27559 static_cast<VkDeviceAddress>( indirectCommandsAddress ), | |
| 27560 static_cast<VkDeviceAddress>( indirectCommandsCountAddress ), | |
| 27561 maxDecompressionCount, | |
| 27562 stride ); | |
| 27563 } | |
| 27564 | |
| 27565 //=== VK_NV_external_compute_queue === | |
| 27566 | |
| 27567 // wrapper function for command vkCreateExternalComputeQueueNV, see | |
| 27568 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExternalComputeQueueNV.html | |
| 27569 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<ExternalComputeQueueNV>::type | |
| 27570 Device::createExternalComputeQueueNV( ExternalComputeQueueCreateInfoNV const & createInfo, | |
| 27571 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 27572 { | |
| 27573 VULKAN_HPP_NAMESPACE::ExternalComputeQueueNV externalQueue; | |
| 27574 Result result = | |
| 27575 static_cast<Result>( getDispatcher()->vkCreateExternalComputeQueueNV( static_cast<VkDevice>( m_device ), | |
| 27576 reinterpret_cast<const VkExternalComputeQueueCreateInfoNV *>( &createInfo ), | |
| 27577 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 27578 reinterpret_cast<VkExternalComputeQueueNV *>( &externalQueue ) ) ); | |
| 27579 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createExternalComputeQueueNV" ); | |
| 27580 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( | |
| 27581 result, ExternalComputeQueueNV( *this, *reinterpret_cast<VkExternalComputeQueueNV *>( &externalQueue ), allocator ) ); | |
| 27582 } | |
| 27583 | |
| 27584 // wrapper function for command vkGetExternalComputeQueueDataNV, see | |
| 27585 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetExternalComputeQueueDataNV.html | |
| 27586 template <typename DataType> | |
| 27587 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::pair<ExternalComputeQueueDataParamsNV, DataType> ExternalComputeQueueNV::getData() const VULKAN_HPP_NOEXCEPT | |
| 27588 { | |
| 27589 VULKAN_HPP_ASSERT( getDispatcher()->vkGetExternalComputeQueueDataNV && | |
| 27590 "Function <vkGetExternalComputeQueueDataNV> requires <VK_NV_external_compute_queue>" ); | |
| 27591 | |
| 27592 std::pair<ExternalComputeQueueDataParamsNV, DataType> data_; | |
| 27593 ExternalComputeQueueDataParamsNV & arams = data_.first; | |
| 27594 DataType & data = data_.second; | |
| 27595 getDispatcher()->vkGetExternalComputeQueueDataNV( | |
| 27596 static_cast<VkExternalComputeQueueNV>( m_externalComputeQueueNV ), reinterpret_cast<VkExternalComputeQueueDataParamsNV *>( &arams ), &data ); | |
| 27597 | |
| 27598 return data_; | |
| 27599 } | |
| 27600 | |
| 27601 //=== VK_NV_cluster_acceleration_structure === | |
| 27602 | |
| 27603 // wrapper function for command vkGetClusterAccelerationStructureBuildSizesNV, see | |
| 27604 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetClusterAccelerationStructureBuildSizesNV.html | |
| 27605 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE AccelerationStructureBuildSizesInfoKHR | |
| 27606 Device::getClusterAccelerationStructureBuildSizesNV( const ClusterAccelerationStructureInputInfoNV & info ) const VULKAN_HPP_NOEXCEPT | |
| 27607 { | |
| 27608 VULKAN_HPP_ASSERT( getDispatcher()->vkGetClusterAccelerationStructureBuildSizesNV && | |
| 27609 "Function <vkGetClusterAccelerationStructureBuildSizesNV> requires <VK_NV_cluster_acceleration_structure>" ); | |
| 27610 | |
| 27611 AccelerationStructureBuildSizesInfoKHR sizeInfo; | |
| 27612 getDispatcher()->vkGetClusterAccelerationStructureBuildSizesNV( static_cast<VkDevice>( m_device ), | |
| 27613 reinterpret_cast<const VkClusterAccelerationStructureInputInfoNV *>( &info ), | |
| 27614 reinterpret_cast<VkAccelerationStructureBuildSizesInfoKHR *>( &sizeInfo ) ); | |
| 27615 | |
| 27616 return sizeInfo; | |
| 27617 } | |
| 27618 | |
| 27619 // wrapper function for command vkCmdBuildClusterAccelerationStructureIndirectNV, see | |
| 27620 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildClusterAccelerationStructureIndirectNV.html | |
| 27621 VULKAN_HPP_INLINE void | |
| 27622 CommandBuffer::buildClusterAccelerationStructureIndirectNV( const ClusterAccelerationStructureCommandsInfoNV & commandInfos ) const VULKAN_HPP_NOEXCEPT | |
| 27623 { | |
| 27624 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBuildClusterAccelerationStructureIndirectNV && | |
| 27625 "Function <vkCmdBuildClusterAccelerationStructureIndirectNV> requires <VK_NV_cluster_acceleration_structure>" ); | |
| 27626 | |
| 27627 getDispatcher()->vkCmdBuildClusterAccelerationStructureIndirectNV( | |
| 27628 static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkClusterAccelerationStructureCommandsInfoNV *>( &commandInfos ) ); | |
| 27629 } | |
| 27630 | |
| 27631 //=== VK_NV_partitioned_acceleration_structure === | |
| 27632 | |
| 27633 // wrapper function for command vkGetPartitionedAccelerationStructuresBuildSizesNV, see | |
| 27634 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPartitionedAccelerationStructuresBuildSizesNV.html | |
| 27635 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE AccelerationStructureBuildSizesInfoKHR | |
| 27636 Device::getPartitionedAccelerationStructuresBuildSizesNV( const PartitionedAccelerationStructureInstancesInputNV & info ) const VULKAN_HPP_NOEXCEPT | |
| 27637 { | |
| 27638 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPartitionedAccelerationStructuresBuildSizesNV && | |
| 27639 "Function <vkGetPartitionedAccelerationStructuresBuildSizesNV> requires <VK_NV_partitioned_acceleration_structure>" ); | |
| 27640 | |
| 27641 AccelerationStructureBuildSizesInfoKHR sizeInfo; | |
| 27642 getDispatcher()->vkGetPartitionedAccelerationStructuresBuildSizesNV( | |
| 27643 static_cast<VkDevice>( m_device ), | |
| 27644 reinterpret_cast<const VkPartitionedAccelerationStructureInstancesInputNV *>( &info ), | |
| 27645 reinterpret_cast<VkAccelerationStructureBuildSizesInfoKHR *>( &sizeInfo ) ); | |
| 27646 | |
| 27647 return sizeInfo; | |
| 27648 } | |
| 27649 | |
| 27650 // wrapper function for command vkCmdBuildPartitionedAccelerationStructuresNV, see | |
| 27651 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildPartitionedAccelerationStructuresNV.html | |
| 27652 VULKAN_HPP_INLINE void | |
| 27653 CommandBuffer::buildPartitionedAccelerationStructuresNV( const BuildPartitionedAccelerationStructureInfoNV & buildInfo ) const VULKAN_HPP_NOEXCEPT | |
| 27654 { | |
| 27655 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBuildPartitionedAccelerationStructuresNV && | |
| 27656 "Function <vkCmdBuildPartitionedAccelerationStructuresNV> requires <VK_NV_partitioned_acceleration_structure>" ); | |
| 27657 | |
| 27658 getDispatcher()->vkCmdBuildPartitionedAccelerationStructuresNV( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 27659 reinterpret_cast<const VkBuildPartitionedAccelerationStructureInfoNV *>( &buildInfo ) ); | |
| 27660 } | |
| 27661 | |
| 27662 //=== VK_EXT_device_generated_commands === | |
| 27663 | |
| 27664 // wrapper function for command vkGetGeneratedCommandsMemoryRequirementsEXT, see | |
| 27665 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGeneratedCommandsMemoryRequirementsEXT.html | |
| 27666 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 | |
| 27667 Device::getGeneratedCommandsMemoryRequirementsEXT( const GeneratedCommandsMemoryRequirementsInfoEXT & info ) const VULKAN_HPP_NOEXCEPT | |
| 27668 { | |
| 27669 VULKAN_HPP_ASSERT( getDispatcher()->vkGetGeneratedCommandsMemoryRequirementsEXT && | |
| 27670 "Function <vkGetGeneratedCommandsMemoryRequirementsEXT> requires <VK_EXT_device_generated_commands>" ); | |
| 27671 | |
| 27672 MemoryRequirements2 memoryRequirements; | |
| 27673 getDispatcher()->vkGetGeneratedCommandsMemoryRequirementsEXT( static_cast<VkDevice>( m_device ), | |
| 27674 reinterpret_cast<const VkGeneratedCommandsMemoryRequirementsInfoEXT *>( &info ), | |
| 27675 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); | |
| 27676 | |
| 27677 return memoryRequirements; | |
| 27678 } | |
| 27679 | |
| 27680 // wrapper function for command vkGetGeneratedCommandsMemoryRequirementsEXT, see | |
| 27681 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGeneratedCommandsMemoryRequirementsEXT.html | |
| 27682 template <typename X, typename Y, typename... Z> | |
| 27683 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> | |
| 27684 Device::getGeneratedCommandsMemoryRequirementsEXT( const GeneratedCommandsMemoryRequirementsInfoEXT & info ) const VULKAN_HPP_NOEXCEPT | |
| 27685 { | |
| 27686 VULKAN_HPP_ASSERT( getDispatcher()->vkGetGeneratedCommandsMemoryRequirementsEXT && | |
| 27687 "Function <vkGetGeneratedCommandsMemoryRequirementsEXT> requires <VK_EXT_device_generated_commands>" ); | |
| 27688 | |
| 27689 StructureChain<X, Y, Z...> structureChain; | |
| 27690 MemoryRequirements2 & memoryRequirements = structureChain.template get<MemoryRequirements2>(); | |
| 27691 getDispatcher()->vkGetGeneratedCommandsMemoryRequirementsEXT( static_cast<VkDevice>( m_device ), | |
| 27692 reinterpret_cast<const VkGeneratedCommandsMemoryRequirementsInfoEXT *>( &info ), | |
| 27693 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); | |
| 27694 | |
| 27695 return structureChain; | |
| 27696 } | |
| 27697 | |
| 27698 // wrapper function for command vkCmdPreprocessGeneratedCommandsEXT, see | |
| 27699 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPreprocessGeneratedCommandsEXT.html | |
| 27700 VULKAN_HPP_INLINE void CommandBuffer::preprocessGeneratedCommandsEXT( const GeneratedCommandsInfoEXT & generatedCommandsInfo, | |
| 27701 VULKAN_HPP_NAMESPACE::CommandBuffer stateCommandBuffer ) const VULKAN_HPP_NOEXCEPT | |
| 27702 { | |
| 27703 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdPreprocessGeneratedCommandsEXT && | |
| 27704 "Function <vkCmdPreprocessGeneratedCommandsEXT> requires <VK_EXT_device_generated_commands>" ); | |
| 27705 | |
| 27706 getDispatcher()->vkCmdPreprocessGeneratedCommandsEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 27707 reinterpret_cast<const VkGeneratedCommandsInfoEXT *>( &generatedCommandsInfo ), | |
| 27708 static_cast<VkCommandBuffer>( stateCommandBuffer ) ); | |
| 27709 } | |
| 27710 | |
| 27711 // wrapper function for command vkCmdExecuteGeneratedCommandsEXT, see | |
| 27712 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdExecuteGeneratedCommandsEXT.html | |
| 27713 VULKAN_HPP_INLINE void CommandBuffer::executeGeneratedCommandsEXT( Bool32 isPreprocessed, | |
| 27714 const GeneratedCommandsInfoEXT & generatedCommandsInfo ) const VULKAN_HPP_NOEXCEPT | |
| 27715 { | |
| 27716 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdExecuteGeneratedCommandsEXT && | |
| 27717 "Function <vkCmdExecuteGeneratedCommandsEXT> requires <VK_EXT_device_generated_commands>" ); | |
| 27718 | |
| 27719 getDispatcher()->vkCmdExecuteGeneratedCommandsEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 27720 static_cast<VkBool32>( isPreprocessed ), | |
| 27721 reinterpret_cast<const VkGeneratedCommandsInfoEXT *>( &generatedCommandsInfo ) ); | |
| 27722 } | |
| 27723 | |
| 27724 // wrapper function for command vkCreateIndirectCommandsLayoutEXT, see | |
| 27725 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectCommandsLayoutEXT.html | |
| 27726 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<IndirectCommandsLayoutEXT>::type | |
| 27727 Device::createIndirectCommandsLayoutEXT( IndirectCommandsLayoutCreateInfoEXT const & createInfo, | |
| 27728 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 27729 { | |
| 27730 VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT indirectCommandsLayout; | |
| 27731 Result result = | |
| 27732 static_cast<Result>( getDispatcher()->vkCreateIndirectCommandsLayoutEXT( static_cast<VkDevice>( m_device ), | |
| 27733 reinterpret_cast<const VkIndirectCommandsLayoutCreateInfoEXT *>( &createInfo ), | |
| 27734 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 27735 reinterpret_cast<VkIndirectCommandsLayoutEXT *>( &indirectCommandsLayout ) ) ); | |
| 27736 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createIndirectCommandsLayoutEXT" ); | |
| 27737 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( | |
| 27738 result, IndirectCommandsLayoutEXT( *this, *reinterpret_cast<VkIndirectCommandsLayoutEXT *>( &indirectCommandsLayout ), allocator ) ); | |
| 27739 } | |
| 27740 | |
| 27741 // wrapper function for command vkCreateIndirectExecutionSetEXT, see | |
| 27742 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectExecutionSetEXT.html | |
| 27743 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<IndirectExecutionSetEXT>::type | |
| 27744 Device::createIndirectExecutionSetEXT( IndirectExecutionSetCreateInfoEXT const & createInfo, | |
| 27745 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 27746 { | |
| 27747 VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT indirectExecutionSet; | |
| 27748 Result result = | |
| 27749 static_cast<Result>( getDispatcher()->vkCreateIndirectExecutionSetEXT( static_cast<VkDevice>( m_device ), | |
| 27750 reinterpret_cast<const VkIndirectExecutionSetCreateInfoEXT *>( &createInfo ), | |
| 27751 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 27752 reinterpret_cast<VkIndirectExecutionSetEXT *>( &indirectExecutionSet ) ) ); | |
| 27753 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createIndirectExecutionSetEXT" ); | |
| 27754 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( | |
| 27755 result, IndirectExecutionSetEXT( *this, *reinterpret_cast<VkIndirectExecutionSetEXT *>( &indirectExecutionSet ), allocator ) ); | |
| 27756 } | |
| 27757 | |
| 27758 // wrapper function for command vkUpdateIndirectExecutionSetPipelineEXT, see | |
| 27759 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateIndirectExecutionSetPipelineEXT.html | |
| 27760 VULKAN_HPP_INLINE void | |
| 27761 IndirectExecutionSetEXT::updatePipeline( ArrayProxy<const WriteIndirectExecutionSetPipelineEXT> const & executionSetWrites ) const VULKAN_HPP_NOEXCEPT | |
| 27762 { | |
| 27763 VULKAN_HPP_ASSERT( getDispatcher()->vkUpdateIndirectExecutionSetPipelineEXT && | |
| 27764 "Function <vkUpdateIndirectExecutionSetPipelineEXT> requires <VK_EXT_device_generated_commands>" ); | |
| 27765 | |
| 27766 getDispatcher()->vkUpdateIndirectExecutionSetPipelineEXT( static_cast<VkDevice>( m_device ), | |
| 27767 static_cast<VkIndirectExecutionSetEXT>( m_indirectExecutionSetEXT ), | |
| 27768 executionSetWrites.size(), | |
| 27769 reinterpret_cast<const VkWriteIndirectExecutionSetPipelineEXT *>( executionSetWrites.data() ) ); | |
| 27770 } | |
| 27771 | |
| 27772 // wrapper function for command vkUpdateIndirectExecutionSetShaderEXT, see | |
| 27773 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateIndirectExecutionSetShaderEXT.html | |
| 27774 VULKAN_HPP_INLINE void | |
| 27775 IndirectExecutionSetEXT::updateShader( ArrayProxy<const WriteIndirectExecutionSetShaderEXT> const & executionSetWrites ) const VULKAN_HPP_NOEXCEPT | |
| 27776 { | |
| 27777 VULKAN_HPP_ASSERT( getDispatcher()->vkUpdateIndirectExecutionSetShaderEXT && | |
| 27778 "Function <vkUpdateIndirectExecutionSetShaderEXT> requires <VK_EXT_device_generated_commands>" ); | |
| 27779 | |
| 27780 getDispatcher()->vkUpdateIndirectExecutionSetShaderEXT( static_cast<VkDevice>( m_device ), | |
| 27781 static_cast<VkIndirectExecutionSetEXT>( m_indirectExecutionSetEXT ), | |
| 27782 executionSetWrites.size(), | |
| 27783 reinterpret_cast<const VkWriteIndirectExecutionSetShaderEXT *>( executionSetWrites.data() ) ); | |
| 27784 } | |
| 27785 | |
| 27786 # if defined( VK_USE_PLATFORM_OHOS ) | |
| 27787 //=== VK_OHOS_surface === | |
| 27788 | |
| 27789 // wrapper function for command vkCreateSurfaceOHOS, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSurfaceOHOS.html | |
| 27790 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<SurfaceKHR>::type | |
| 27791 Instance::createSurfaceOHOS( SurfaceCreateInfoOHOS const & createInfo, | |
| 27792 Optional<const AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS | |
| 27793 { | |
| 27794 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; | |
| 27795 Result result = static_cast<Result>( getDispatcher()->vkCreateSurfaceOHOS( static_cast<VkInstance>( m_instance ), | |
| 27796 reinterpret_cast<const VkSurfaceCreateInfoOHOS *>( &createInfo ), | |
| 27797 reinterpret_cast<const VkAllocationCallbacks *>( allocator.get() ), | |
| 27798 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); | |
| 27799 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createSurfaceOHOS" ); | |
| 27800 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast<VkSurfaceKHR *>( &surface ), allocator ) ); | |
| 27801 } | |
| 27802 # endif /*VK_USE_PLATFORM_OHOS*/ | |
| 27803 | |
| 27804 # if defined( VK_USE_PLATFORM_OHOS ) | |
| 27805 //=== VK_OHOS_native_buffer === | |
| 27806 | |
| 27807 // wrapper function for command vkGetSwapchainGrallocUsageOHOS, see | |
| 27808 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainGrallocUsageOHOS.html | |
| 27809 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<uint64_t>::type Device::getSwapchainGrallocUsageOHOS( Format format, | |
| 27810 ImageUsageFlags imageUsage ) const | |
| 27811 { | |
| 27812 VULKAN_HPP_ASSERT( getDispatcher()->vkGetSwapchainGrallocUsageOHOS && "Function <vkGetSwapchainGrallocUsageOHOS> requires <VK_OHOS_native_buffer>" ); | |
| 27813 | |
| 27814 uint64_t grallocUsage; | |
| 27815 Result result = static_cast<Result>( getDispatcher()->vkGetSwapchainGrallocUsageOHOS( | |
| 27816 static_cast<VkDevice>( m_device ), static_cast<VkFormat>( format ), static_cast<VkImageUsageFlags>( imageUsage ), &grallocUsage ) ); | |
| 27817 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getSwapchainGrallocUsageOHOS" ); | |
| 27818 | |
| 27819 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( grallocUsage ) ); | |
| 27820 } | |
| 27821 | |
| 27822 // wrapper function for command vkAcquireImageOHOS, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireImageOHOS.html | |
| 27823 VULKAN_HPP_INLINE typename ResultValueType<void>::type | |
| 27824 Image::acquireOHOS( int32_t nativeFenceFd, VULKAN_HPP_NAMESPACE::Semaphore semaphore, VULKAN_HPP_NAMESPACE::Fence fence ) const | |
| 27825 { | |
| 27826 VULKAN_HPP_ASSERT( getDispatcher()->vkAcquireImageOHOS && "Function <vkAcquireImageOHOS> requires <VK_OHOS_native_buffer>" ); | |
| 27827 | |
| 27828 Result result = static_cast<Result>( getDispatcher()->vkAcquireImageOHOS( static_cast<VkDevice>( m_device ), | |
| 27829 static_cast<VkImage>( m_image ), | |
| 27830 nativeFenceFd, | |
| 27831 static_cast<VkSemaphore>( semaphore ), | |
| 27832 static_cast<VkFence>( fence ) ) ); | |
| 27833 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Image::acquireOHOS" ); | |
| 27834 | |
| 27835 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); | |
| 27836 } | |
| 27837 | |
| 27838 // wrapper function for command vkQueueSignalReleaseImageOHOS, see | |
| 27839 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSignalReleaseImageOHOS.html | |
| 27840 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<int32_t>::type | |
| 27841 Queue::signalReleaseImageOHOS( ArrayProxy<const VULKAN_HPP_NAMESPACE::Semaphore> const & waitSemaphores, VULKAN_HPP_NAMESPACE::Image image ) const | |
| 27842 { | |
| 27843 VULKAN_HPP_ASSERT( getDispatcher()->vkQueueSignalReleaseImageOHOS && "Function <vkQueueSignalReleaseImageOHOS> requires <VK_OHOS_native_buffer>" ); | |
| 27844 | |
| 27845 int32_t nativeFenceFd; | |
| 27846 Result result = static_cast<Result>( getDispatcher()->vkQueueSignalReleaseImageOHOS( static_cast<VkQueue>( m_queue ), | |
| 27847 waitSemaphores.size(), | |
| 27848 reinterpret_cast<const VkSemaphore *>( waitSemaphores.data() ), | |
| 27849 static_cast<VkImage>( image ), | |
| 27850 &nativeFenceFd ) ); | |
| 27851 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Queue::signalReleaseImageOHOS" ); | |
| 27852 | |
| 27853 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( nativeFenceFd ) ); | |
| 27854 } | |
| 27855 # endif /*VK_USE_PLATFORM_OHOS*/ | |
| 27856 | |
| 27857 //=== VK_NV_cooperative_matrix2 === | |
| 27858 | |
| 27859 // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV, see | |
| 27860 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV.html | |
| 27861 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<CooperativeMatrixFlexibleDimensionsPropertiesNV>>::type | |
| 27862 PhysicalDevice::getCooperativeMatrixFlexibleDimensionsPropertiesNV() const | |
| 27863 { | |
| 27864 VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV && | |
| 27865 "Function <vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV> requires <VK_NV_cooperative_matrix2>" ); | |
| 27866 | |
| 27867 std::vector<CooperativeMatrixFlexibleDimensionsPropertiesNV> properties; | |
| 27868 uint32_t propertyCount; | |
| 27869 Result result; | |
| 27870 do | |
| 27871 { | |
| 27872 result = static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV( | |
| 27873 static_cast<VkPhysicalDevice>( m_physicalDevice ), &propertyCount, nullptr ) ); | |
| 27874 if ( ( result == Result::eSuccess ) && propertyCount ) | |
| 27875 { | |
| 27876 properties.resize( propertyCount ); | |
| 27877 result = static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV( | |
| 27878 static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 27879 &propertyCount, | |
| 27880 reinterpret_cast<VkCooperativeMatrixFlexibleDimensionsPropertiesNV *>( properties.data() ) ) ); | |
| 27881 } | |
| 27882 } while ( result == Result::eIncomplete ); | |
| 27883 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, | |
| 27884 VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixFlexibleDimensionsPropertiesNV" ); | |
| 27885 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); | |
| 27886 if ( propertyCount < properties.size() ) | |
| 27887 { | |
| 27888 properties.resize( propertyCount ); | |
| 27889 } | |
| 27890 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); | |
| 27891 } | |
| 27892 | |
| 27893 # if defined( VK_USE_PLATFORM_METAL_EXT ) | |
| 27894 //=== VK_EXT_external_memory_metal === | |
| 27895 | |
| 27896 // wrapper function for command vkGetMemoryMetalHandleEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryMetalHandleEXT.html | |
| 27897 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<void *>::type | |
| 27898 Device::getMemoryMetalHandleEXT( const MemoryGetMetalHandleInfoEXT & getMetalHandleInfo ) const | |
| 27899 { | |
| 27900 VULKAN_HPP_ASSERT( getDispatcher()->vkGetMemoryMetalHandleEXT && "Function <vkGetMemoryMetalHandleEXT> requires <VK_EXT_external_memory_metal>" ); | |
| 27901 | |
| 27902 void * handle; | |
| 27903 Result result = static_cast<Result>( getDispatcher()->vkGetMemoryMetalHandleEXT( | |
| 27904 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkMemoryGetMetalHandleInfoEXT *>( &getMetalHandleInfo ), &handle ) ); | |
| 27905 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryMetalHandleEXT" ); | |
| 27906 | |
| 27907 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( handle ) ); | |
| 27908 } | |
| 27909 | |
| 27910 // wrapper function for command vkGetMemoryMetalHandlePropertiesEXT, see | |
| 27911 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryMetalHandlePropertiesEXT.html | |
| 27912 template <typename HandleType> | |
| 27913 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<MemoryMetalHandlePropertiesEXT>::type | |
| 27914 Device::getMemoryMetalHandlePropertiesEXT( ExternalMemoryHandleTypeFlagBits handleType, HandleType const & handle ) const | |
| 27915 { | |
| 27916 VULKAN_HPP_ASSERT( getDispatcher()->vkGetMemoryMetalHandlePropertiesEXT && | |
| 27917 "Function <vkGetMemoryMetalHandlePropertiesEXT> requires <VK_EXT_external_memory_metal>" ); | |
| 27918 | |
| 27919 MemoryMetalHandlePropertiesEXT memoryMetalHandleProperties; | |
| 27920 Result result = static_cast<Result>( | |
| 27921 getDispatcher()->vkGetMemoryMetalHandlePropertiesEXT( static_cast<VkDevice>( m_device ), | |
| 27922 static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ), | |
| 27923 reinterpret_cast<const void *>( &handle ), | |
| 27924 reinterpret_cast<VkMemoryMetalHandlePropertiesEXT *>( &memoryMetalHandleProperties ) ) ); | |
| 27925 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryMetalHandlePropertiesEXT" ); | |
| 27926 | |
| 27927 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( memoryMetalHandleProperties ) ); | |
| 27928 } | |
| 27929 # endif /*VK_USE_PLATFORM_METAL_EXT*/ | |
| 27930 | |
| 27931 //=== VK_ARM_performance_counters_by_region === | |
| 27932 | |
| 27933 // wrapper function for command vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM, see | |
| 27934 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM.html | |
| 27935 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE | |
| 27936 typename ResultValueType<std::pair<std::vector<PerformanceCounterARM>, std::vector<PerformanceCounterDescriptionARM>>>::type | |
| 27937 PhysicalDevice::enumerateQueueFamilyPerformanceCountersByRegionARM( uint32_t queueFamilyIndex ) const | |
| 27938 { | |
| 27939 VULKAN_HPP_ASSERT( getDispatcher()->vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM && | |
| 27940 "Function <vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM> requires <VK_ARM_performance_counters_by_region>" ); | |
| 27941 | |
| 27942 std::pair<std::vector<PerformanceCounterARM>, std::vector<PerformanceCounterDescriptionARM>> data_; | |
| 27943 std::vector<PerformanceCounterARM> & counters = data_.first; | |
| 27944 std::vector<PerformanceCounterDescriptionARM> & counterDescriptions = data_.second; | |
| 27945 uint32_t counterCount; | |
| 27946 Result result; | |
| 27947 do | |
| 27948 { | |
| 27949 result = static_cast<Result>( getDispatcher()->vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM( | |
| 27950 static_cast<VkPhysicalDevice>( m_physicalDevice ), queueFamilyIndex, &counterCount, nullptr, nullptr ) ); | |
| 27951 if ( ( result == Result::eSuccess ) && counterCount ) | |
| 27952 { | |
| 27953 counters.resize( counterCount ); | |
| 27954 counterDescriptions.resize( counterCount ); | |
| 27955 result = static_cast<Result>( getDispatcher()->vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM( | |
| 27956 static_cast<VkPhysicalDevice>( m_physicalDevice ), | |
| 27957 queueFamilyIndex, | |
| 27958 &counterCount, | |
| 27959 reinterpret_cast<VkPerformanceCounterARM *>( counters.data() ), | |
| 27960 reinterpret_cast<VkPerformanceCounterDescriptionARM *>( counterDescriptions.data() ) ) ); | |
| 27961 } | |
| 27962 } while ( result == Result::eIncomplete ); | |
| 27963 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, | |
| 27964 VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::enumerateQueueFamilyPerformanceCountersByRegionARM" ); | |
| 27965 VULKAN_HPP_ASSERT( counterCount <= counters.size() ); | |
| 27966 if ( counterCount < counters.size() ) | |
| 27967 { | |
| 27968 counters.resize( counterCount ); | |
| 27969 counterDescriptions.resize( counterCount ); | |
| 27970 } | |
| 27971 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); | |
| 27972 } | |
| 27973 | |
| 27974 //=== VK_EXT_fragment_density_map_offset === | |
| 27975 | |
| 27976 // wrapper function for command vkCmdEndRendering2EXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRendering2EXT.html | |
| 27977 VULKAN_HPP_INLINE void CommandBuffer::endRendering2EXT( Optional<const RenderingEndInfoKHR> renderingEndInfo ) const VULKAN_HPP_NOEXCEPT | |
| 27978 { | |
| 27979 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdEndRendering2EXT && | |
| 27980 "Function <vkCmdEndRendering2EXT> requires <VK_EXT_fragment_density_map_offset> or <VK_KHR_maintenance10>" ); | |
| 27981 | |
| 27982 getDispatcher()->vkCmdEndRendering2EXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 27983 reinterpret_cast<const VkRenderingEndInfoKHR *>( renderingEndInfo.get() ) ); | |
| 27984 } | |
| 27985 | |
| 27986 //=== VK_EXT_custom_resolve === | |
| 27987 | |
| 27988 // wrapper function for command vkCmdBeginCustomResolveEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginCustomResolveEXT.html | |
| 27989 VULKAN_HPP_INLINE void CommandBuffer::beginCustomResolveEXT( Optional<const BeginCustomResolveInfoEXT> beginCustomResolveInfo ) const VULKAN_HPP_NOEXCEPT | |
| 27990 { | |
| 27991 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBeginCustomResolveEXT && "Function <vkCmdBeginCustomResolveEXT> requires <VK_EXT_custom_resolve>" ); | |
| 27992 | |
| 27993 getDispatcher()->vkCmdBeginCustomResolveEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 27994 reinterpret_cast<const VkBeginCustomResolveInfoEXT *>( beginCustomResolveInfo.get() ) ); | |
| 27995 } | |
| 27996 | |
| 27997 //=== VK_KHR_maintenance10 === | |
| 27998 | |
| 27999 // wrapper function for command vkCmdEndRendering2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRendering2KHR.html | |
| 28000 VULKAN_HPP_INLINE void CommandBuffer::endRendering2KHR( Optional<const RenderingEndInfoKHR> renderingEndInfo ) const VULKAN_HPP_NOEXCEPT | |
| 28001 { | |
| 28002 VULKAN_HPP_ASSERT( getDispatcher()->vkCmdEndRendering2KHR && | |
| 28003 "Function <vkCmdEndRendering2KHR> requires <VK_EXT_fragment_density_map_offset> or <VK_KHR_maintenance10>" ); | |
| 28004 | |
| 28005 getDispatcher()->vkCmdEndRendering2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), | |
| 28006 reinterpret_cast<const VkRenderingEndInfoKHR *>( renderingEndInfo.get() ) ); | |
| 28007 } | |
| 28008 | |
| 28009 //==================== | |
| 28010 //=== RAII Helpers === | |
| 28011 //==================== | |
| 28012 | |
| 28013 template <typename RAIIType> | |
| 28014 std::vector<typename RAIIType::CppType> filterCppTypes( std::vector<RAIIType> const & raiiTypes ) | |
| 28015 { | |
| 28016 std::vector<typename RAIIType::CppType> cppTypes( raiiTypes.size() ); | |
| 28017 std::transform( raiiTypes.begin(), raiiTypes.end(), cppTypes.begin(), []( RAIIType const & d ) { return *d; } ); | |
| 28018 return cppTypes; | |
| 28019 } | |
| 28020 | |
| 28021 template <typename RAIIType, class UnaryPredicate> | |
| 28022 std::vector<typename RAIIType::CppType> filterCppTypes( std::vector<RAIIType> const & raiiTypes, UnaryPredicate p ) | |
| 28023 { | |
| 28024 std::vector<typename RAIIType::CppType> cppTypes; | |
| 28025 for ( auto const & t : raiiTypes ) | |
| 28026 { | |
| 28027 if ( p( t ) ) | |
| 28028 { | |
| 28029 cppTypes.push_back( *t ); | |
| 28030 } | |
| 28031 } | |
| 28032 return cppTypes; | |
| 28033 } | |
| 28034 | |
| 28035 } // namespace VULKAN_HPP_RAII_NAMESPACE | |
| 28036 } // namespace VULKAN_HPP_NAMESPACE | |
| 28037 #endif | |
| 28038 #endif |
