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
6 static const std::tuple<deUint32, deUint32, deUint32, const char*, const char*> instanceExtensionDependencies[] =
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"),
103 static const std::tuple<deUint32, deUint32, deUint32, const char*, const char*> deviceExtensionDependencies[] =
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"),
521 static const std::tuple<deUint32, deUint32, deUint32, deUint32> releasedApiVersions[] =
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),
528 static const std::tuple<deUint32, deUint32, const char*> extensionRequiredCoreVersion[] =
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"),