diff --git a/scripts/generate_vk_helpers.py b/scripts/generate_vk_helpers.py index 309327ba1..837323a44 100755 --- a/scripts/generate_vk_helpers.py +++ b/scripts/generate_vk_helpers.py @@ -256,6 +256,10 @@ DEVICE_EXTENSIONS_TO_CHECK = [ "VK_KHR_external_fence_fd", "VK_KHR_external_semaphore_fd", "VK_KHR_image_format_list", + "VK_KHR_maintenance1", + "VK_KHR_maintenance2", + "VK_KHR_maintenance3", + "VK_KHR_maintenance4", "VK_KHR_timeline_semaphore", "VK_EXT_calibrated_timestamps", "VK_EXT_display_control", diff --git a/src/xrt/auxiliary/vk/vk_bundle_init.c b/src/xrt/auxiliary/vk/vk_bundle_init.c index 9a1fdddb0..681671607 100644 --- a/src/xrt/auxiliary/vk/vk_bundle_init.c +++ b/src/xrt/auxiliary/vk/vk_bundle_init.c @@ -604,6 +604,10 @@ fill_in_has_device_extensions(struct vk_bundle *vk, struct u_string_list *ext_li vk->has_KHR_external_fence_fd = false; vk->has_KHR_external_semaphore_fd = false; vk->has_KHR_image_format_list = false; + vk->has_KHR_maintenance1 = false; + vk->has_KHR_maintenance2 = false; + vk->has_KHR_maintenance3 = false; + vk->has_KHR_maintenance4 = false; vk->has_KHR_timeline_semaphore = false; vk->has_EXT_calibrated_timestamps = false; vk->has_EXT_display_control = false; @@ -638,6 +642,34 @@ fill_in_has_device_extensions(struct vk_bundle *vk, struct u_string_list *ext_li } #endif // defined(VK_KHR_image_format_list) +#if defined(VK_KHR_maintenance1) + if (strcmp(ext, VK_KHR_MAINTENANCE_1_EXTENSION_NAME) == 0) { + vk->has_KHR_maintenance1 = true; + continue; + } +#endif // defined(VK_KHR_maintenance1) + +#if defined(VK_KHR_maintenance2) + if (strcmp(ext, VK_KHR_MAINTENANCE_2_EXTENSION_NAME) == 0) { + vk->has_KHR_maintenance2 = true; + continue; + } +#endif // defined(VK_KHR_maintenance2) + +#if defined(VK_KHR_maintenance3) + if (strcmp(ext, VK_KHR_MAINTENANCE_3_EXTENSION_NAME) == 0) { + vk->has_KHR_maintenance3 = true; + continue; + } +#endif // defined(VK_KHR_maintenance3) + +#if defined(VK_KHR_maintenance4) + if (strcmp(ext, VK_KHR_MAINTENANCE_4_EXTENSION_NAME) == 0) { + vk->has_KHR_maintenance4 = true; + continue; + } +#endif // defined(VK_KHR_maintenance4) + #if defined(VK_KHR_timeline_semaphore) if (strcmp(ext, VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME) == 0) { vk->has_KHR_timeline_semaphore = true; diff --git a/src/xrt/auxiliary/vk/vk_helpers.h b/src/xrt/auxiliary/vk/vk_helpers.h index e4a83a2c8..ddbc712d8 100644 --- a/src/xrt/auxiliary/vk/vk_helpers.h +++ b/src/xrt/auxiliary/vk/vk_helpers.h @@ -120,6 +120,10 @@ struct vk_bundle bool has_KHR_external_fence_fd; bool has_KHR_external_semaphore_fd; bool has_KHR_image_format_list; + bool has_KHR_maintenance1; + bool has_KHR_maintenance2; + bool has_KHR_maintenance3; + bool has_KHR_maintenance4; bool has_KHR_timeline_semaphore; bool has_EXT_calibrated_timestamps; bool has_EXT_display_control;