8636691fafcaffc90d1f13f734714bbad09b89c3
[platform/upstream/VK-GL-CTS.git] / external / vulkancts / framework / vulkan / generated / vulkan / vkApiExtensionDependencyInfo.inl
1 /* WARNING: This is auto-generated file. Do not modify, since changes will
2  * be lost! Modify the generating script instead.
3  * This file was generated by /scripts/gen_framework.py
4  */
5
6 static const std::tuple<deUint32, deUint32, deUint32, const char*, const char*> instanceExtensionDependencies[] =
7 {
8         std::make_tuple(0, 1, 0, "VK_KHR_display", "VK_KHR_surface"),
9         std::make_tuple(0, 1, 1, "VK_KHR_display", "VK_KHR_surface"),
10         std::make_tuple(0, 1, 2, "VK_KHR_display", "VK_KHR_surface"),
11         std::make_tuple(0, 1, 3, "VK_KHR_display", "VK_KHR_surface"),
12         std::make_tuple(0, 1, 0, "VK_KHR_xlib_surface", "VK_KHR_surface"),
13         std::make_tuple(0, 1, 1, "VK_KHR_xlib_surface", "VK_KHR_surface"),
14         std::make_tuple(0, 1, 2, "VK_KHR_xlib_surface", "VK_KHR_surface"),
15         std::make_tuple(0, 1, 3, "VK_KHR_xlib_surface", "VK_KHR_surface"),
16         std::make_tuple(0, 1, 0, "VK_KHR_xcb_surface", "VK_KHR_surface"),
17         std::make_tuple(0, 1, 1, "VK_KHR_xcb_surface", "VK_KHR_surface"),
18         std::make_tuple(0, 1, 2, "VK_KHR_xcb_surface", "VK_KHR_surface"),
19         std::make_tuple(0, 1, 3, "VK_KHR_xcb_surface", "VK_KHR_surface"),
20         std::make_tuple(0, 1, 0, "VK_KHR_wayland_surface", "VK_KHR_surface"),
21         std::make_tuple(0, 1, 1, "VK_KHR_wayland_surface", "VK_KHR_surface"),
22         std::make_tuple(0, 1, 2, "VK_KHR_wayland_surface", "VK_KHR_surface"),
23         std::make_tuple(0, 1, 3, "VK_KHR_wayland_surface", "VK_KHR_surface"),
24         std::make_tuple(0, 1, 0, "VK_KHR_android_surface", "VK_KHR_surface"),
25         std::make_tuple(0, 1, 1, "VK_KHR_android_surface", "VK_KHR_surface"),
26         std::make_tuple(0, 1, 2, "VK_KHR_android_surface", "VK_KHR_surface"),
27         std::make_tuple(0, 1, 3, "VK_KHR_android_surface", "VK_KHR_surface"),
28         std::make_tuple(0, 1, 0, "VK_KHR_win32_surface", "VK_KHR_surface"),
29         std::make_tuple(0, 1, 1, "VK_KHR_win32_surface", "VK_KHR_surface"),
30         std::make_tuple(0, 1, 2, "VK_KHR_win32_surface", "VK_KHR_surface"),
31         std::make_tuple(0, 1, 3, "VK_KHR_win32_surface", "VK_KHR_surface"),
32         std::make_tuple(0, 1, 0, "VK_GGP_stream_descriptor_surface", "VK_KHR_surface"),
33         std::make_tuple(0, 1, 1, "VK_GGP_stream_descriptor_surface", "VK_KHR_surface"),
34         std::make_tuple(0, 1, 2, "VK_GGP_stream_descriptor_surface", "VK_KHR_surface"),
35         std::make_tuple(0, 1, 3, "VK_GGP_stream_descriptor_surface", "VK_KHR_surface"),
36         std::make_tuple(0, 1, 0, "VK_NN_vi_surface", "VK_KHR_surface"),
37         std::make_tuple(0, 1, 1, "VK_NN_vi_surface", "VK_KHR_surface"),
38         std::make_tuple(0, 1, 2, "VK_NN_vi_surface", "VK_KHR_surface"),
39         std::make_tuple(0, 1, 3, "VK_NN_vi_surface", "VK_KHR_surface"),
40         std::make_tuple(0, 1, 0, "VK_KHR_external_memory_capabilities", "VK_KHR_get_physical_device_properties2"),
41         std::make_tuple(0, 1, 0, "VK_KHR_external_semaphore_capabilities", "VK_KHR_get_physical_device_properties2"),
42         std::make_tuple(0, 1, 0, "VK_EXT_direct_mode_display", "VK_KHR_display"),
43         std::make_tuple(0, 1, 1, "VK_EXT_direct_mode_display", "VK_KHR_display"),
44         std::make_tuple(0, 1, 2, "VK_EXT_direct_mode_display", "VK_KHR_display"),
45         std::make_tuple(0, 1, 3, "VK_EXT_direct_mode_display", "VK_KHR_display"),
46         std::make_tuple(0, 1, 0, "VK_EXT_acquire_xlib_display", "VK_EXT_direct_mode_display"),
47         std::make_tuple(0, 1, 1, "VK_EXT_acquire_xlib_display", "VK_EXT_direct_mode_display"),
48         std::make_tuple(0, 1, 2, "VK_EXT_acquire_xlib_display", "VK_EXT_direct_mode_display"),
49         std::make_tuple(0, 1, 3, "VK_EXT_acquire_xlib_display", "VK_EXT_direct_mode_display"),
50         std::make_tuple(0, 1, 0, "VK_EXT_display_surface_counter", "VK_KHR_display"),
51         std::make_tuple(0, 1, 1, "VK_EXT_display_surface_counter", "VK_KHR_display"),
52         std::make_tuple(0, 1, 2, "VK_EXT_display_surface_counter", "VK_KHR_display"),
53         std::make_tuple(0, 1, 3, "VK_EXT_display_surface_counter", "VK_KHR_display"),
54         std::make_tuple(0, 1, 0, "VK_EXT_swapchain_colorspace", "VK_KHR_surface"),
55         std::make_tuple(0, 1, 1, "VK_EXT_swapchain_colorspace", "VK_KHR_surface"),
56         std::make_tuple(0, 1, 2, "VK_EXT_swapchain_colorspace", "VK_KHR_surface"),
57         std::make_tuple(0, 1, 3, "VK_EXT_swapchain_colorspace", "VK_KHR_surface"),
58         std::make_tuple(0, 1, 0, "VK_KHR_external_fence_capabilities", "VK_KHR_get_physical_device_properties2"),
59         std::make_tuple(0, 1, 0, "VK_KHR_get_surface_capabilities2", "VK_KHR_surface"),
60         std::make_tuple(0, 1, 1, "VK_KHR_get_surface_capabilities2", "VK_KHR_surface"),
61         std::make_tuple(0, 1, 2, "VK_KHR_get_surface_capabilities2", "VK_KHR_surface"),
62         std::make_tuple(0, 1, 3, "VK_KHR_get_surface_capabilities2", "VK_KHR_surface"),
63         std::make_tuple(0, 1, 0, "VK_KHR_get_display_properties2", "VK_KHR_display"),
64         std::make_tuple(0, 1, 1, "VK_KHR_get_display_properties2", "VK_KHR_display"),
65         std::make_tuple(0, 1, 2, "VK_KHR_get_display_properties2", "VK_KHR_display"),
66         std::make_tuple(0, 1, 3, "VK_KHR_get_display_properties2", "VK_KHR_display"),
67         std::make_tuple(0, 1, 0, "VK_MVK_ios_surface", "VK_KHR_surface"),
68         std::make_tuple(0, 1, 1, "VK_MVK_ios_surface", "VK_KHR_surface"),
69         std::make_tuple(0, 1, 2, "VK_MVK_ios_surface", "VK_KHR_surface"),
70         std::make_tuple(0, 1, 3, "VK_MVK_ios_surface", "VK_KHR_surface"),
71         std::make_tuple(0, 1, 0, "VK_MVK_macos_surface", "VK_KHR_surface"),
72         std::make_tuple(0, 1, 1, "VK_MVK_macos_surface", "VK_KHR_surface"),
73         std::make_tuple(0, 1, 2, "VK_MVK_macos_surface", "VK_KHR_surface"),
74         std::make_tuple(0, 1, 3, "VK_MVK_macos_surface", "VK_KHR_surface"),
75         std::make_tuple(0, 1, 0, "VK_FUCHSIA_imagepipe_surface", "VK_KHR_surface"),
76         std::make_tuple(0, 1, 1, "VK_FUCHSIA_imagepipe_surface", "VK_KHR_surface"),
77         std::make_tuple(0, 1, 2, "VK_FUCHSIA_imagepipe_surface", "VK_KHR_surface"),
78         std::make_tuple(0, 1, 3, "VK_FUCHSIA_imagepipe_surface", "VK_KHR_surface"),
79         std::make_tuple(0, 1, 0, "VK_EXT_metal_surface", "VK_KHR_surface"),
80         std::make_tuple(0, 1, 1, "VK_EXT_metal_surface", "VK_KHR_surface"),
81         std::make_tuple(0, 1, 2, "VK_EXT_metal_surface", "VK_KHR_surface"),
82         std::make_tuple(0, 1, 3, "VK_EXT_metal_surface", "VK_KHR_surface"),
83         std::make_tuple(0, 1, 1, "VK_KHR_surface_protected_capabilities", "VK_KHR_get_surface_capabilities2"),
84         std::make_tuple(0, 1, 2, "VK_KHR_surface_protected_capabilities", "VK_KHR_get_surface_capabilities2"),
85         std::make_tuple(0, 1, 3, "VK_KHR_surface_protected_capabilities", "VK_KHR_get_surface_capabilities2"),
86         std::make_tuple(0, 1, 0, "VK_EXT_headless_surface", "VK_KHR_surface"),
87         std::make_tuple(0, 1, 1, "VK_EXT_headless_surface", "VK_KHR_surface"),
88         std::make_tuple(0, 1, 2, "VK_EXT_headless_surface", "VK_KHR_surface"),
89         std::make_tuple(0, 1, 3, "VK_EXT_headless_surface", "VK_KHR_surface"),
90         std::make_tuple(0, 1, 0, "VK_EXT_acquire_drm_display", "VK_EXT_direct_mode_display"),
91         std::make_tuple(0, 1, 1, "VK_EXT_acquire_drm_display", "VK_EXT_direct_mode_display"),
92         std::make_tuple(0, 1, 2, "VK_EXT_acquire_drm_display", "VK_EXT_direct_mode_display"),
93         std::make_tuple(0, 1, 3, "VK_EXT_acquire_drm_display", "VK_EXT_direct_mode_display"),
94         std::make_tuple(0, 1, 0, "VK_QNX_screen_surface", "VK_KHR_surface"),
95         std::make_tuple(0, 1, 1, "VK_QNX_screen_surface", "VK_KHR_surface"),
96         std::make_tuple(0, 1, 2, "VK_QNX_screen_surface", "VK_KHR_surface"),
97         std::make_tuple(0, 1, 3, "VK_QNX_screen_surface", "VK_KHR_surface"),
98         std::make_tuple(0, 1, 0, "VK_GOOGLE_surfaceless_query", "VK_KHR_surface"),
99         std::make_tuple(0, 1, 1, "VK_GOOGLE_surfaceless_query", "VK_KHR_surface"),
100         std::make_tuple(0, 1, 2, "VK_GOOGLE_surfaceless_query", "VK_KHR_surface"),
101         std::make_tuple(0, 1, 3, "VK_GOOGLE_surfaceless_query", "VK_KHR_surface"),
102 };
103 static const std::tuple<deUint32, deUint32, deUint32, const char*, const char*> deviceExtensionDependencies[]   =
104 {
105         std::make_tuple(0, 1, 0, "VK_KHR_swapchain", "VK_KHR_surface"),
106         std::make_tuple(0, 1, 1, "VK_KHR_swapchain", "VK_KHR_surface"),
107         std::make_tuple(0, 1, 2, "VK_KHR_swapchain", "VK_KHR_surface"),
108         std::make_tuple(0, 1, 3, "VK_KHR_swapchain", "VK_KHR_surface"),
109         std::make_tuple(0, 1, 0, "VK_KHR_display_swapchain", "VK_KHR_swapchain"),
110         std::make_tuple(0, 1, 0, "VK_KHR_display_swapchain", "VK_KHR_display"),
111         std::make_tuple(0, 1, 1, "VK_KHR_display_swapchain", "VK_KHR_swapchain"),
112         std::make_tuple(0, 1, 1, "VK_KHR_display_swapchain", "VK_KHR_display"),
113         std::make_tuple(0, 1, 2, "VK_KHR_display_swapchain", "VK_KHR_swapchain"),
114         std::make_tuple(0, 1, 2, "VK_KHR_display_swapchain", "VK_KHR_display"),
115         std::make_tuple(0, 1, 3, "VK_KHR_display_swapchain", "VK_KHR_swapchain"),
116         std::make_tuple(0, 1, 3, "VK_KHR_display_swapchain", "VK_KHR_display"),
117         std::make_tuple(0, 1, 0, "VK_EXT_debug_marker", "VK_EXT_debug_report"),
118         std::make_tuple(0, 1, 1, "VK_EXT_debug_marker", "VK_EXT_debug_report"),
119         std::make_tuple(0, 1, 2, "VK_EXT_debug_marker", "VK_EXT_debug_report"),
120         std::make_tuple(0, 1, 3, "VK_EXT_debug_marker", "VK_EXT_debug_report"),
121         std::make_tuple(0, 1, 1, "VK_KHR_video_queue", "VK_KHR_synchronization2"),
122         std::make_tuple(0, 1, 2, "VK_KHR_video_queue", "VK_KHR_synchronization2"),
123         std::make_tuple(0, 1, 0, "VK_KHR_video_decode_queue", "VK_KHR_video_queue"),
124         std::make_tuple(0, 1, 0, "VK_KHR_video_decode_queue", "VK_KHR_synchronization2"),
125         std::make_tuple(0, 1, 1, "VK_KHR_video_decode_queue", "VK_KHR_video_queue"),
126         std::make_tuple(0, 1, 1, "VK_KHR_video_decode_queue", "VK_KHR_synchronization2"),
127         std::make_tuple(0, 1, 2, "VK_KHR_video_decode_queue", "VK_KHR_video_queue"),
128         std::make_tuple(0, 1, 2, "VK_KHR_video_decode_queue", "VK_KHR_synchronization2"),
129         std::make_tuple(0, 1, 3, "VK_KHR_video_decode_queue", "VK_KHR_video_queue"),
130         std::make_tuple(0, 1, 0, "VK_EXT_transform_feedback", "VK_KHR_get_physical_device_properties2"),
131         std::make_tuple(0, 1, 0, "VK_EXT_video_encode_h264", "VK_KHR_video_encode_queue"),
132         std::make_tuple(0, 1, 1, "VK_EXT_video_encode_h264", "VK_KHR_video_encode_queue"),
133         std::make_tuple(0, 1, 2, "VK_EXT_video_encode_h264", "VK_KHR_video_encode_queue"),
134         std::make_tuple(0, 1, 3, "VK_EXT_video_encode_h264", "VK_KHR_video_encode_queue"),
135         std::make_tuple(0, 1, 0, "VK_EXT_video_encode_h265", "VK_KHR_video_encode_queue"),
136         std::make_tuple(0, 1, 1, "VK_EXT_video_encode_h265", "VK_KHR_video_encode_queue"),
137         std::make_tuple(0, 1, 2, "VK_EXT_video_encode_h265", "VK_KHR_video_encode_queue"),
138         std::make_tuple(0, 1, 3, "VK_EXT_video_encode_h265", "VK_KHR_video_encode_queue"),
139         std::make_tuple(0, 1, 0, "VK_EXT_video_decode_h264", "VK_KHR_video_decode_queue"),
140         std::make_tuple(0, 1, 1, "VK_EXT_video_decode_h264", "VK_KHR_video_decode_queue"),
141         std::make_tuple(0, 1, 2, "VK_EXT_video_decode_h264", "VK_KHR_video_decode_queue"),
142         std::make_tuple(0, 1, 3, "VK_EXT_video_decode_h264", "VK_KHR_video_decode_queue"),
143         std::make_tuple(0, 1, 0, "VK_AMD_texture_gather_bias_lod", "VK_KHR_get_physical_device_properties2"),
144         std::make_tuple(0, 1, 0, "VK_KHR_dynamic_rendering", "VK_KHR_depth_stencil_resolve"),
145         std::make_tuple(0, 1, 0, "VK_KHR_dynamic_rendering", "VK_KHR_get_physical_device_properties2"),
146         std::make_tuple(0, 1, 1, "VK_KHR_dynamic_rendering", "VK_KHR_depth_stencil_resolve"),
147         std::make_tuple(0, 1, 0, "VK_NV_corner_sampled_image", "VK_KHR_get_physical_device_properties2"),
148         std::make_tuple(0, 1, 0, "VK_KHR_multiview", "VK_KHR_get_physical_device_properties2"),
149         std::make_tuple(0, 1, 0, "VK_NV_external_memory", "VK_NV_external_memory_capabilities"),
150         std::make_tuple(0, 1, 1, "VK_NV_external_memory", "VK_NV_external_memory_capabilities"),
151         std::make_tuple(0, 1, 2, "VK_NV_external_memory", "VK_NV_external_memory_capabilities"),
152         std::make_tuple(0, 1, 3, "VK_NV_external_memory", "VK_NV_external_memory_capabilities"),
153         std::make_tuple(0, 1, 0, "VK_NV_external_memory_win32", "VK_NV_external_memory"),
154         std::make_tuple(0, 1, 1, "VK_NV_external_memory_win32", "VK_NV_external_memory"),
155         std::make_tuple(0, 1, 2, "VK_NV_external_memory_win32", "VK_NV_external_memory"),
156         std::make_tuple(0, 1, 3, "VK_NV_external_memory_win32", "VK_NV_external_memory"),
157         std::make_tuple(0, 1, 0, "VK_NV_win32_keyed_mutex", "VK_NV_external_memory_win32"),
158         std::make_tuple(0, 1, 1, "VK_NV_win32_keyed_mutex", "VK_NV_external_memory_win32"),
159         std::make_tuple(0, 1, 2, "VK_NV_win32_keyed_mutex", "VK_NV_external_memory_win32"),
160         std::make_tuple(0, 1, 3, "VK_NV_win32_keyed_mutex", "VK_NV_external_memory_win32"),
161         std::make_tuple(0, 1, 0, "VK_KHR_device_group", "VK_KHR_device_group_creation"),
162         std::make_tuple(0, 1, 0, "VK_EXT_texture_compression_astc_hdr", "VK_KHR_get_physical_device_properties2"),
163         std::make_tuple(0, 1, 0, "VK_EXT_astc_decode_mode", "VK_KHR_get_physical_device_properties2"),
164         std::make_tuple(0, 1, 0, "VK_EXT_pipeline_robustness", "VK_KHR_get_physical_device_properties2"),
165         std::make_tuple(0, 1, 0, "VK_KHR_external_memory", "VK_KHR_external_memory_capabilities"),
166         std::make_tuple(0, 1, 0, "VK_KHR_external_memory_win32", "VK_KHR_external_memory"),
167         std::make_tuple(0, 1, 0, "VK_KHR_external_memory_fd", "VK_KHR_external_memory"),
168         std::make_tuple(0, 1, 0, "VK_KHR_win32_keyed_mutex", "VK_KHR_external_memory_win32"),
169         std::make_tuple(0, 1, 1, "VK_KHR_win32_keyed_mutex", "VK_KHR_external_memory_win32"),
170         std::make_tuple(0, 1, 2, "VK_KHR_win32_keyed_mutex", "VK_KHR_external_memory_win32"),
171         std::make_tuple(0, 1, 3, "VK_KHR_win32_keyed_mutex", "VK_KHR_external_memory_win32"),
172         std::make_tuple(0, 1, 0, "VK_KHR_external_semaphore", "VK_KHR_external_semaphore_capabilities"),
173         std::make_tuple(0, 1, 0, "VK_KHR_external_semaphore_win32", "VK_KHR_external_semaphore"),
174         std::make_tuple(0, 1, 0, "VK_KHR_external_semaphore_fd", "VK_KHR_external_semaphore"),
175         std::make_tuple(0, 1, 0, "VK_KHR_push_descriptor", "VK_KHR_get_physical_device_properties2"),
176         std::make_tuple(0, 1, 0, "VK_KHR_shader_float16_int8", "VK_KHR_get_physical_device_properties2"),
177         std::make_tuple(0, 1, 0, "VK_KHR_16bit_storage", "VK_KHR_get_physical_device_properties2"),
178         std::make_tuple(0, 1, 0, "VK_KHR_16bit_storage", "VK_KHR_storage_buffer_storage_class"),
179         std::make_tuple(0, 1, 0, "VK_KHR_incremental_present", "VK_KHR_swapchain"),
180         std::make_tuple(0, 1, 1, "VK_KHR_incremental_present", "VK_KHR_swapchain"),
181         std::make_tuple(0, 1, 2, "VK_KHR_incremental_present", "VK_KHR_swapchain"),
182         std::make_tuple(0, 1, 3, "VK_KHR_incremental_present", "VK_KHR_swapchain"),
183         std::make_tuple(0, 1, 0, "VK_EXT_display_control", "VK_EXT_display_surface_counter"),
184         std::make_tuple(0, 1, 0, "VK_EXT_display_control", "VK_KHR_swapchain"),
185         std::make_tuple(0, 1, 1, "VK_EXT_display_control", "VK_EXT_display_surface_counter"),
186         std::make_tuple(0, 1, 1, "VK_EXT_display_control", "VK_KHR_swapchain"),
187         std::make_tuple(0, 1, 2, "VK_EXT_display_control", "VK_EXT_display_surface_counter"),
188         std::make_tuple(0, 1, 2, "VK_EXT_display_control", "VK_KHR_swapchain"),
189         std::make_tuple(0, 1, 3, "VK_EXT_display_control", "VK_EXT_display_surface_counter"),
190         std::make_tuple(0, 1, 3, "VK_EXT_display_control", "VK_KHR_swapchain"),
191         std::make_tuple(0, 1, 0, "VK_GOOGLE_display_timing", "VK_KHR_swapchain"),
192         std::make_tuple(0, 1, 1, "VK_GOOGLE_display_timing", "VK_KHR_swapchain"),
193         std::make_tuple(0, 1, 2, "VK_GOOGLE_display_timing", "VK_KHR_swapchain"),
194         std::make_tuple(0, 1, 3, "VK_GOOGLE_display_timing", "VK_KHR_swapchain"),
195         std::make_tuple(0, 1, 0, "VK_NVX_multiview_per_view_attributes", "VK_KHR_multiview"),
196         std::make_tuple(0, 1, 0, "VK_EXT_discard_rectangles", "VK_KHR_get_physical_device_properties2"),
197         std::make_tuple(0, 1, 0, "VK_EXT_conservative_rasterization", "VK_KHR_get_physical_device_properties2"),
198         std::make_tuple(0, 1, 0, "VK_EXT_hdr_metadata", "VK_KHR_swapchain"),
199         std::make_tuple(0, 1, 1, "VK_EXT_hdr_metadata", "VK_KHR_swapchain"),
200         std::make_tuple(0, 1, 2, "VK_EXT_hdr_metadata", "VK_KHR_swapchain"),
201         std::make_tuple(0, 1, 3, "VK_EXT_hdr_metadata", "VK_KHR_swapchain"),
202         std::make_tuple(0, 1, 0, "VK_KHR_imageless_framebuffer", "VK_KHR_maintenance2"),
203         std::make_tuple(0, 1, 0, "VK_KHR_imageless_framebuffer", "VK_KHR_image_format_list"),
204         std::make_tuple(0, 1, 1, "VK_KHR_imageless_framebuffer", "VK_KHR_image_format_list"),
205         std::make_tuple(0, 1, 0, "VK_KHR_create_renderpass2", "VK_KHR_multiview"),
206         std::make_tuple(0, 1, 0, "VK_KHR_create_renderpass2", "VK_KHR_maintenance2"),
207         std::make_tuple(0, 1, 0, "VK_KHR_shared_presentable_image", "VK_KHR_swapchain"),
208         std::make_tuple(0, 1, 0, "VK_KHR_shared_presentable_image", "VK_KHR_get_physical_device_properties2"),
209         std::make_tuple(0, 1, 0, "VK_KHR_shared_presentable_image", "VK_KHR_get_surface_capabilities2"),
210         std::make_tuple(0, 1, 1, "VK_KHR_shared_presentable_image", "VK_KHR_swapchain"),
211         std::make_tuple(0, 1, 1, "VK_KHR_shared_presentable_image", "VK_KHR_get_surface_capabilities2"),
212         std::make_tuple(0, 1, 2, "VK_KHR_shared_presentable_image", "VK_KHR_swapchain"),
213         std::make_tuple(0, 1, 2, "VK_KHR_shared_presentable_image", "VK_KHR_get_surface_capabilities2"),
214         std::make_tuple(0, 1, 3, "VK_KHR_shared_presentable_image", "VK_KHR_swapchain"),
215         std::make_tuple(0, 1, 3, "VK_KHR_shared_presentable_image", "VK_KHR_get_surface_capabilities2"),
216         std::make_tuple(0, 1, 0, "VK_KHR_external_fence", "VK_KHR_external_fence_capabilities"),
217         std::make_tuple(0, 1, 0, "VK_KHR_external_fence_win32", "VK_KHR_external_fence"),
218         std::make_tuple(0, 1, 0, "VK_KHR_external_fence_fd", "VK_KHR_external_fence"),
219         std::make_tuple(0, 1, 0, "VK_KHR_performance_query", "VK_KHR_get_physical_device_properties2"),
220         std::make_tuple(0, 1, 0, "VK_KHR_variable_pointers", "VK_KHR_get_physical_device_properties2"),
221         std::make_tuple(0, 1, 0, "VK_KHR_variable_pointers", "VK_KHR_storage_buffer_storage_class"),
222         std::make_tuple(0, 1, 0, "VK_EXT_external_memory_dma_buf", "VK_KHR_external_memory_fd"),
223         std::make_tuple(0, 1, 1, "VK_EXT_external_memory_dma_buf", "VK_KHR_external_memory_fd"),
224         std::make_tuple(0, 1, 2, "VK_EXT_external_memory_dma_buf", "VK_KHR_external_memory_fd"),
225         std::make_tuple(0, 1, 3, "VK_EXT_external_memory_dma_buf", "VK_KHR_external_memory_fd"),
226         std::make_tuple(0, 1, 0, "VK_EXT_queue_family_foreign", "VK_KHR_external_memory"),
227         std::make_tuple(0, 1, 0, "VK_KHR_dedicated_allocation", "VK_KHR_get_memory_requirements2"),
228         std::make_tuple(0, 1, 0, "VK_ANDROID_external_memory_android_hardware_buffer", "VK_KHR_sampler_ycbcr_conversion"),
229         std::make_tuple(0, 1, 0, "VK_ANDROID_external_memory_android_hardware_buffer", "VK_KHR_external_memory"),
230         std::make_tuple(0, 1, 0, "VK_ANDROID_external_memory_android_hardware_buffer", "VK_EXT_queue_family_foreign"),
231         std::make_tuple(0, 1, 0, "VK_ANDROID_external_memory_android_hardware_buffer", "VK_KHR_dedicated_allocation"),
232         std::make_tuple(0, 1, 1, "VK_ANDROID_external_memory_android_hardware_buffer", "VK_EXT_queue_family_foreign"),
233         std::make_tuple(0, 1, 2, "VK_ANDROID_external_memory_android_hardware_buffer", "VK_EXT_queue_family_foreign"),
234         std::make_tuple(0, 1, 3, "VK_ANDROID_external_memory_android_hardware_buffer", "VK_EXT_queue_family_foreign"),
235         std::make_tuple(0, 1, 0, "VK_EXT_sampler_filter_minmax", "VK_KHR_get_physical_device_properties2"),
236         std::make_tuple(0, 1, 0, "VK_EXT_inline_uniform_block", "VK_KHR_get_physical_device_properties2"),
237         std::make_tuple(0, 1, 0, "VK_EXT_inline_uniform_block", "VK_KHR_maintenance1"),
238         std::make_tuple(0, 1, 0, "VK_EXT_sample_locations", "VK_KHR_get_physical_device_properties2"),
239         std::make_tuple(0, 1, 0, "VK_EXT_blend_operation_advanced", "VK_KHR_get_physical_device_properties2"),
240         std::make_tuple(0, 1, 1, "VK_KHR_acceleration_structure", "VK_EXT_descriptor_indexing"),
241         std::make_tuple(0, 1, 1, "VK_KHR_acceleration_structure", "VK_KHR_buffer_device_address"),
242         std::make_tuple(0, 1, 1, "VK_KHR_acceleration_structure", "VK_KHR_deferred_host_operations"),
243         std::make_tuple(0, 1, 2, "VK_KHR_acceleration_structure", "VK_KHR_deferred_host_operations"),
244         std::make_tuple(0, 1, 3, "VK_KHR_acceleration_structure", "VK_KHR_deferred_host_operations"),
245         std::make_tuple(0, 1, 1, "VK_KHR_ray_tracing_pipeline", "VK_KHR_spirv_1_4"),
246         std::make_tuple(0, 1, 1, "VK_KHR_ray_tracing_pipeline", "VK_KHR_acceleration_structure"),
247         std::make_tuple(0, 1, 2, "VK_KHR_ray_tracing_pipeline", "VK_KHR_acceleration_structure"),
248         std::make_tuple(0, 1, 3, "VK_KHR_ray_tracing_pipeline", "VK_KHR_acceleration_structure"),
249         std::make_tuple(0, 1, 1, "VK_KHR_ray_query", "VK_KHR_spirv_1_4"),
250         std::make_tuple(0, 1, 1, "VK_KHR_ray_query", "VK_KHR_acceleration_structure"),
251         std::make_tuple(0, 1, 2, "VK_KHR_ray_query", "VK_KHR_acceleration_structure"),
252         std::make_tuple(0, 1, 3, "VK_KHR_ray_query", "VK_KHR_acceleration_structure"),
253         std::make_tuple(0, 1, 0, "VK_KHR_sampler_ycbcr_conversion", "VK_KHR_maintenance1"),
254         std::make_tuple(0, 1, 0, "VK_KHR_sampler_ycbcr_conversion", "VK_KHR_bind_memory2"),
255         std::make_tuple(0, 1, 0, "VK_KHR_sampler_ycbcr_conversion", "VK_KHR_get_memory_requirements2"),
256         std::make_tuple(0, 1, 0, "VK_KHR_sampler_ycbcr_conversion", "VK_KHR_get_physical_device_properties2"),
257         std::make_tuple(0, 1, 0, "VK_EXT_image_drm_format_modifier", "VK_KHR_bind_memory2"),
258         std::make_tuple(0, 1, 0, "VK_EXT_image_drm_format_modifier", "VK_KHR_get_physical_device_properties2"),
259         std::make_tuple(0, 1, 0, "VK_EXT_image_drm_format_modifier", "VK_KHR_image_format_list"),
260         std::make_tuple(0, 1, 0, "VK_EXT_image_drm_format_modifier", "VK_KHR_sampler_ycbcr_conversion"),
261         std::make_tuple(0, 1, 1, "VK_EXT_image_drm_format_modifier", "VK_KHR_image_format_list"),
262         std::make_tuple(0, 1, 0, "VK_EXT_descriptor_indexing", "VK_KHR_get_physical_device_properties2"),
263         std::make_tuple(0, 1, 0, "VK_EXT_descriptor_indexing", "VK_KHR_maintenance3"),
264         std::make_tuple(0, 1, 0, "VK_KHR_portability_subset", "VK_KHR_get_physical_device_properties2"),
265         std::make_tuple(0, 1, 0, "VK_NV_shading_rate_image", "VK_KHR_get_physical_device_properties2"),
266         std::make_tuple(0, 1, 0, "VK_NV_ray_tracing", "VK_KHR_get_physical_device_properties2"),
267         std::make_tuple(0, 1, 0, "VK_NV_ray_tracing", "VK_KHR_get_memory_requirements2"),
268         std::make_tuple(0, 1, 0, "VK_KHR_maintenance3", "VK_KHR_get_physical_device_properties2"),
269         std::make_tuple(0, 1, 0, "VK_KHR_8bit_storage", "VK_KHR_get_physical_device_properties2"),
270         std::make_tuple(0, 1, 0, "VK_KHR_8bit_storage", "VK_KHR_storage_buffer_storage_class"),
271         std::make_tuple(0, 1, 0, "VK_EXT_external_memory_host", "VK_KHR_external_memory"),
272         std::make_tuple(0, 1, 0, "VK_KHR_shader_atomic_int64", "VK_KHR_get_physical_device_properties2"),
273         std::make_tuple(0, 1, 0, "VK_KHR_shader_clock", "VK_KHR_get_physical_device_properties2"),
274         std::make_tuple(0, 1, 0, "VK_EXT_calibrated_timestamps", "VK_KHR_get_physical_device_properties2"),
275         std::make_tuple(0, 1, 0, "VK_AMD_shader_core_properties", "VK_KHR_get_physical_device_properties2"),
276         std::make_tuple(0, 1, 0, "VK_EXT_video_decode_h265", "VK_KHR_video_decode_queue"),
277         std::make_tuple(0, 1, 1, "VK_EXT_video_decode_h265", "VK_KHR_video_decode_queue"),
278         std::make_tuple(0, 1, 2, "VK_EXT_video_decode_h265", "VK_KHR_video_decode_queue"),
279         std::make_tuple(0, 1, 3, "VK_EXT_video_decode_h265", "VK_KHR_video_decode_queue"),
280         std::make_tuple(0, 1, 0, "VK_EXT_vertex_attribute_divisor", "VK_KHR_get_physical_device_properties2"),
281         std::make_tuple(0, 1, 0, "VK_GGP_frame_token", "VK_KHR_swapchain"),
282         std::make_tuple(0, 1, 0, "VK_GGP_frame_token", "VK_GGP_stream_descriptor_surface"),
283         std::make_tuple(0, 1, 1, "VK_GGP_frame_token", "VK_KHR_swapchain"),
284         std::make_tuple(0, 1, 1, "VK_GGP_frame_token", "VK_GGP_stream_descriptor_surface"),
285         std::make_tuple(0, 1, 2, "VK_GGP_frame_token", "VK_KHR_swapchain"),
286         std::make_tuple(0, 1, 2, "VK_GGP_frame_token", "VK_GGP_stream_descriptor_surface"),
287         std::make_tuple(0, 1, 3, "VK_GGP_frame_token", "VK_KHR_swapchain"),
288         std::make_tuple(0, 1, 3, "VK_GGP_frame_token", "VK_GGP_stream_descriptor_surface"),
289         std::make_tuple(0, 1, 0, "VK_KHR_driver_properties", "VK_KHR_get_physical_device_properties2"),
290         std::make_tuple(0, 1, 0, "VK_KHR_shader_float_controls", "VK_KHR_get_physical_device_properties2"),
291         std::make_tuple(0, 1, 0, "VK_KHR_depth_stencil_resolve", "VK_KHR_create_renderpass2"),
292         std::make_tuple(0, 1, 1, "VK_KHR_depth_stencil_resolve", "VK_KHR_create_renderpass2"),
293         std::make_tuple(0, 1, 0, "VK_KHR_swapchain_mutable_format", "VK_KHR_swapchain"),
294         std::make_tuple(0, 1, 0, "VK_KHR_swapchain_mutable_format", "VK_KHR_maintenance2"),
295         std::make_tuple(0, 1, 0, "VK_KHR_swapchain_mutable_format", "VK_KHR_image_format_list"),
296         std::make_tuple(0, 1, 1, "VK_KHR_swapchain_mutable_format", "VK_KHR_swapchain"),
297         std::make_tuple(0, 1, 1, "VK_KHR_swapchain_mutable_format", "VK_KHR_image_format_list"),
298         std::make_tuple(0, 1, 2, "VK_KHR_swapchain_mutable_format", "VK_KHR_swapchain"),
299         std::make_tuple(0, 1, 3, "VK_KHR_swapchain_mutable_format", "VK_KHR_swapchain"),
300         std::make_tuple(0, 1, 0, "VK_NV_compute_shader_derivatives", "VK_KHR_get_physical_device_properties2"),
301         std::make_tuple(0, 1, 0, "VK_NV_mesh_shader", "VK_KHR_get_physical_device_properties2"),
302         std::make_tuple(0, 1, 0, "VK_NV_fragment_shader_barycentric", "VK_KHR_get_physical_device_properties2"),
303         std::make_tuple(0, 1, 0, "VK_NV_shader_image_footprint", "VK_KHR_get_physical_device_properties2"),
304         std::make_tuple(0, 1, 0, "VK_NV_scissor_exclusive", "VK_KHR_get_physical_device_properties2"),
305         std::make_tuple(0, 1, 0, "VK_NV_device_diagnostic_checkpoints", "VK_KHR_get_physical_device_properties2"),
306         std::make_tuple(0, 1, 0, "VK_KHR_timeline_semaphore", "VK_KHR_get_physical_device_properties2"),
307         std::make_tuple(0, 1, 0, "VK_INTEL_shader_integer_functions2", "VK_KHR_get_physical_device_properties2"),
308         std::make_tuple(0, 1, 0, "VK_EXT_pci_bus_info", "VK_KHR_get_physical_device_properties2"),
309         std::make_tuple(0, 1, 0, "VK_AMD_display_native_hdr", "VK_KHR_get_physical_device_properties2"),
310         std::make_tuple(0, 1, 0, "VK_AMD_display_native_hdr", "VK_KHR_get_surface_capabilities2"),
311         std::make_tuple(0, 1, 0, "VK_AMD_display_native_hdr", "VK_KHR_swapchain"),
312         std::make_tuple(0, 1, 1, "VK_AMD_display_native_hdr", "VK_KHR_get_surface_capabilities2"),
313         std::make_tuple(0, 1, 1, "VK_AMD_display_native_hdr", "VK_KHR_swapchain"),
314         std::make_tuple(0, 1, 2, "VK_AMD_display_native_hdr", "VK_KHR_get_surface_capabilities2"),
315         std::make_tuple(0, 1, 2, "VK_AMD_display_native_hdr", "VK_KHR_swapchain"),
316         std::make_tuple(0, 1, 3, "VK_AMD_display_native_hdr", "VK_KHR_get_surface_capabilities2"),
317         std::make_tuple(0, 1, 3, "VK_AMD_display_native_hdr", "VK_KHR_swapchain"),
318         std::make_tuple(0, 1, 0, "VK_KHR_shader_terminate_invocation", "VK_KHR_get_physical_device_properties2"),
319         std::make_tuple(0, 1, 0, "VK_EXT_fragment_density_map", "VK_KHR_get_physical_device_properties2"),
320         std::make_tuple(0, 1, 0, "VK_EXT_scalar_block_layout", "VK_KHR_get_physical_device_properties2"),
321         std::make_tuple(0, 1, 0, "VK_KHR_fragment_shading_rate", "VK_KHR_create_renderpass2"),
322         std::make_tuple(0, 1, 0, "VK_KHR_fragment_shading_rate", "VK_KHR_get_physical_device_properties2"),
323         std::make_tuple(0, 1, 1, "VK_KHR_fragment_shading_rate", "VK_KHR_create_renderpass2"),
324         std::make_tuple(0, 1, 0, "VK_AMD_shader_core_properties2", "VK_AMD_shader_core_properties"),
325         std::make_tuple(0, 1, 1, "VK_AMD_shader_core_properties2", "VK_AMD_shader_core_properties"),
326         std::make_tuple(0, 1, 2, "VK_AMD_shader_core_properties2", "VK_AMD_shader_core_properties"),
327         std::make_tuple(0, 1, 3, "VK_AMD_shader_core_properties2", "VK_AMD_shader_core_properties"),
328         std::make_tuple(0, 1, 0, "VK_EXT_shader_image_atomic_int64", "VK_KHR_get_physical_device_properties2"),
329         std::make_tuple(0, 1, 1, "VK_KHR_spirv_1_4", "VK_KHR_shader_float_controls"),
330         std::make_tuple(0, 1, 0, "VK_EXT_memory_budget", "VK_KHR_get_physical_device_properties2"),
331         std::make_tuple(0, 1, 0, "VK_EXT_memory_priority", "VK_KHR_get_physical_device_properties2"),
332         std::make_tuple(0, 1, 0, "VK_NV_dedicated_allocation_image_aliasing", "VK_KHR_dedicated_allocation"),
333         std::make_tuple(0, 1, 0, "VK_KHR_separate_depth_stencil_layouts", "VK_KHR_get_physical_device_properties2"),
334         std::make_tuple(0, 1, 0, "VK_KHR_separate_depth_stencil_layouts", "VK_KHR_create_renderpass2"),
335         std::make_tuple(0, 1, 1, "VK_KHR_separate_depth_stencil_layouts", "VK_KHR_create_renderpass2"),
336         std::make_tuple(0, 1, 0, "VK_EXT_buffer_device_address", "VK_KHR_get_physical_device_properties2"),
337         std::make_tuple(0, 1, 0, "VK_KHR_present_wait", "VK_KHR_swapchain"),
338         std::make_tuple(0, 1, 0, "VK_KHR_present_wait", "VK_KHR_present_id"),
339         std::make_tuple(0, 1, 1, "VK_KHR_present_wait", "VK_KHR_swapchain"),
340         std::make_tuple(0, 1, 1, "VK_KHR_present_wait", "VK_KHR_present_id"),
341         std::make_tuple(0, 1, 2, "VK_KHR_present_wait", "VK_KHR_swapchain"),
342         std::make_tuple(0, 1, 2, "VK_KHR_present_wait", "VK_KHR_present_id"),
343         std::make_tuple(0, 1, 3, "VK_KHR_present_wait", "VK_KHR_swapchain"),
344         std::make_tuple(0, 1, 3, "VK_KHR_present_wait", "VK_KHR_present_id"),
345         std::make_tuple(0, 1, 0, "VK_NV_cooperative_matrix", "VK_KHR_get_physical_device_properties2"),
346         std::make_tuple(0, 1, 0, "VK_NV_coverage_reduction_mode", "VK_NV_framebuffer_mixed_samples"),
347         std::make_tuple(0, 1, 1, "VK_NV_coverage_reduction_mode", "VK_NV_framebuffer_mixed_samples"),
348         std::make_tuple(0, 1, 2, "VK_NV_coverage_reduction_mode", "VK_NV_framebuffer_mixed_samples"),
349         std::make_tuple(0, 1, 3, "VK_NV_coverage_reduction_mode", "VK_NV_framebuffer_mixed_samples"),
350         std::make_tuple(0, 1, 0, "VK_EXT_fragment_shader_interlock", "VK_KHR_get_physical_device_properties2"),
351         std::make_tuple(0, 1, 0, "VK_EXT_ycbcr_image_arrays", "VK_KHR_sampler_ycbcr_conversion"),
352         std::make_tuple(0, 1, 0, "VK_KHR_uniform_buffer_standard_layout", "VK_KHR_get_physical_device_properties2"),
353         std::make_tuple(0, 1, 0, "VK_EXT_provoking_vertex", "VK_KHR_get_physical_device_properties2"),
354         std::make_tuple(0, 1, 0, "VK_EXT_full_screen_exclusive", "VK_KHR_get_physical_device_properties2"),
355         std::make_tuple(0, 1, 0, "VK_EXT_full_screen_exclusive", "VK_KHR_surface"),
356         std::make_tuple(0, 1, 0, "VK_EXT_full_screen_exclusive", "VK_KHR_get_surface_capabilities2"),
357         std::make_tuple(0, 1, 0, "VK_EXT_full_screen_exclusive", "VK_KHR_swapchain"),
358         std::make_tuple(0, 1, 1, "VK_EXT_full_screen_exclusive", "VK_KHR_surface"),
359         std::make_tuple(0, 1, 1, "VK_EXT_full_screen_exclusive", "VK_KHR_get_surface_capabilities2"),
360         std::make_tuple(0, 1, 1, "VK_EXT_full_screen_exclusive", "VK_KHR_swapchain"),
361         std::make_tuple(0, 1, 2, "VK_EXT_full_screen_exclusive", "VK_KHR_surface"),
362         std::make_tuple(0, 1, 2, "VK_EXT_full_screen_exclusive", "VK_KHR_get_surface_capabilities2"),
363         std::make_tuple(0, 1, 2, "VK_EXT_full_screen_exclusive", "VK_KHR_swapchain"),
364         std::make_tuple(0, 1, 3, "VK_EXT_full_screen_exclusive", "VK_KHR_surface"),
365         std::make_tuple(0, 1, 3, "VK_EXT_full_screen_exclusive", "VK_KHR_get_surface_capabilities2"),
366         std::make_tuple(0, 1, 3, "VK_EXT_full_screen_exclusive", "VK_KHR_swapchain"),
367         std::make_tuple(0, 1, 0, "VK_KHR_buffer_device_address", "VK_KHR_get_physical_device_properties2"),
368         std::make_tuple(0, 1, 0, "VK_EXT_line_rasterization", "VK_KHR_get_physical_device_properties2"),
369         std::make_tuple(0, 1, 0, "VK_EXT_shader_atomic_float", "VK_KHR_get_physical_device_properties2"),
370         std::make_tuple(0, 1, 0, "VK_EXT_host_query_reset", "VK_KHR_get_physical_device_properties2"),
371         std::make_tuple(0, 1, 0, "VK_EXT_extended_dynamic_state", "VK_KHR_get_physical_device_properties2"),
372         std::make_tuple(0, 1, 0, "VK_KHR_pipeline_executable_properties", "VK_KHR_get_physical_device_properties2"),
373         std::make_tuple(0, 1, 0, "VK_EXT_shader_atomic_float2", "VK_EXT_shader_atomic_float"),
374         std::make_tuple(0, 1, 1, "VK_EXT_shader_atomic_float2", "VK_EXT_shader_atomic_float"),
375         std::make_tuple(0, 1, 2, "VK_EXT_shader_atomic_float2", "VK_EXT_shader_atomic_float"),
376         std::make_tuple(0, 1, 3, "VK_EXT_shader_atomic_float2", "VK_EXT_shader_atomic_float"),
377         std::make_tuple(0, 1, 0, "VK_EXT_shader_demote_to_helper_invocation", "VK_KHR_get_physical_device_properties2"),
378         std::make_tuple(0, 1, 1, "VK_NV_device_generated_commands", "VK_KHR_buffer_device_address"),
379         std::make_tuple(0, 1, 0, "VK_KHR_shader_integer_dot_product", "VK_KHR_get_physical_device_properties2"),
380         std::make_tuple(0, 1, 0, "VK_EXT_texel_buffer_alignment", "VK_KHR_get_physical_device_properties2"),
381         std::make_tuple(0, 1, 0, "VK_QCOM_render_pass_transform", "VK_KHR_swapchain"),
382         std::make_tuple(0, 1, 0, "VK_QCOM_render_pass_transform", "VK_KHR_surface"),
383         std::make_tuple(0, 1, 1, "VK_QCOM_render_pass_transform", "VK_KHR_swapchain"),
384         std::make_tuple(0, 1, 1, "VK_QCOM_render_pass_transform", "VK_KHR_surface"),
385         std::make_tuple(0, 1, 2, "VK_QCOM_render_pass_transform", "VK_KHR_swapchain"),
386         std::make_tuple(0, 1, 2, "VK_QCOM_render_pass_transform", "VK_KHR_surface"),
387         std::make_tuple(0, 1, 3, "VK_QCOM_render_pass_transform", "VK_KHR_swapchain"),
388         std::make_tuple(0, 1, 3, "VK_QCOM_render_pass_transform", "VK_KHR_surface"),
389         std::make_tuple(0, 1, 0, "VK_EXT_device_memory_report", "VK_KHR_get_physical_device_properties2"),
390         std::make_tuple(0, 1, 0, "VK_KHR_present_id", "VK_KHR_swapchain"),
391         std::make_tuple(0, 1, 1, "VK_KHR_present_id", "VK_KHR_swapchain"),
392         std::make_tuple(0, 1, 2, "VK_KHR_present_id", "VK_KHR_swapchain"),
393         std::make_tuple(0, 1, 3, "VK_KHR_present_id", "VK_KHR_swapchain"),
394         std::make_tuple(0, 1, 0, "VK_KHR_video_encode_queue", "VK_KHR_video_queue"),
395         std::make_tuple(0, 1, 0, "VK_KHR_video_encode_queue", "VK_KHR_synchronization2"),
396         std::make_tuple(0, 1, 1, "VK_KHR_video_encode_queue", "VK_KHR_video_queue"),
397         std::make_tuple(0, 1, 1, "VK_KHR_video_encode_queue", "VK_KHR_synchronization2"),
398         std::make_tuple(0, 1, 2, "VK_KHR_video_encode_queue", "VK_KHR_video_queue"),
399         std::make_tuple(0, 1, 2, "VK_KHR_video_encode_queue", "VK_KHR_synchronization2"),
400         std::make_tuple(0, 1, 3, "VK_KHR_video_encode_queue", "VK_KHR_video_queue"),
401         std::make_tuple(0, 1, 0, "VK_NV_device_diagnostics_config", "VK_KHR_get_physical_device_properties2"),
402         std::make_tuple(0, 1, 0, "VK_KHR_synchronization2", "VK_KHR_get_physical_device_properties2"),
403         std::make_tuple(0, 1, 0, "VK_EXT_graphics_pipeline_library", "VK_KHR_get_physical_device_properties2"),
404         std::make_tuple(0, 1, 0, "VK_EXT_graphics_pipeline_library", "VK_KHR_pipeline_library"),
405         std::make_tuple(0, 1, 1, "VK_EXT_graphics_pipeline_library", "VK_KHR_pipeline_library"),
406         std::make_tuple(0, 1, 2, "VK_EXT_graphics_pipeline_library", "VK_KHR_pipeline_library"),
407         std::make_tuple(0, 1, 3, "VK_EXT_graphics_pipeline_library", "VK_KHR_pipeline_library"),
408         std::make_tuple(0, 1, 0, "VK_KHR_fragment_shader_barycentric", "VK_KHR_get_physical_device_properties2"),
409         std::make_tuple(0, 1, 0, "VK_KHR_zero_initialize_workgroup_memory", "VK_KHR_get_physical_device_properties2"),
410         std::make_tuple(0, 1, 0, "VK_NV_fragment_shading_rate_enums", "VK_KHR_fragment_shading_rate"),
411         std::make_tuple(0, 1, 1, "VK_NV_fragment_shading_rate_enums", "VK_KHR_fragment_shading_rate"),
412         std::make_tuple(0, 1, 2, "VK_NV_fragment_shading_rate_enums", "VK_KHR_fragment_shading_rate"),
413         std::make_tuple(0, 1, 3, "VK_NV_fragment_shading_rate_enums", "VK_KHR_fragment_shading_rate"),
414         std::make_tuple(0, 1, 0, "VK_NV_ray_tracing_motion_blur", "VK_KHR_ray_tracing_pipeline"),
415         std::make_tuple(0, 1, 1, "VK_NV_ray_tracing_motion_blur", "VK_KHR_ray_tracing_pipeline"),
416         std::make_tuple(0, 1, 2, "VK_NV_ray_tracing_motion_blur", "VK_KHR_ray_tracing_pipeline"),
417         std::make_tuple(0, 1, 3, "VK_NV_ray_tracing_motion_blur", "VK_KHR_ray_tracing_pipeline"),
418         std::make_tuple(0, 1, 0, "VK_EXT_mesh_shader", "VK_KHR_get_physical_device_properties2"),
419         std::make_tuple(0, 1, 0, "VK_EXT_mesh_shader", "VK_KHR_spirv_1_4"),
420         std::make_tuple(0, 1, 1, "VK_EXT_mesh_shader", "VK_KHR_spirv_1_4"),
421         std::make_tuple(0, 1, 0, "VK_EXT_ycbcr_2plane_444_formats", "VK_KHR_sampler_ycbcr_conversion"),
422         std::make_tuple(0, 1, 0, "VK_EXT_fragment_density_map2", "VK_EXT_fragment_density_map"),
423         std::make_tuple(0, 1, 1, "VK_EXT_fragment_density_map2", "VK_EXT_fragment_density_map"),
424         std::make_tuple(0, 1, 2, "VK_EXT_fragment_density_map2", "VK_EXT_fragment_density_map"),
425         std::make_tuple(0, 1, 3, "VK_EXT_fragment_density_map2", "VK_EXT_fragment_density_map"),
426         std::make_tuple(0, 1, 0, "VK_QCOM_rotated_copy_commands", "VK_KHR_swapchain"),
427         std::make_tuple(0, 1, 0, "VK_QCOM_rotated_copy_commands", "VK_KHR_copy_commands2"),
428         std::make_tuple(0, 1, 1, "VK_QCOM_rotated_copy_commands", "VK_KHR_swapchain"),
429         std::make_tuple(0, 1, 1, "VK_QCOM_rotated_copy_commands", "VK_KHR_copy_commands2"),
430         std::make_tuple(0, 1, 2, "VK_QCOM_rotated_copy_commands", "VK_KHR_swapchain"),
431         std::make_tuple(0, 1, 2, "VK_QCOM_rotated_copy_commands", "VK_KHR_copy_commands2"),
432         std::make_tuple(0, 1, 3, "VK_QCOM_rotated_copy_commands", "VK_KHR_swapchain"),
433         std::make_tuple(0, 1, 0, "VK_EXT_image_robustness", "VK_KHR_get_physical_device_properties2"),
434         std::make_tuple(0, 1, 0, "VK_KHR_workgroup_memory_explicit_layout", "VK_KHR_get_physical_device_properties2"),
435         std::make_tuple(0, 1, 0, "VK_EXT_attachment_feedback_loop_layout", "VK_KHR_get_physical_device_properties2"),
436         std::make_tuple(0, 1, 0, "VK_EXT_4444_formats", "VK_KHR_get_physical_device_properties2"),
437         std::make_tuple(0, 1, 0, "VK_ARM_rasterization_order_attachment_access", "VK_KHR_get_physical_device_properties2"),
438         std::make_tuple(0, 1, 0, "VK_EXT_rgba10x6_formats", "VK_KHR_sampler_ycbcr_conversion"),
439         std::make_tuple(0, 1, 0, "VK_NV_acquire_winrt_display", "VK_EXT_direct_mode_display"),
440         std::make_tuple(0, 1, 1, "VK_NV_acquire_winrt_display", "VK_EXT_direct_mode_display"),
441         std::make_tuple(0, 1, 2, "VK_NV_acquire_winrt_display", "VK_EXT_direct_mode_display"),
442         std::make_tuple(0, 1, 3, "VK_NV_acquire_winrt_display", "VK_EXT_direct_mode_display"),
443         std::make_tuple(0, 1, 0, "VK_VALVE_mutable_descriptor_type", "VK_KHR_maintenance3"),
444         std::make_tuple(0, 1, 0, "VK_EXT_vertex_input_dynamic_state", "VK_KHR_get_physical_device_properties2"),
445         std::make_tuple(0, 1, 0, "VK_EXT_physical_device_drm", "VK_KHR_get_physical_device_properties2"),
446         std::make_tuple(0, 1, 0, "VK_EXT_depth_clip_control", "VK_KHR_get_physical_device_properties2"),
447         std::make_tuple(0, 1, 0, "VK_KHR_format_feature_flags2", "VK_KHR_get_physical_device_properties2"),
448         std::make_tuple(0, 1, 0, "VK_FUCHSIA_external_memory", "VK_KHR_external_memory_capabilities"),
449         std::make_tuple(0, 1, 0, "VK_FUCHSIA_external_memory", "VK_KHR_external_memory"),
450         std::make_tuple(0, 1, 0, "VK_FUCHSIA_external_semaphore", "VK_KHR_external_semaphore_capabilities"),
451         std::make_tuple(0, 1, 0, "VK_FUCHSIA_external_semaphore", "VK_KHR_external_semaphore"),
452         std::make_tuple(0, 1, 0, "VK_FUCHSIA_buffer_collection", "VK_FUCHSIA_external_memory"),
453         std::make_tuple(0, 1, 0, "VK_FUCHSIA_buffer_collection", "VK_KHR_sampler_ycbcr_conversion"),
454         std::make_tuple(0, 1, 1, "VK_FUCHSIA_buffer_collection", "VK_FUCHSIA_external_memory"),
455         std::make_tuple(0, 1, 2, "VK_FUCHSIA_buffer_collection", "VK_FUCHSIA_external_memory"),
456         std::make_tuple(0, 1, 3, "VK_FUCHSIA_buffer_collection", "VK_FUCHSIA_external_memory"),
457         std::make_tuple(0, 1, 0, "VK_HUAWEI_subpass_shading", "VK_KHR_create_renderpass2"),
458         std::make_tuple(0, 1, 0, "VK_HUAWEI_subpass_shading", "VK_KHR_synchronization2"),
459         std::make_tuple(0, 1, 1, "VK_HUAWEI_subpass_shading", "VK_KHR_create_renderpass2"),
460         std::make_tuple(0, 1, 1, "VK_HUAWEI_subpass_shading", "VK_KHR_synchronization2"),
461         std::make_tuple(0, 1, 2, "VK_HUAWEI_subpass_shading", "VK_KHR_synchronization2"),
462         std::make_tuple(0, 1, 0, "VK_HUAWEI_invocation_mask", "VK_KHR_ray_tracing_pipeline"),
463         std::make_tuple(0, 1, 0, "VK_HUAWEI_invocation_mask", "VK_KHR_synchronization2"),
464         std::make_tuple(0, 1, 1, "VK_HUAWEI_invocation_mask", "VK_KHR_ray_tracing_pipeline"),
465         std::make_tuple(0, 1, 1, "VK_HUAWEI_invocation_mask", "VK_KHR_synchronization2"),
466         std::make_tuple(0, 1, 2, "VK_HUAWEI_invocation_mask", "VK_KHR_ray_tracing_pipeline"),
467         std::make_tuple(0, 1, 2, "VK_HUAWEI_invocation_mask", "VK_KHR_synchronization2"),
468         std::make_tuple(0, 1, 3, "VK_HUAWEI_invocation_mask", "VK_KHR_ray_tracing_pipeline"),
469         std::make_tuple(0, 1, 0, "VK_NV_external_memory_rdma", "VK_KHR_external_memory"),
470         std::make_tuple(0, 1, 0, "VK_EXT_pipeline_properties", "VK_KHR_get_physical_device_properties2"),
471         std::make_tuple(0, 1, 0, "VK_EXT_multisampled_render_to_single_sampled", "VK_KHR_create_renderpass2"),
472         std::make_tuple(0, 1, 0, "VK_EXT_multisampled_render_to_single_sampled", "VK_KHR_depth_stencil_resolve"),
473         std::make_tuple(0, 1, 1, "VK_EXT_multisampled_render_to_single_sampled", "VK_KHR_create_renderpass2"),
474         std::make_tuple(0, 1, 1, "VK_EXT_multisampled_render_to_single_sampled", "VK_KHR_depth_stencil_resolve"),
475         std::make_tuple(0, 1, 0, "VK_EXT_extended_dynamic_state2", "VK_KHR_get_physical_device_properties2"),
476         std::make_tuple(0, 1, 0, "VK_EXT_color_write_enable", "VK_KHR_get_physical_device_properties2"),
477         std::make_tuple(0, 1, 0, "VK_EXT_primitives_generated_query", "VK_EXT_transform_feedback"),
478         std::make_tuple(0, 1, 1, "VK_EXT_primitives_generated_query", "VK_EXT_transform_feedback"),
479         std::make_tuple(0, 1, 2, "VK_EXT_primitives_generated_query", "VK_EXT_transform_feedback"),
480         std::make_tuple(0, 1, 3, "VK_EXT_primitives_generated_query", "VK_EXT_transform_feedback"),
481         std::make_tuple(0, 1, 1, "VK_KHR_ray_tracing_maintenance1", "VK_KHR_acceleration_structure"),
482         std::make_tuple(0, 1, 2, "VK_KHR_ray_tracing_maintenance1", "VK_KHR_acceleration_structure"),
483         std::make_tuple(0, 1, 3, "VK_KHR_ray_tracing_maintenance1", "VK_KHR_acceleration_structure"),
484         std::make_tuple(0, 1, 0, "VK_EXT_global_priority_query", "VK_EXT_global_priority"),
485         std::make_tuple(0, 1, 0, "VK_EXT_global_priority_query", "VK_KHR_get_physical_device_properties2"),
486         std::make_tuple(0, 1, 1, "VK_EXT_global_priority_query", "VK_EXT_global_priority"),
487         std::make_tuple(0, 1, 2, "VK_EXT_global_priority_query", "VK_EXT_global_priority"),
488         std::make_tuple(0, 1, 3, "VK_EXT_global_priority_query", "VK_EXT_global_priority"),
489         std::make_tuple(0, 1, 0, "VK_EXT_image_view_min_lod", "VK_KHR_get_physical_device_properties2"),
490         std::make_tuple(0, 1, 0, "VK_EXT_image_2d_view_of_3d", "VK_KHR_maintenance1"),
491         std::make_tuple(0, 1, 0, "VK_EXT_image_2d_view_of_3d", "VK_KHR_get_physical_device_properties2"),
492         std::make_tuple(0, 1, 0, "VK_EXT_border_color_swizzle", "VK_EXT_custom_border_color"),
493         std::make_tuple(0, 1, 1, "VK_EXT_border_color_swizzle", "VK_EXT_custom_border_color"),
494         std::make_tuple(0, 1, 2, "VK_EXT_border_color_swizzle", "VK_EXT_custom_border_color"),
495         std::make_tuple(0, 1, 3, "VK_EXT_border_color_swizzle", "VK_EXT_custom_border_color"),
496         std::make_tuple(0, 1, 0, "VK_EXT_pageable_device_local_memory", "VK_EXT_memory_priority"),
497         std::make_tuple(0, 1, 1, "VK_EXT_pageable_device_local_memory", "VK_EXT_memory_priority"),
498         std::make_tuple(0, 1, 2, "VK_EXT_pageable_device_local_memory", "VK_EXT_memory_priority"),
499         std::make_tuple(0, 1, 3, "VK_EXT_pageable_device_local_memory", "VK_EXT_memory_priority"),
500         std::make_tuple(0, 1, 0, "VK_QCOM_fragment_density_map_offset", "VK_KHR_get_physical_device_properties2"),
501         std::make_tuple(0, 1, 0, "VK_QCOM_fragment_density_map_offset", "VK_EXT_fragment_density_map"),
502         std::make_tuple(0, 1, 1, "VK_QCOM_fragment_density_map_offset", "VK_EXT_fragment_density_map"),
503         std::make_tuple(0, 1, 2, "VK_QCOM_fragment_density_map_offset", "VK_EXT_fragment_density_map"),
504         std::make_tuple(0, 1, 3, "VK_QCOM_fragment_density_map_offset", "VK_EXT_fragment_density_map"),
505         std::make_tuple(0, 1, 0, "VK_EXT_image_compression_control_swapchain", "VK_EXT_image_compression_control"),
506         std::make_tuple(0, 1, 1, "VK_EXT_image_compression_control_swapchain", "VK_EXT_image_compression_control"),
507         std::make_tuple(0, 1, 2, "VK_EXT_image_compression_control_swapchain", "VK_EXT_image_compression_control"),
508         std::make_tuple(0, 1, 3, "VK_EXT_image_compression_control_swapchain", "VK_EXT_image_compression_control"),
509         std::make_tuple(0, 1, 0, "VK_QCOM_image_processing", "VK_KHR_format_feature_flags2"),
510         std::make_tuple(0, 1, 1, "VK_QCOM_image_processing", "VK_KHR_format_feature_flags2"),
511         std::make_tuple(0, 1, 2, "VK_QCOM_image_processing", "VK_KHR_format_feature_flags2"),
512         std::make_tuple(0, 1, 0, "VK_EXT_shader_module_identifier", "VK_KHR_get_physical_device_properties2"),
513         std::make_tuple(0, 1, 0, "VK_EXT_shader_module_identifier", "VK_EXT_pipeline_creation_cache_control"),
514         std::make_tuple(0, 1, 1, "VK_EXT_shader_module_identifier", "VK_EXT_pipeline_creation_cache_control"),
515         std::make_tuple(0, 1, 2, "VK_EXT_shader_module_identifier", "VK_EXT_pipeline_creation_cache_control"),
516         std::make_tuple(0, 1, 0, "VK_EXT_rasterization_order_attachment_access", "VK_KHR_get_physical_device_properties2"),
517         std::make_tuple(0, 1, 0, "VK_EXT_legacy_dithering", "VK_KHR_get_physical_device_properties2"),
518         std::make_tuple(0, 1, 0, "VK_QCOM_tile_properties", "VK_KHR_get_physical_device_properties2"),
519         std::make_tuple(0, 1, 0, "VK_SEC_amigo_profiling", "VK_KHR_get_physical_device_properties2"),
520 };
521 static const std::tuple<deUint32, deUint32, deUint32, deUint32> releasedApiVersions[]   =
522 {
523         std::make_tuple(4206592, 0, 1, 3),
524         std::make_tuple(4202496, 0, 1, 2),
525         std::make_tuple(4198400, 0, 1, 1),
526         std::make_tuple(4194304, 0, 1, 0),
527 };
528 static const std::tuple<deUint32, deUint32, const char*>        extensionRequiredCoreVersion[]   =
529 {
530         std::make_tuple(1, 0, "VK_KHR_surface"),
531         std::make_tuple(1, 0, "VK_KHR_swapchain"),
532         std::make_tuple(1, 0, "VK_KHR_display"),
533         std::make_tuple(1, 0, "VK_KHR_display_swapchain"),
534         std::make_tuple(1, 0, "VK_KHR_xlib_surface"),
535         std::make_tuple(1, 0, "VK_KHR_xcb_surface"),
536         std::make_tuple(1, 0, "VK_KHR_wayland_surface"),
537         std::make_tuple(1, 0, "VK_KHR_android_surface"),
538         std::make_tuple(1, 0, "VK_KHR_win32_surface"),
539         std::make_tuple(1, 0, "VK_EXT_debug_report"),
540         std::make_tuple(1, 0, "VK_NV_glsl_shader"),
541         std::make_tuple(1, 0, "VK_EXT_depth_range_unrestricted"),
542         std::make_tuple(1, 0, "VK_KHR_sampler_mirror_clamp_to_edge"),
543         std::make_tuple(1, 0, "VK_IMG_filter_cubic"),
544         std::make_tuple(1, 0, "VK_AMD_rasterization_order"),
545         std::make_tuple(1, 0, "VK_AMD_shader_trinary_minmax"),
546         std::make_tuple(1, 0, "VK_AMD_shader_explicit_vertex_parameter"),
547         std::make_tuple(1, 0, "VK_EXT_debug_marker"),
548         std::make_tuple(1, 1, "VK_KHR_video_queue"),
549         std::make_tuple(1, 0, "VK_KHR_video_decode_queue"),
550         std::make_tuple(1, 0, "VK_AMD_gcn_shader"),
551         std::make_tuple(1, 0, "VK_NV_dedicated_allocation"),
552         std::make_tuple(1, 0, "VK_EXT_transform_feedback"),
553         std::make_tuple(1, 0, "VK_NVX_binary_import"),
554         std::make_tuple(1, 0, "VK_NVX_image_view_handle"),
555         std::make_tuple(1, 0, "VK_AMD_draw_indirect_count"),
556         std::make_tuple(1, 0, "VK_AMD_negative_viewport_height"),
557         std::make_tuple(1, 0, "VK_AMD_gpu_shader_half_float"),
558         std::make_tuple(1, 0, "VK_AMD_shader_ballot"),
559         std::make_tuple(1, 0, "VK_EXT_video_encode_h264"),
560         std::make_tuple(1, 0, "VK_EXT_video_encode_h265"),
561         std::make_tuple(1, 0, "VK_EXT_video_decode_h264"),
562         std::make_tuple(1, 0, "VK_AMD_texture_gather_bias_lod"),
563         std::make_tuple(1, 0, "VK_AMD_shader_info"),
564         std::make_tuple(1, 0, "VK_KHR_dynamic_rendering"),
565         std::make_tuple(1, 0, "VK_AMD_shader_image_load_store_lod"),
566         std::make_tuple(1, 0, "VK_GGP_stream_descriptor_surface"),
567         std::make_tuple(1, 0, "VK_NV_corner_sampled_image"),
568         std::make_tuple(1, 0, "VK_KHR_multiview"),
569         std::make_tuple(1, 0, "VK_IMG_format_pvrtc"),
570         std::make_tuple(1, 0, "VK_NV_external_memory_capabilities"),
571         std::make_tuple(1, 0, "VK_NV_external_memory"),
572         std::make_tuple(1, 0, "VK_NV_external_memory_win32"),
573         std::make_tuple(1, 0, "VK_NV_win32_keyed_mutex"),
574         std::make_tuple(1, 0, "VK_KHR_get_physical_device_properties2"),
575         std::make_tuple(1, 0, "VK_KHR_device_group"),
576         std::make_tuple(1, 0, "VK_EXT_validation_flags"),
577         std::make_tuple(1, 0, "VK_NN_vi_surface"),
578         std::make_tuple(1, 0, "VK_KHR_shader_draw_parameters"),
579         std::make_tuple(1, 0, "VK_EXT_shader_subgroup_ballot"),
580         std::make_tuple(1, 0, "VK_EXT_shader_subgroup_vote"),
581         std::make_tuple(1, 0, "VK_EXT_texture_compression_astc_hdr"),
582         std::make_tuple(1, 0, "VK_EXT_astc_decode_mode"),
583         std::make_tuple(1, 0, "VK_EXT_pipeline_robustness"),
584         std::make_tuple(1, 0, "VK_KHR_maintenance1"),
585         std::make_tuple(1, 0, "VK_KHR_device_group_creation"),
586         std::make_tuple(1, 0, "VK_KHR_external_memory_capabilities"),
587         std::make_tuple(1, 0, "VK_KHR_external_memory"),
588         std::make_tuple(1, 0, "VK_KHR_external_memory_win32"),
589         std::make_tuple(1, 0, "VK_KHR_external_memory_fd"),
590         std::make_tuple(1, 0, "VK_KHR_win32_keyed_mutex"),
591         std::make_tuple(1, 0, "VK_KHR_external_semaphore_capabilities"),
592         std::make_tuple(1, 0, "VK_KHR_external_semaphore"),
593         std::make_tuple(1, 0, "VK_KHR_external_semaphore_win32"),
594         std::make_tuple(1, 0, "VK_KHR_external_semaphore_fd"),
595         std::make_tuple(1, 0, "VK_KHR_push_descriptor"),
596         std::make_tuple(1, 0, "VK_EXT_conditional_rendering"),
597         std::make_tuple(1, 0, "VK_KHR_shader_float16_int8"),
598         std::make_tuple(1, 0, "VK_KHR_16bit_storage"),
599         std::make_tuple(1, 0, "VK_KHR_incremental_present"),
600         std::make_tuple(1, 0, "VK_KHR_descriptor_update_template"),
601         std::make_tuple(1, 0, "VK_NV_clip_space_w_scaling"),
602         std::make_tuple(1, 0, "VK_EXT_direct_mode_display"),
603         std::make_tuple(1, 0, "VK_EXT_acquire_xlib_display"),
604         std::make_tuple(1, 0, "VK_EXT_display_surface_counter"),
605         std::make_tuple(1, 0, "VK_EXT_display_control"),
606         std::make_tuple(1, 0, "VK_GOOGLE_display_timing"),
607         std::make_tuple(1, 0, "VK_NV_sample_mask_override_coverage"),
608         std::make_tuple(1, 0, "VK_NV_geometry_shader_passthrough"),
609         std::make_tuple(1, 0, "VK_NV_viewport_array2"),
610         std::make_tuple(1, 0, "VK_NVX_multiview_per_view_attributes"),
611         std::make_tuple(1, 0, "VK_NV_viewport_swizzle"),
612         std::make_tuple(1, 0, "VK_EXT_discard_rectangles"),
613         std::make_tuple(1, 0, "VK_EXT_conservative_rasterization"),
614         std::make_tuple(1, 0, "VK_EXT_depth_clip_enable"),
615         std::make_tuple(1, 0, "VK_EXT_swapchain_colorspace"),
616         std::make_tuple(1, 0, "VK_EXT_hdr_metadata"),
617         std::make_tuple(1, 0, "VK_KHR_imageless_framebuffer"),
618         std::make_tuple(1, 0, "VK_KHR_create_renderpass2"),
619         std::make_tuple(1, 0, "VK_KHR_shared_presentable_image"),
620         std::make_tuple(1, 0, "VK_KHR_external_fence_capabilities"),
621         std::make_tuple(1, 0, "VK_KHR_external_fence"),
622         std::make_tuple(1, 0, "VK_KHR_external_fence_win32"),
623         std::make_tuple(1, 0, "VK_KHR_external_fence_fd"),
624         std::make_tuple(1, 0, "VK_KHR_performance_query"),
625         std::make_tuple(1, 0, "VK_KHR_maintenance2"),
626         std::make_tuple(1, 0, "VK_KHR_get_surface_capabilities2"),
627         std::make_tuple(1, 0, "VK_KHR_variable_pointers"),
628         std::make_tuple(1, 0, "VK_KHR_get_display_properties2"),
629         std::make_tuple(1, 0, "VK_MVK_ios_surface"),
630         std::make_tuple(1, 0, "VK_MVK_macos_surface"),
631         std::make_tuple(1, 0, "VK_EXT_external_memory_dma_buf"),
632         std::make_tuple(1, 0, "VK_EXT_queue_family_foreign"),
633         std::make_tuple(1, 0, "VK_KHR_dedicated_allocation"),
634         std::make_tuple(1, 0, "VK_EXT_debug_utils"),
635         std::make_tuple(1, 0, "VK_ANDROID_external_memory_android_hardware_buffer"),
636         std::make_tuple(1, 0, "VK_EXT_sampler_filter_minmax"),
637         std::make_tuple(1, 0, "VK_KHR_storage_buffer_storage_class"),
638         std::make_tuple(1, 0, "VK_AMD_gpu_shader_int16"),
639         std::make_tuple(1, 0, "VK_AMD_mixed_attachment_samples"),
640         std::make_tuple(1, 0, "VK_AMD_shader_fragment_mask"),
641         std::make_tuple(1, 0, "VK_EXT_inline_uniform_block"),
642         std::make_tuple(1, 0, "VK_EXT_shader_stencil_export"),
643         std::make_tuple(1, 0, "VK_EXT_sample_locations"),
644         std::make_tuple(1, 0, "VK_KHR_relaxed_block_layout"),
645         std::make_tuple(1, 0, "VK_KHR_get_memory_requirements2"),
646         std::make_tuple(1, 0, "VK_KHR_image_format_list"),
647         std::make_tuple(1, 0, "VK_EXT_blend_operation_advanced"),
648         std::make_tuple(1, 0, "VK_NV_fragment_coverage_to_color"),
649         std::make_tuple(1, 1, "VK_KHR_acceleration_structure"),
650         std::make_tuple(1, 1, "VK_KHR_ray_tracing_pipeline"),
651         std::make_tuple(1, 1, "VK_KHR_ray_query"),
652         std::make_tuple(1, 0, "VK_NV_framebuffer_mixed_samples"),
653         std::make_tuple(1, 0, "VK_NV_fill_rectangle"),
654         std::make_tuple(1, 1, "VK_NV_shader_sm_builtins"),
655         std::make_tuple(1, 0, "VK_EXT_post_depth_coverage"),
656         std::make_tuple(1, 0, "VK_KHR_sampler_ycbcr_conversion"),
657         std::make_tuple(1, 0, "VK_KHR_bind_memory2"),
658         std::make_tuple(1, 0, "VK_EXT_image_drm_format_modifier"),
659         std::make_tuple(1, 0, "VK_EXT_validation_cache"),
660         std::make_tuple(1, 0, "VK_EXT_descriptor_indexing"),
661         std::make_tuple(1, 0, "VK_EXT_shader_viewport_index_layer"),
662         std::make_tuple(1, 0, "VK_KHR_portability_subset"),
663         std::make_tuple(1, 0, "VK_NV_shading_rate_image"),
664         std::make_tuple(1, 0, "VK_NV_ray_tracing"),
665         std::make_tuple(1, 0, "VK_NV_representative_fragment_test"),
666         std::make_tuple(1, 0, "VK_KHR_maintenance3"),
667         std::make_tuple(1, 0, "VK_KHR_draw_indirect_count"),
668         std::make_tuple(1, 0, "VK_EXT_filter_cubic"),
669         std::make_tuple(1, 0, "VK_QCOM_render_pass_shader_resolve"),
670         std::make_tuple(1, 0, "VK_EXT_global_priority"),
671         std::make_tuple(1, 1, "VK_KHR_shader_subgroup_extended_types"),
672         std::make_tuple(1, 0, "VK_KHR_8bit_storage"),
673         std::make_tuple(1, 0, "VK_EXT_external_memory_host"),
674         std::make_tuple(1, 0, "VK_AMD_buffer_marker"),
675         std::make_tuple(1, 0, "VK_KHR_shader_atomic_int64"),
676         std::make_tuple(1, 0, "VK_KHR_shader_clock"),
677         std::make_tuple(1, 0, "VK_AMD_pipeline_compiler_control"),
678         std::make_tuple(1, 0, "VK_EXT_calibrated_timestamps"),
679         std::make_tuple(1, 0, "VK_AMD_shader_core_properties"),
680         std::make_tuple(1, 0, "VK_EXT_video_decode_h265"),
681         std::make_tuple(1, 0, "VK_KHR_global_priority"),
682         std::make_tuple(1, 0, "VK_AMD_memory_overallocation_behavior"),
683         std::make_tuple(1, 0, "VK_EXT_vertex_attribute_divisor"),
684         std::make_tuple(1, 0, "VK_GGP_frame_token"),
685         std::make_tuple(1, 0, "VK_EXT_pipeline_creation_feedback"),
686         std::make_tuple(1, 0, "VK_KHR_driver_properties"),
687         std::make_tuple(1, 0, "VK_KHR_shader_float_controls"),
688         std::make_tuple(1, 1, "VK_NV_shader_subgroup_partitioned"),
689         std::make_tuple(1, 0, "VK_KHR_depth_stencil_resolve"),
690         std::make_tuple(1, 0, "VK_KHR_swapchain_mutable_format"),
691         std::make_tuple(1, 0, "VK_NV_compute_shader_derivatives"),
692         std::make_tuple(1, 0, "VK_NV_mesh_shader"),
693         std::make_tuple(1, 0, "VK_NV_fragment_shader_barycentric"),
694         std::make_tuple(1, 0, "VK_NV_shader_image_footprint"),
695         std::make_tuple(1, 0, "VK_NV_scissor_exclusive"),
696         std::make_tuple(1, 0, "VK_NV_device_diagnostic_checkpoints"),
697         std::make_tuple(1, 0, "VK_KHR_timeline_semaphore"),
698         std::make_tuple(1, 0, "VK_INTEL_shader_integer_functions2"),
699         std::make_tuple(1, 0, "VK_INTEL_performance_query"),
700         std::make_tuple(1, 0, "VK_KHR_vulkan_memory_model"),
701         std::make_tuple(1, 0, "VK_EXT_pci_bus_info"),
702         std::make_tuple(1, 0, "VK_AMD_display_native_hdr"),
703         std::make_tuple(1, 0, "VK_FUCHSIA_imagepipe_surface"),
704         std::make_tuple(1, 0, "VK_KHR_shader_terminate_invocation"),
705         std::make_tuple(1, 0, "VK_EXT_metal_surface"),
706         std::make_tuple(1, 0, "VK_EXT_fragment_density_map"),
707         std::make_tuple(1, 0, "VK_EXT_scalar_block_layout"),
708         std::make_tuple(1, 0, "VK_GOOGLE_hlsl_functionality1"),
709         std::make_tuple(1, 0, "VK_GOOGLE_decorate_string"),
710         std::make_tuple(1, 1, "VK_EXT_subgroup_size_control"),
711         std::make_tuple(1, 0, "VK_KHR_fragment_shading_rate"),
712         std::make_tuple(1, 0, "VK_AMD_shader_core_properties2"),
713         std::make_tuple(1, 0, "VK_AMD_device_coherent_memory"),
714         std::make_tuple(1, 0, "VK_EXT_shader_image_atomic_int64"),
715         std::make_tuple(1, 1, "VK_KHR_spirv_1_4"),
716         std::make_tuple(1, 0, "VK_EXT_memory_budget"),
717         std::make_tuple(1, 0, "VK_EXT_memory_priority"),
718         std::make_tuple(1, 1, "VK_KHR_surface_protected_capabilities"),
719         std::make_tuple(1, 0, "VK_NV_dedicated_allocation_image_aliasing"),
720         std::make_tuple(1, 0, "VK_KHR_separate_depth_stencil_layouts"),
721         std::make_tuple(1, 0, "VK_EXT_buffer_device_address"),
722         std::make_tuple(1, 0, "VK_EXT_tooling_info"),
723         std::make_tuple(1, 0, "VK_EXT_separate_stencil_usage"),
724         std::make_tuple(1, 0, "VK_EXT_validation_features"),
725         std::make_tuple(1, 0, "VK_KHR_present_wait"),
726         std::make_tuple(1, 0, "VK_NV_cooperative_matrix"),
727         std::make_tuple(1, 0, "VK_NV_coverage_reduction_mode"),
728         std::make_tuple(1, 0, "VK_EXT_fragment_shader_interlock"),
729         std::make_tuple(1, 0, "VK_EXT_ycbcr_image_arrays"),
730         std::make_tuple(1, 0, "VK_KHR_uniform_buffer_standard_layout"),
731         std::make_tuple(1, 0, "VK_EXT_provoking_vertex"),
732         std::make_tuple(1, 0, "VK_EXT_full_screen_exclusive"),
733         std::make_tuple(1, 0, "VK_EXT_headless_surface"),
734         std::make_tuple(1, 0, "VK_KHR_buffer_device_address"),
735         std::make_tuple(1, 0, "VK_EXT_line_rasterization"),
736         std::make_tuple(1, 0, "VK_EXT_shader_atomic_float"),
737         std::make_tuple(1, 0, "VK_EXT_host_query_reset"),
738         std::make_tuple(1, 0, "VK_EXT_index_type_uint8"),
739         std::make_tuple(1, 0, "VK_EXT_extended_dynamic_state"),
740         std::make_tuple(1, 0, "VK_KHR_deferred_host_operations"),
741         std::make_tuple(1, 0, "VK_KHR_pipeline_executable_properties"),
742         std::make_tuple(1, 0, "VK_EXT_shader_atomic_float2"),
743         std::make_tuple(1, 0, "VK_EXT_shader_demote_to_helper_invocation"),
744         std::make_tuple(1, 1, "VK_NV_device_generated_commands"),
745         std::make_tuple(1, 0, "VK_NV_inherited_viewport_scissor"),
746         std::make_tuple(1, 0, "VK_KHR_shader_integer_dot_product"),
747         std::make_tuple(1, 0, "VK_EXT_texel_buffer_alignment"),
748         std::make_tuple(1, 0, "VK_QCOM_render_pass_transform"),
749         std::make_tuple(1, 0, "VK_EXT_device_memory_report"),
750         std::make_tuple(1, 0, "VK_EXT_acquire_drm_display"),
751         std::make_tuple(1, 0, "VK_EXT_robustness2"),
752         std::make_tuple(1, 0, "VK_EXT_custom_border_color"),
753         std::make_tuple(1, 0, "VK_GOOGLE_user_type"),
754         std::make_tuple(1, 0, "VK_KHR_pipeline_library"),
755         std::make_tuple(1, 0, "VK_KHR_shader_non_semantic_info"),
756         std::make_tuple(1, 0, "VK_KHR_present_id"),
757         std::make_tuple(1, 0, "VK_EXT_private_data"),
758         std::make_tuple(1, 0, "VK_EXT_pipeline_creation_cache_control"),
759         std::make_tuple(1, 0, "VK_KHR_video_encode_queue"),
760         std::make_tuple(1, 0, "VK_NV_device_diagnostics_config"),
761         std::make_tuple(1, 0, "VK_QCOM_render_pass_store_ops"),
762         std::make_tuple(1, 0, "VK_EXT_metal_objects"),
763         std::make_tuple(1, 0, "VK_KHR_synchronization2"),
764         std::make_tuple(1, 0, "VK_EXT_graphics_pipeline_library"),
765         std::make_tuple(1, 0, "VK_AMD_shader_early_and_late_fragment_tests"),
766         std::make_tuple(1, 0, "VK_KHR_fragment_shader_barycentric"),
767         std::make_tuple(1, 1, "VK_KHR_shader_subgroup_uniform_control_flow"),
768         std::make_tuple(1, 0, "VK_KHR_zero_initialize_workgroup_memory"),
769         std::make_tuple(1, 0, "VK_NV_fragment_shading_rate_enums"),
770         std::make_tuple(1, 0, "VK_NV_ray_tracing_motion_blur"),
771         std::make_tuple(1, 0, "VK_EXT_mesh_shader"),
772         std::make_tuple(1, 0, "VK_EXT_ycbcr_2plane_444_formats"),
773         std::make_tuple(1, 0, "VK_EXT_fragment_density_map2"),
774         std::make_tuple(1, 0, "VK_QCOM_rotated_copy_commands"),
775         std::make_tuple(1, 0, "VK_EXT_image_robustness"),
776         std::make_tuple(1, 0, "VK_KHR_workgroup_memory_explicit_layout"),
777         std::make_tuple(1, 0, "VK_KHR_copy_commands2"),
778         std::make_tuple(1, 0, "VK_EXT_image_compression_control"),
779         std::make_tuple(1, 0, "VK_EXT_attachment_feedback_loop_layout"),
780         std::make_tuple(1, 0, "VK_EXT_4444_formats"),
781         std::make_tuple(1, 0, "VK_ARM_rasterization_order_attachment_access"),
782         std::make_tuple(1, 0, "VK_EXT_rgba10x6_formats"),
783         std::make_tuple(1, 0, "VK_NV_acquire_winrt_display"),
784         std::make_tuple(1, 0, "VK_VALVE_mutable_descriptor_type"),
785         std::make_tuple(1, 0, "VK_EXT_vertex_input_dynamic_state"),
786         std::make_tuple(1, 0, "VK_EXT_physical_device_drm"),
787         std::make_tuple(1, 0, "VK_EXT_depth_clip_control"),
788         std::make_tuple(1, 0, "VK_EXT_primitive_topology_list_restart"),
789         std::make_tuple(1, 0, "VK_KHR_format_feature_flags2"),
790         std::make_tuple(1, 0, "VK_FUCHSIA_external_memory"),
791         std::make_tuple(1, 0, "VK_FUCHSIA_external_semaphore"),
792         std::make_tuple(1, 0, "VK_FUCHSIA_buffer_collection"),
793         std::make_tuple(1, 0, "VK_HUAWEI_subpass_shading"),
794         std::make_tuple(1, 0, "VK_HUAWEI_invocation_mask"),
795         std::make_tuple(1, 0, "VK_NV_external_memory_rdma"),
796         std::make_tuple(1, 0, "VK_EXT_pipeline_properties"),
797         std::make_tuple(1, 0, "VK_EXT_multisampled_render_to_single_sampled"),
798         std::make_tuple(1, 0, "VK_EXT_extended_dynamic_state2"),
799         std::make_tuple(1, 0, "VK_QNX_screen_surface"),
800         std::make_tuple(1, 0, "VK_EXT_color_write_enable"),
801         std::make_tuple(1, 0, "VK_EXT_primitives_generated_query"),
802         std::make_tuple(1, 1, "VK_KHR_ray_tracing_maintenance1"),
803         std::make_tuple(1, 0, "VK_EXT_global_priority_query"),
804         std::make_tuple(1, 0, "VK_EXT_image_view_min_lod"),
805         std::make_tuple(1, 0, "VK_EXT_multi_draw"),
806         std::make_tuple(1, 0, "VK_EXT_image_2d_view_of_3d"),
807         std::make_tuple(1, 0, "VK_KHR_portability_enumeration"),
808         std::make_tuple(1, 0, "VK_EXT_load_store_op_none"),
809         std::make_tuple(1, 0, "VK_EXT_border_color_swizzle"),
810         std::make_tuple(1, 0, "VK_EXT_pageable_device_local_memory"),
811         std::make_tuple(1, 1, "VK_KHR_maintenance4"),
812         std::make_tuple(1, 0, "VK_VALVE_descriptor_set_host_mapping"),
813         std::make_tuple(1, 0, "VK_EXT_depth_clamp_zero_one"),
814         std::make_tuple(1, 0, "VK_EXT_non_seamless_cube_map"),
815         std::make_tuple(1, 0, "VK_QCOM_fragment_density_map_offset"),
816         std::make_tuple(1, 0, "VK_NV_linear_color_attachment"),
817         std::make_tuple(1, 0, "VK_GOOGLE_surfaceless_query"),
818         std::make_tuple(1, 0, "VK_EXT_image_compression_control_swapchain"),
819         std::make_tuple(1, 0, "VK_QCOM_image_processing"),
820         std::make_tuple(1, 0, "VK_EXT_subpass_merge_feedback"),
821         std::make_tuple(1, 0, "VK_EXT_shader_module_identifier"),
822         std::make_tuple(1, 0, "VK_EXT_rasterization_order_attachment_access"),
823         std::make_tuple(1, 0, "VK_EXT_legacy_dithering"),
824         std::make_tuple(1, 0, "VK_QCOM_tile_properties"),
825         std::make_tuple(1, 0, "VK_SEC_amigo_profiling"),
826 };