a/vk: Track maintenance extensions

This commit is contained in:
Jakob Bornecrantz 2022-08-25 02:01:32 +01:00
parent 89fc21d64e
commit b0f51acf77
3 changed files with 40 additions and 0 deletions

View file

@ -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",

View file

@ -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;

View file

@ -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;