The open source OpenXR runtime
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

a/vk: Add external host memory extensions

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2491>

authored by

Jakob Bornecrantz and committed by
Marge Bot
98f2f4a1 6cd8cca4

+42
+5
scripts/generate_vk_helpers.py
··· 165 165 requires=("VK_USE_PLATFORM_ANDROID_KHR",), 166 166 ), 167 167 None, 168 + Cmd('vkGetMemoryHostPointerPropertiesEXT', requires=("VK_EXT_external_memory_host",)), 169 + None, 168 170 Cmd("vkGetCalibratedTimestampsEXT", requires=("VK_EXT_calibrated_timestamps",)), 169 171 None, 170 172 Cmd("vkGetPastPresentationTimingGOOGLE"), ··· 282 284 283 285 # Sorted KHR, EXT, Vendor, interally alphabetically 284 286 INSTANCE_EXTENSIONS_TO_CHECK = [ 287 + "VK_KHR_external_memory_capabilities", 285 288 "VK_EXT_display_surface_counter", 286 289 "VK_EXT_swapchain_colorspace", 287 290 "VK_EXT_debug_utils", ··· 290 293 DEVICE_EXTENSIONS_TO_CHECK = [ 291 294 "VK_KHR_8bit_storage", 292 295 "VK_KHR_external_fence_fd", 296 + "VK_KHR_external_memory", 293 297 "VK_KHR_external_semaphore_fd", 294 298 "VK_KHR_format_feature_flags2", 295 299 "VK_KHR_global_priority", ··· 303 307 "VK_EXT_calibrated_timestamps", 304 308 "VK_EXT_display_control", 305 309 "VK_EXT_external_memory_dma_buf", 310 + "VK_EXT_external_memory_host", 306 311 "VK_EXT_global_priority", 307 312 "VK_EXT_image_drm_format_modifier", 308 313 "VK_EXT_robustness2",
+24
src/xrt/auxiliary/vk/vk_bundle_init.c
··· 189 189 { 190 190 // beginning of GENERATED instance extension code - do not modify - used by scripts 191 191 // Reset before filling out. 192 + vk->has_KHR_external_memory_capabilities = false; 192 193 vk->has_EXT_display_surface_counter = false; 193 194 vk->has_EXT_swapchain_colorspace = false; 194 195 vk->has_EXT_debug_utils = false; ··· 198 199 199 200 for (uint32_t i = 0; i < ext_count; i++) { 200 201 const char *ext = exts[i]; 202 + 203 + #if defined(VK_KHR_external_memory_capabilities) 204 + if (strcmp(ext, VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME) == 0) { 205 + vk->has_KHR_external_memory_capabilities = true; 206 + continue; 207 + } 208 + #endif // defined(VK_KHR_external_memory_capabilities) 201 209 202 210 #if defined(VK_EXT_display_surface_counter) 203 211 if (strcmp(ext, VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME) == 0) { ··· 743 751 // Reset before filling out. 744 752 vk->has_KHR_8bit_storage = false; 745 753 vk->has_KHR_external_fence_fd = false; 754 + vk->has_KHR_external_memory = false; 746 755 vk->has_KHR_external_semaphore_fd = false; 747 756 vk->has_KHR_format_feature_flags2 = false; 748 757 vk->has_KHR_global_priority = false; ··· 756 765 vk->has_EXT_calibrated_timestamps = false; 757 766 vk->has_EXT_display_control = false; 758 767 vk->has_EXT_external_memory_dma_buf = false; 768 + vk->has_EXT_external_memory_host = false; 759 769 vk->has_EXT_global_priority = false; 760 770 vk->has_EXT_image_drm_format_modifier = false; 761 771 vk->has_EXT_robustness2 = false; ··· 781 791 continue; 782 792 } 783 793 #endif // defined(VK_KHR_external_fence_fd) 794 + 795 + #if defined(VK_KHR_external_memory) 796 + if (strcmp(ext, VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME) == 0) { 797 + vk->has_KHR_external_memory = true; 798 + continue; 799 + } 800 + #endif // defined(VK_KHR_external_memory) 784 801 785 802 #if defined(VK_KHR_external_semaphore_fd) 786 803 if (strcmp(ext, VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME) == 0) { ··· 872 889 continue; 873 890 } 874 891 #endif // defined(VK_EXT_external_memory_dma_buf) 892 + 893 + #if defined(VK_EXT_external_memory_host) 894 + if (strcmp(ext, VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME) == 0) { 895 + vk->has_EXT_external_memory_host = true; 896 + continue; 897 + } 898 + #endif // defined(VK_EXT_external_memory_host) 875 899 876 900 #if defined(VK_EXT_global_priority) 877 901 if (strcmp(ext, VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME) == 0) {
+5
src/xrt/auxiliary/vk/vk_function_loaders.c
··· 298 298 299 299 #endif // defined(VK_USE_PLATFORM_ANDROID_KHR) 300 300 301 + #if defined(VK_EXT_external_memory_host) 302 + vk->vkGetMemoryHostPointerPropertiesEXT = GET_DEV_PROC(vk, vkGetMemoryHostPointerPropertiesEXT); 303 + 304 + #endif // defined(VK_EXT_external_memory_host) 305 + 301 306 #if defined(VK_EXT_calibrated_timestamps) 302 307 vk->vkGetCalibratedTimestampsEXT = GET_DEV_PROC(vk, vkGetCalibratedTimestampsEXT); 303 308
+8
src/xrt/auxiliary/vk/vk_helpers.h
··· 121 121 } external; 122 122 123 123 // beginning of GENERATED instance extension code - do not modify - used by scripts 124 + bool has_KHR_external_memory_capabilities; 124 125 bool has_EXT_display_surface_counter; 125 126 bool has_EXT_swapchain_colorspace; 126 127 bool has_EXT_debug_utils; ··· 129 130 // beginning of GENERATED device extension code - do not modify - used by scripts 130 131 bool has_KHR_8bit_storage; 131 132 bool has_KHR_external_fence_fd; 133 + bool has_KHR_external_memory; 132 134 bool has_KHR_external_semaphore_fd; 133 135 bool has_KHR_format_feature_flags2; 134 136 bool has_KHR_global_priority; ··· 142 144 bool has_EXT_calibrated_timestamps; 143 145 bool has_EXT_display_control; 144 146 bool has_EXT_external_memory_dma_buf; 147 + bool has_EXT_external_memory_host; 145 148 bool has_EXT_global_priority; 146 149 bool has_EXT_image_drm_format_modifier; 147 150 bool has_EXT_robustness2; ··· 417 420 PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID; 418 421 419 422 #endif // defined(VK_USE_PLATFORM_ANDROID_KHR) 423 + 424 + #if defined(VK_EXT_external_memory_host) 425 + PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT; 426 + 427 + #endif // defined(VK_EXT_external_memory_host) 420 428 421 429 #if defined(VK_EXT_calibrated_timestamps) 422 430 PFN_vkGetCalibratedTimestampsEXT vkGetCalibratedTimestampsEXT;