3815efb753672af7422c72cfe61db90d34c61d7b
[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_NV_present_barrier", "VK_KHR_get_physical_device_properties2"),
391         std::make_tuple(0, 1, 0, "VK_NV_present_barrier", "VK_KHR_surface"),
392         std::make_tuple(0, 1, 0, "VK_NV_present_barrier", "VK_KHR_get_surface_capabilities2"),
393         std::make_tuple(0, 1, 0, "VK_NV_present_barrier", "VK_KHR_swapchain"),
394         std::make_tuple(0, 1, 1, "VK_NV_present_barrier", "VK_KHR_surface"),
395         std::make_tuple(0, 1, 1, "VK_NV_present_barrier", "VK_KHR_get_surface_capabilities2"),
396         std::make_tuple(0, 1, 1, "VK_NV_present_barrier", "VK_KHR_swapchain"),
397         std::make_tuple(0, 1, 2, "VK_NV_present_barrier", "VK_KHR_surface"),
398         std::make_tuple(0, 1, 2, "VK_NV_present_barrier", "VK_KHR_get_surface_capabilities2"),
399         std::make_tuple(0, 1, 2, "VK_NV_present_barrier", "VK_KHR_swapchain"),
400         std::make_tuple(0, 1, 3, "VK_NV_present_barrier", "VK_KHR_surface"),
401         std::make_tuple(0, 1, 3, "VK_NV_present_barrier", "VK_KHR_get_surface_capabilities2"),
402         std::make_tuple(0, 1, 3, "VK_NV_present_barrier", "VK_KHR_swapchain"),
403         std::make_tuple(0, 1, 0, "VK_KHR_present_id", "VK_KHR_swapchain"),
404         std::make_tuple(0, 1, 1, "VK_KHR_present_id", "VK_KHR_swapchain"),
405         std::make_tuple(0, 1, 2, "VK_KHR_present_id", "VK_KHR_swapchain"),
406         std::make_tuple(0, 1, 3, "VK_KHR_present_id", "VK_KHR_swapchain"),
407         std::make_tuple(0, 1, 0, "VK_KHR_video_encode_queue", "VK_KHR_video_queue"),
408         std::make_tuple(0, 1, 0, "VK_KHR_video_encode_queue", "VK_KHR_synchronization2"),
409         std::make_tuple(0, 1, 1, "VK_KHR_video_encode_queue", "VK_KHR_video_queue"),
410         std::make_tuple(0, 1, 1, "VK_KHR_video_encode_queue", "VK_KHR_synchronization2"),
411         std::make_tuple(0, 1, 2, "VK_KHR_video_encode_queue", "VK_KHR_video_queue"),
412         std::make_tuple(0, 1, 2, "VK_KHR_video_encode_queue", "VK_KHR_synchronization2"),
413         std::make_tuple(0, 1, 3, "VK_KHR_video_encode_queue", "VK_KHR_video_queue"),
414         std::make_tuple(0, 1, 0, "VK_NV_device_diagnostics_config", "VK_KHR_get_physical_device_properties2"),
415         std::make_tuple(0, 1, 0, "VK_KHR_synchronization2", "VK_KHR_get_physical_device_properties2"),
416         std::make_tuple(0, 1, 0, "VK_EXT_descriptor_buffer", "VK_KHR_get_physical_device_properties2"),
417         std::make_tuple(0, 1, 0, "VK_EXT_descriptor_buffer", "VK_KHR_buffer_device_address"),
418         std::make_tuple(0, 1, 0, "VK_EXT_descriptor_buffer", "VK_KHR_synchronization2"),
419         std::make_tuple(0, 1, 0, "VK_EXT_descriptor_buffer", "VK_EXT_descriptor_indexing"),
420         std::make_tuple(0, 1, 1, "VK_EXT_descriptor_buffer", "VK_KHR_buffer_device_address"),
421         std::make_tuple(0, 1, 1, "VK_EXT_descriptor_buffer", "VK_KHR_synchronization2"),
422         std::make_tuple(0, 1, 1, "VK_EXT_descriptor_buffer", "VK_EXT_descriptor_indexing"),
423         std::make_tuple(0, 1, 2, "VK_EXT_descriptor_buffer", "VK_KHR_synchronization2"),
424         std::make_tuple(0, 1, 0, "VK_EXT_graphics_pipeline_library", "VK_KHR_get_physical_device_properties2"),
425         std::make_tuple(0, 1, 0, "VK_EXT_graphics_pipeline_library", "VK_KHR_pipeline_library"),
426         std::make_tuple(0, 1, 1, "VK_EXT_graphics_pipeline_library", "VK_KHR_pipeline_library"),
427         std::make_tuple(0, 1, 2, "VK_EXT_graphics_pipeline_library", "VK_KHR_pipeline_library"),
428         std::make_tuple(0, 1, 3, "VK_EXT_graphics_pipeline_library", "VK_KHR_pipeline_library"),
429         std::make_tuple(0, 1, 0, "VK_KHR_fragment_shader_barycentric", "VK_KHR_get_physical_device_properties2"),
430         std::make_tuple(0, 1, 0, "VK_KHR_zero_initialize_workgroup_memory", "VK_KHR_get_physical_device_properties2"),
431         std::make_tuple(0, 1, 0, "VK_NV_fragment_shading_rate_enums", "VK_KHR_fragment_shading_rate"),
432         std::make_tuple(0, 1, 1, "VK_NV_fragment_shading_rate_enums", "VK_KHR_fragment_shading_rate"),
433         std::make_tuple(0, 1, 2, "VK_NV_fragment_shading_rate_enums", "VK_KHR_fragment_shading_rate"),
434         std::make_tuple(0, 1, 3, "VK_NV_fragment_shading_rate_enums", "VK_KHR_fragment_shading_rate"),
435         std::make_tuple(0, 1, 0, "VK_NV_ray_tracing_motion_blur", "VK_KHR_ray_tracing_pipeline"),
436         std::make_tuple(0, 1, 1, "VK_NV_ray_tracing_motion_blur", "VK_KHR_ray_tracing_pipeline"),
437         std::make_tuple(0, 1, 2, "VK_NV_ray_tracing_motion_blur", "VK_KHR_ray_tracing_pipeline"),
438         std::make_tuple(0, 1, 3, "VK_NV_ray_tracing_motion_blur", "VK_KHR_ray_tracing_pipeline"),
439         std::make_tuple(0, 1, 1, "VK_EXT_mesh_shader", "VK_KHR_spirv_1_4"),
440         std::make_tuple(0, 1, 0, "VK_EXT_ycbcr_2plane_444_formats", "VK_KHR_sampler_ycbcr_conversion"),
441         std::make_tuple(0, 1, 0, "VK_EXT_fragment_density_map2", "VK_EXT_fragment_density_map"),
442         std::make_tuple(0, 1, 1, "VK_EXT_fragment_density_map2", "VK_EXT_fragment_density_map"),
443         std::make_tuple(0, 1, 2, "VK_EXT_fragment_density_map2", "VK_EXT_fragment_density_map"),
444         std::make_tuple(0, 1, 3, "VK_EXT_fragment_density_map2", "VK_EXT_fragment_density_map"),
445         std::make_tuple(0, 1, 0, "VK_QCOM_rotated_copy_commands", "VK_KHR_swapchain"),
446         std::make_tuple(0, 1, 0, "VK_QCOM_rotated_copy_commands", "VK_KHR_copy_commands2"),
447         std::make_tuple(0, 1, 1, "VK_QCOM_rotated_copy_commands", "VK_KHR_swapchain"),
448         std::make_tuple(0, 1, 1, "VK_QCOM_rotated_copy_commands", "VK_KHR_copy_commands2"),
449         std::make_tuple(0, 1, 2, "VK_QCOM_rotated_copy_commands", "VK_KHR_swapchain"),
450         std::make_tuple(0, 1, 2, "VK_QCOM_rotated_copy_commands", "VK_KHR_copy_commands2"),
451         std::make_tuple(0, 1, 3, "VK_QCOM_rotated_copy_commands", "VK_KHR_swapchain"),
452         std::make_tuple(0, 1, 0, "VK_EXT_image_robustness", "VK_KHR_get_physical_device_properties2"),
453         std::make_tuple(0, 1, 0, "VK_KHR_workgroup_memory_explicit_layout", "VK_KHR_get_physical_device_properties2"),
454         std::make_tuple(0, 1, 0, "VK_EXT_attachment_feedback_loop_layout", "VK_KHR_get_physical_device_properties2"),
455         std::make_tuple(0, 1, 0, "VK_EXT_4444_formats", "VK_KHR_get_physical_device_properties2"),
456         std::make_tuple(0, 1, 0, "VK_EXT_device_fault", "VK_KHR_get_physical_device_properties2"),
457         std::make_tuple(0, 1, 0, "VK_ARM_rasterization_order_attachment_access", "VK_KHR_get_physical_device_properties2"),
458         std::make_tuple(0, 1, 0, "VK_EXT_rgba10x6_formats", "VK_KHR_sampler_ycbcr_conversion"),
459         std::make_tuple(0, 1, 0, "VK_NV_acquire_winrt_display", "VK_EXT_direct_mode_display"),
460         std::make_tuple(0, 1, 1, "VK_NV_acquire_winrt_display", "VK_EXT_direct_mode_display"),
461         std::make_tuple(0, 1, 2, "VK_NV_acquire_winrt_display", "VK_EXT_direct_mode_display"),
462         std::make_tuple(0, 1, 3, "VK_NV_acquire_winrt_display", "VK_EXT_direct_mode_display"),
463         std::make_tuple(0, 1, 0, "VK_VALVE_mutable_descriptor_type", "VK_KHR_maintenance3"),
464         std::make_tuple(0, 1, 0, "VK_EXT_vertex_input_dynamic_state", "VK_KHR_get_physical_device_properties2"),
465         std::make_tuple(0, 1, 0, "VK_EXT_physical_device_drm", "VK_KHR_get_physical_device_properties2"),
466         std::make_tuple(0, 1, 0, "VK_EXT_device_address_binding_report", "VK_KHR_get_physical_device_properties2"),
467         std::make_tuple(0, 1, 0, "VK_EXT_device_address_binding_report", "VK_EXT_debug_utils"),
468         std::make_tuple(0, 1, 1, "VK_EXT_device_address_binding_report", "VK_EXT_debug_utils"),
469         std::make_tuple(0, 1, 2, "VK_EXT_device_address_binding_report", "VK_EXT_debug_utils"),
470         std::make_tuple(0, 1, 3, "VK_EXT_device_address_binding_report", "VK_EXT_debug_utils"),
471         std::make_tuple(0, 1, 0, "VK_EXT_depth_clip_control", "VK_KHR_get_physical_device_properties2"),
472         std::make_tuple(0, 1, 0, "VK_KHR_format_feature_flags2", "VK_KHR_get_physical_device_properties2"),
473         std::make_tuple(0, 1, 0, "VK_FUCHSIA_external_memory", "VK_KHR_external_memory_capabilities"),
474         std::make_tuple(0, 1, 0, "VK_FUCHSIA_external_memory", "VK_KHR_external_memory"),
475         std::make_tuple(0, 1, 0, "VK_FUCHSIA_external_semaphore", "VK_KHR_external_semaphore_capabilities"),
476         std::make_tuple(0, 1, 0, "VK_FUCHSIA_external_semaphore", "VK_KHR_external_semaphore"),
477         std::make_tuple(0, 1, 0, "VK_FUCHSIA_buffer_collection", "VK_FUCHSIA_external_memory"),
478         std::make_tuple(0, 1, 0, "VK_FUCHSIA_buffer_collection", "VK_KHR_sampler_ycbcr_conversion"),
479         std::make_tuple(0, 1, 1, "VK_FUCHSIA_buffer_collection", "VK_FUCHSIA_external_memory"),
480         std::make_tuple(0, 1, 2, "VK_FUCHSIA_buffer_collection", "VK_FUCHSIA_external_memory"),
481         std::make_tuple(0, 1, 3, "VK_FUCHSIA_buffer_collection", "VK_FUCHSIA_external_memory"),
482         std::make_tuple(0, 1, 0, "VK_HUAWEI_subpass_shading", "VK_KHR_create_renderpass2"),
483         std::make_tuple(0, 1, 0, "VK_HUAWEI_subpass_shading", "VK_KHR_synchronization2"),
484         std::make_tuple(0, 1, 1, "VK_HUAWEI_subpass_shading", "VK_KHR_create_renderpass2"),
485         std::make_tuple(0, 1, 1, "VK_HUAWEI_subpass_shading", "VK_KHR_synchronization2"),
486         std::make_tuple(0, 1, 2, "VK_HUAWEI_subpass_shading", "VK_KHR_synchronization2"),
487         std::make_tuple(0, 1, 0, "VK_HUAWEI_invocation_mask", "VK_KHR_ray_tracing_pipeline"),
488         std::make_tuple(0, 1, 0, "VK_HUAWEI_invocation_mask", "VK_KHR_synchronization2"),
489         std::make_tuple(0, 1, 1, "VK_HUAWEI_invocation_mask", "VK_KHR_ray_tracing_pipeline"),
490         std::make_tuple(0, 1, 1, "VK_HUAWEI_invocation_mask", "VK_KHR_synchronization2"),
491         std::make_tuple(0, 1, 2, "VK_HUAWEI_invocation_mask", "VK_KHR_ray_tracing_pipeline"),
492         std::make_tuple(0, 1, 2, "VK_HUAWEI_invocation_mask", "VK_KHR_synchronization2"),
493         std::make_tuple(0, 1, 3, "VK_HUAWEI_invocation_mask", "VK_KHR_ray_tracing_pipeline"),
494         std::make_tuple(0, 1, 0, "VK_NV_external_memory_rdma", "VK_KHR_external_memory"),
495         std::make_tuple(0, 1, 0, "VK_EXT_pipeline_properties", "VK_KHR_get_physical_device_properties2"),
496         std::make_tuple(0, 1, 0, "VK_EXT_multisampled_render_to_single_sampled", "VK_KHR_create_renderpass2"),
497         std::make_tuple(0, 1, 0, "VK_EXT_multisampled_render_to_single_sampled", "VK_KHR_depth_stencil_resolve"),
498         std::make_tuple(0, 1, 1, "VK_EXT_multisampled_render_to_single_sampled", "VK_KHR_create_renderpass2"),
499         std::make_tuple(0, 1, 1, "VK_EXT_multisampled_render_to_single_sampled", "VK_KHR_depth_stencil_resolve"),
500         std::make_tuple(0, 1, 0, "VK_EXT_extended_dynamic_state2", "VK_KHR_get_physical_device_properties2"),
501         std::make_tuple(0, 1, 0, "VK_EXT_color_write_enable", "VK_KHR_get_physical_device_properties2"),
502         std::make_tuple(0, 1, 0, "VK_EXT_primitives_generated_query", "VK_EXT_transform_feedback"),
503         std::make_tuple(0, 1, 1, "VK_EXT_primitives_generated_query", "VK_EXT_transform_feedback"),
504         std::make_tuple(0, 1, 2, "VK_EXT_primitives_generated_query", "VK_EXT_transform_feedback"),
505         std::make_tuple(0, 1, 3, "VK_EXT_primitives_generated_query", "VK_EXT_transform_feedback"),
506         std::make_tuple(0, 1, 1, "VK_KHR_ray_tracing_maintenance1", "VK_KHR_acceleration_structure"),
507         std::make_tuple(0, 1, 2, "VK_KHR_ray_tracing_maintenance1", "VK_KHR_acceleration_structure"),
508         std::make_tuple(0, 1, 3, "VK_KHR_ray_tracing_maintenance1", "VK_KHR_acceleration_structure"),
509         std::make_tuple(0, 1, 0, "VK_EXT_global_priority_query", "VK_EXT_global_priority"),
510         std::make_tuple(0, 1, 0, "VK_EXT_global_priority_query", "VK_KHR_get_physical_device_properties2"),
511         std::make_tuple(0, 1, 1, "VK_EXT_global_priority_query", "VK_EXT_global_priority"),
512         std::make_tuple(0, 1, 2, "VK_EXT_global_priority_query", "VK_EXT_global_priority"),
513         std::make_tuple(0, 1, 3, "VK_EXT_global_priority_query", "VK_EXT_global_priority"),
514         std::make_tuple(0, 1, 0, "VK_EXT_image_view_min_lod", "VK_KHR_get_physical_device_properties2"),
515         std::make_tuple(0, 1, 0, "VK_EXT_image_2d_view_of_3d", "VK_KHR_maintenance1"),
516         std::make_tuple(0, 1, 0, "VK_EXT_image_2d_view_of_3d", "VK_KHR_get_physical_device_properties2"),
517         std::make_tuple(0, 1, 0, "VK_EXT_opacity_micromap", "VK_KHR_acceleration_structure"),
518         std::make_tuple(0, 1, 0, "VK_EXT_opacity_micromap", "VK_KHR_synchronization2"),
519         std::make_tuple(0, 1, 1, "VK_EXT_opacity_micromap", "VK_KHR_acceleration_structure"),
520         std::make_tuple(0, 1, 1, "VK_EXT_opacity_micromap", "VK_KHR_synchronization2"),
521         std::make_tuple(0, 1, 2, "VK_EXT_opacity_micromap", "VK_KHR_acceleration_structure"),
522         std::make_tuple(0, 1, 2, "VK_EXT_opacity_micromap", "VK_KHR_synchronization2"),
523         std::make_tuple(0, 1, 3, "VK_EXT_opacity_micromap", "VK_KHR_acceleration_structure"),
524         std::make_tuple(0, 1, 0, "VK_EXT_border_color_swizzle", "VK_EXT_custom_border_color"),
525         std::make_tuple(0, 1, 1, "VK_EXT_border_color_swizzle", "VK_EXT_custom_border_color"),
526         std::make_tuple(0, 1, 2, "VK_EXT_border_color_swizzle", "VK_EXT_custom_border_color"),
527         std::make_tuple(0, 1, 3, "VK_EXT_border_color_swizzle", "VK_EXT_custom_border_color"),
528         std::make_tuple(0, 1, 0, "VK_EXT_pageable_device_local_memory", "VK_EXT_memory_priority"),
529         std::make_tuple(0, 1, 1, "VK_EXT_pageable_device_local_memory", "VK_EXT_memory_priority"),
530         std::make_tuple(0, 1, 2, "VK_EXT_pageable_device_local_memory", "VK_EXT_memory_priority"),
531         std::make_tuple(0, 1, 3, "VK_EXT_pageable_device_local_memory", "VK_EXT_memory_priority"),
532         std::make_tuple(0, 1, 0, "VK_QCOM_fragment_density_map_offset", "VK_KHR_get_physical_device_properties2"),
533         std::make_tuple(0, 1, 0, "VK_QCOM_fragment_density_map_offset", "VK_EXT_fragment_density_map"),
534         std::make_tuple(0, 1, 1, "VK_QCOM_fragment_density_map_offset", "VK_EXT_fragment_density_map"),
535         std::make_tuple(0, 1, 2, "VK_QCOM_fragment_density_map_offset", "VK_EXT_fragment_density_map"),
536         std::make_tuple(0, 1, 3, "VK_QCOM_fragment_density_map_offset", "VK_EXT_fragment_density_map"),
537         std::make_tuple(0, 1, 0, "VK_NV_copy_memory_indirect", "VK_KHR_get_physical_device_properties2"),
538         std::make_tuple(0, 1, 0, "VK_NV_copy_memory_indirect", "VK_KHR_buffer_device_address"),
539         std::make_tuple(0, 1, 1, "VK_NV_copy_memory_indirect", "VK_KHR_buffer_device_address"),
540         std::make_tuple(0, 1, 0, "VK_NV_memory_decompression", "VK_KHR_get_physical_device_properties2"),
541         std::make_tuple(0, 1, 0, "VK_NV_memory_decompression", "VK_KHR_buffer_device_address"),
542         std::make_tuple(0, 1, 1, "VK_NV_memory_decompression", "VK_KHR_buffer_device_address"),
543         std::make_tuple(0, 1, 0, "VK_EXT_image_compression_control_swapchain", "VK_EXT_image_compression_control"),
544         std::make_tuple(0, 1, 1, "VK_EXT_image_compression_control_swapchain", "VK_EXT_image_compression_control"),
545         std::make_tuple(0, 1, 2, "VK_EXT_image_compression_control_swapchain", "VK_EXT_image_compression_control"),
546         std::make_tuple(0, 1, 3, "VK_EXT_image_compression_control_swapchain", "VK_EXT_image_compression_control"),
547         std::make_tuple(0, 1, 0, "VK_QCOM_image_processing", "VK_KHR_format_feature_flags2"),
548         std::make_tuple(0, 1, 1, "VK_QCOM_image_processing", "VK_KHR_format_feature_flags2"),
549         std::make_tuple(0, 1, 2, "VK_QCOM_image_processing", "VK_KHR_format_feature_flags2"),
550         std::make_tuple(0, 1, 0, "VK_EXT_extended_dynamic_state3", "VK_KHR_get_physical_device_properties2"),
551         std::make_tuple(0, 1, 0, "VK_EXT_shader_module_identifier", "VK_KHR_get_physical_device_properties2"),
552         std::make_tuple(0, 1, 0, "VK_EXT_shader_module_identifier", "VK_EXT_pipeline_creation_cache_control"),
553         std::make_tuple(0, 1, 1, "VK_EXT_shader_module_identifier", "VK_EXT_pipeline_creation_cache_control"),
554         std::make_tuple(0, 1, 2, "VK_EXT_shader_module_identifier", "VK_EXT_pipeline_creation_cache_control"),
555         std::make_tuple(0, 1, 0, "VK_EXT_rasterization_order_attachment_access", "VK_KHR_get_physical_device_properties2"),
556         std::make_tuple(0, 1, 0, "VK_NV_optical_flow", "VK_KHR_get_physical_device_properties2"),
557         std::make_tuple(0, 1, 0, "VK_NV_optical_flow", "VK_KHR_format_feature_flags2"),
558         std::make_tuple(0, 1, 0, "VK_NV_optical_flow", "VK_KHR_synchronization2"),
559         std::make_tuple(0, 1, 1, "VK_NV_optical_flow", "VK_KHR_format_feature_flags2"),
560         std::make_tuple(0, 1, 1, "VK_NV_optical_flow", "VK_KHR_synchronization2"),
561         std::make_tuple(0, 1, 2, "VK_NV_optical_flow", "VK_KHR_format_feature_flags2"),
562         std::make_tuple(0, 1, 2, "VK_NV_optical_flow", "VK_KHR_synchronization2"),
563         std::make_tuple(0, 1, 0, "VK_EXT_legacy_dithering", "VK_KHR_get_physical_device_properties2"),
564         std::make_tuple(0, 1, 0, "VK_EXT_pipeline_protected_access", "VK_KHR_get_physical_device_properties2"),
565         std::make_tuple(0, 1, 0, "VK_QCOM_tile_properties", "VK_KHR_get_physical_device_properties2"),
566         std::make_tuple(0, 1, 0, "VK_SEC_amigo_profiling", "VK_KHR_get_physical_device_properties2"),
567         std::make_tuple(0, 1, 0, "VK_NV_ray_tracing_invocation_reorder", "VK_KHR_ray_tracing_pipeline"),
568         std::make_tuple(0, 1, 1, "VK_NV_ray_tracing_invocation_reorder", "VK_KHR_ray_tracing_pipeline"),
569         std::make_tuple(0, 1, 2, "VK_NV_ray_tracing_invocation_reorder", "VK_KHR_ray_tracing_pipeline"),
570         std::make_tuple(0, 1, 3, "VK_NV_ray_tracing_invocation_reorder", "VK_KHR_ray_tracing_pipeline"),
571         std::make_tuple(0, 1, 0, "VK_EXT_mutable_descriptor_type", "VK_KHR_maintenance3"),
572 };
573 static const std::tuple<deUint32, deUint32, deUint32, deUint32> releasedApiVersions[]   =
574 {
575         std::make_tuple(4206592, 0, 1, 3),
576         std::make_tuple(4202496, 0, 1, 2),
577         std::make_tuple(4198400, 0, 1, 1),
578         std::make_tuple(4194304, 0, 1, 0),
579 };
580 static const std::tuple<deUint32, deUint32, const char*>        extensionRequiredCoreVersion[]   =
581 {
582         std::make_tuple(1, 0, "VK_KHR_surface"),
583         std::make_tuple(1, 0, "VK_KHR_swapchain"),
584         std::make_tuple(1, 0, "VK_KHR_display"),
585         std::make_tuple(1, 0, "VK_KHR_display_swapchain"),
586         std::make_tuple(1, 0, "VK_KHR_xlib_surface"),
587         std::make_tuple(1, 0, "VK_KHR_xcb_surface"),
588         std::make_tuple(1, 0, "VK_KHR_wayland_surface"),
589         std::make_tuple(1, 0, "VK_KHR_android_surface"),
590         std::make_tuple(1, 0, "VK_KHR_win32_surface"),
591         std::make_tuple(1, 0, "VK_EXT_debug_report"),
592         std::make_tuple(1, 0, "VK_NV_glsl_shader"),
593         std::make_tuple(1, 0, "VK_EXT_depth_range_unrestricted"),
594         std::make_tuple(1, 0, "VK_KHR_sampler_mirror_clamp_to_edge"),
595         std::make_tuple(1, 0, "VK_IMG_filter_cubic"),
596         std::make_tuple(1, 0, "VK_AMD_rasterization_order"),
597         std::make_tuple(1, 0, "VK_AMD_shader_trinary_minmax"),
598         std::make_tuple(1, 0, "VK_AMD_shader_explicit_vertex_parameter"),
599         std::make_tuple(1, 0, "VK_EXT_debug_marker"),
600         std::make_tuple(1, 1, "VK_KHR_video_queue"),
601         std::make_tuple(1, 0, "VK_KHR_video_decode_queue"),
602         std::make_tuple(1, 0, "VK_AMD_gcn_shader"),
603         std::make_tuple(1, 0, "VK_NV_dedicated_allocation"),
604         std::make_tuple(1, 0, "VK_EXT_transform_feedback"),
605         std::make_tuple(1, 0, "VK_NVX_binary_import"),
606         std::make_tuple(1, 0, "VK_NVX_image_view_handle"),
607         std::make_tuple(1, 0, "VK_AMD_draw_indirect_count"),
608         std::make_tuple(1, 0, "VK_AMD_negative_viewport_height"),
609         std::make_tuple(1, 0, "VK_AMD_gpu_shader_half_float"),
610         std::make_tuple(1, 0, "VK_AMD_shader_ballot"),
611         std::make_tuple(1, 0, "VK_EXT_video_encode_h264"),
612         std::make_tuple(1, 0, "VK_EXT_video_encode_h265"),
613         std::make_tuple(1, 0, "VK_EXT_video_decode_h264"),
614         std::make_tuple(1, 0, "VK_AMD_texture_gather_bias_lod"),
615         std::make_tuple(1, 0, "VK_AMD_shader_info"),
616         std::make_tuple(1, 0, "VK_KHR_dynamic_rendering"),
617         std::make_tuple(1, 0, "VK_AMD_shader_image_load_store_lod"),
618         std::make_tuple(1, 0, "VK_GGP_stream_descriptor_surface"),
619         std::make_tuple(1, 0, "VK_NV_corner_sampled_image"),
620         std::make_tuple(1, 0, "VK_KHR_multiview"),
621         std::make_tuple(1, 0, "VK_IMG_format_pvrtc"),
622         std::make_tuple(1, 0, "VK_NV_external_memory_capabilities"),
623         std::make_tuple(1, 0, "VK_NV_external_memory"),
624         std::make_tuple(1, 0, "VK_NV_external_memory_win32"),
625         std::make_tuple(1, 0, "VK_NV_win32_keyed_mutex"),
626         std::make_tuple(1, 0, "VK_KHR_get_physical_device_properties2"),
627         std::make_tuple(1, 0, "VK_KHR_device_group"),
628         std::make_tuple(1, 0, "VK_EXT_validation_flags"),
629         std::make_tuple(1, 0, "VK_NN_vi_surface"),
630         std::make_tuple(1, 0, "VK_KHR_shader_draw_parameters"),
631         std::make_tuple(1, 0, "VK_EXT_shader_subgroup_ballot"),
632         std::make_tuple(1, 0, "VK_EXT_shader_subgroup_vote"),
633         std::make_tuple(1, 0, "VK_EXT_texture_compression_astc_hdr"),
634         std::make_tuple(1, 0, "VK_EXT_astc_decode_mode"),
635         std::make_tuple(1, 0, "VK_EXT_pipeline_robustness"),
636         std::make_tuple(1, 0, "VK_KHR_maintenance1"),
637         std::make_tuple(1, 0, "VK_KHR_device_group_creation"),
638         std::make_tuple(1, 0, "VK_KHR_external_memory_capabilities"),
639         std::make_tuple(1, 0, "VK_KHR_external_memory"),
640         std::make_tuple(1, 0, "VK_KHR_external_memory_win32"),
641         std::make_tuple(1, 0, "VK_KHR_external_memory_fd"),
642         std::make_tuple(1, 0, "VK_KHR_win32_keyed_mutex"),
643         std::make_tuple(1, 0, "VK_KHR_external_semaphore_capabilities"),
644         std::make_tuple(1, 0, "VK_KHR_external_semaphore"),
645         std::make_tuple(1, 0, "VK_KHR_external_semaphore_win32"),
646         std::make_tuple(1, 0, "VK_KHR_external_semaphore_fd"),
647         std::make_tuple(1, 0, "VK_KHR_push_descriptor"),
648         std::make_tuple(1, 0, "VK_EXT_conditional_rendering"),
649         std::make_tuple(1, 0, "VK_KHR_shader_float16_int8"),
650         std::make_tuple(1, 0, "VK_KHR_16bit_storage"),
651         std::make_tuple(1, 0, "VK_KHR_incremental_present"),
652         std::make_tuple(1, 0, "VK_KHR_descriptor_update_template"),
653         std::make_tuple(1, 0, "VK_NV_clip_space_w_scaling"),
654         std::make_tuple(1, 0, "VK_EXT_direct_mode_display"),
655         std::make_tuple(1, 0, "VK_EXT_acquire_xlib_display"),
656         std::make_tuple(1, 0, "VK_EXT_display_surface_counter"),
657         std::make_tuple(1, 0, "VK_EXT_display_control"),
658         std::make_tuple(1, 0, "VK_GOOGLE_display_timing"),
659         std::make_tuple(1, 0, "VK_NV_sample_mask_override_coverage"),
660         std::make_tuple(1, 0, "VK_NV_geometry_shader_passthrough"),
661         std::make_tuple(1, 0, "VK_NV_viewport_array2"),
662         std::make_tuple(1, 0, "VK_NVX_multiview_per_view_attributes"),
663         std::make_tuple(1, 0, "VK_NV_viewport_swizzle"),
664         std::make_tuple(1, 0, "VK_EXT_discard_rectangles"),
665         std::make_tuple(1, 0, "VK_EXT_conservative_rasterization"),
666         std::make_tuple(1, 0, "VK_EXT_depth_clip_enable"),
667         std::make_tuple(1, 0, "VK_EXT_swapchain_colorspace"),
668         std::make_tuple(1, 0, "VK_EXT_hdr_metadata"),
669         std::make_tuple(1, 0, "VK_KHR_imageless_framebuffer"),
670         std::make_tuple(1, 0, "VK_KHR_create_renderpass2"),
671         std::make_tuple(1, 0, "VK_KHR_shared_presentable_image"),
672         std::make_tuple(1, 0, "VK_KHR_external_fence_capabilities"),
673         std::make_tuple(1, 0, "VK_KHR_external_fence"),
674         std::make_tuple(1, 0, "VK_KHR_external_fence_win32"),
675         std::make_tuple(1, 0, "VK_KHR_external_fence_fd"),
676         std::make_tuple(1, 0, "VK_KHR_performance_query"),
677         std::make_tuple(1, 0, "VK_KHR_maintenance2"),
678         std::make_tuple(1, 0, "VK_KHR_get_surface_capabilities2"),
679         std::make_tuple(1, 0, "VK_KHR_variable_pointers"),
680         std::make_tuple(1, 0, "VK_KHR_get_display_properties2"),
681         std::make_tuple(1, 0, "VK_MVK_ios_surface"),
682         std::make_tuple(1, 0, "VK_MVK_macos_surface"),
683         std::make_tuple(1, 0, "VK_EXT_external_memory_dma_buf"),
684         std::make_tuple(1, 0, "VK_EXT_queue_family_foreign"),
685         std::make_tuple(1, 0, "VK_KHR_dedicated_allocation"),
686         std::make_tuple(1, 0, "VK_EXT_debug_utils"),
687         std::make_tuple(1, 0, "VK_ANDROID_external_memory_android_hardware_buffer"),
688         std::make_tuple(1, 0, "VK_EXT_sampler_filter_minmax"),
689         std::make_tuple(1, 0, "VK_KHR_storage_buffer_storage_class"),
690         std::make_tuple(1, 0, "VK_AMD_gpu_shader_int16"),
691         std::make_tuple(1, 0, "VK_AMD_mixed_attachment_samples"),
692         std::make_tuple(1, 0, "VK_AMD_shader_fragment_mask"),
693         std::make_tuple(1, 0, "VK_EXT_inline_uniform_block"),
694         std::make_tuple(1, 0, "VK_EXT_shader_stencil_export"),
695         std::make_tuple(1, 0, "VK_EXT_sample_locations"),
696         std::make_tuple(1, 0, "VK_KHR_relaxed_block_layout"),
697         std::make_tuple(1, 0, "VK_KHR_get_memory_requirements2"),
698         std::make_tuple(1, 0, "VK_KHR_image_format_list"),
699         std::make_tuple(1, 0, "VK_EXT_blend_operation_advanced"),
700         std::make_tuple(1, 0, "VK_NV_fragment_coverage_to_color"),
701         std::make_tuple(1, 1, "VK_KHR_acceleration_structure"),
702         std::make_tuple(1, 1, "VK_KHR_ray_tracing_pipeline"),
703         std::make_tuple(1, 1, "VK_KHR_ray_query"),
704         std::make_tuple(1, 0, "VK_NV_framebuffer_mixed_samples"),
705         std::make_tuple(1, 0, "VK_NV_fill_rectangle"),
706         std::make_tuple(1, 1, "VK_NV_shader_sm_builtins"),
707         std::make_tuple(1, 0, "VK_EXT_post_depth_coverage"),
708         std::make_tuple(1, 0, "VK_KHR_sampler_ycbcr_conversion"),
709         std::make_tuple(1, 0, "VK_KHR_bind_memory2"),
710         std::make_tuple(1, 0, "VK_EXT_image_drm_format_modifier"),
711         std::make_tuple(1, 0, "VK_EXT_validation_cache"),
712         std::make_tuple(1, 0, "VK_EXT_descriptor_indexing"),
713         std::make_tuple(1, 0, "VK_EXT_shader_viewport_index_layer"),
714         std::make_tuple(1, 0, "VK_KHR_portability_subset"),
715         std::make_tuple(1, 0, "VK_NV_shading_rate_image"),
716         std::make_tuple(1, 0, "VK_NV_ray_tracing"),
717         std::make_tuple(1, 0, "VK_NV_representative_fragment_test"),
718         std::make_tuple(1, 0, "VK_KHR_maintenance3"),
719         std::make_tuple(1, 0, "VK_KHR_draw_indirect_count"),
720         std::make_tuple(1, 0, "VK_EXT_filter_cubic"),
721         std::make_tuple(1, 0, "VK_QCOM_render_pass_shader_resolve"),
722         std::make_tuple(1, 0, "VK_EXT_global_priority"),
723         std::make_tuple(1, 1, "VK_KHR_shader_subgroup_extended_types"),
724         std::make_tuple(1, 0, "VK_KHR_8bit_storage"),
725         std::make_tuple(1, 0, "VK_EXT_external_memory_host"),
726         std::make_tuple(1, 0, "VK_AMD_buffer_marker"),
727         std::make_tuple(1, 0, "VK_KHR_shader_atomic_int64"),
728         std::make_tuple(1, 0, "VK_KHR_shader_clock"),
729         std::make_tuple(1, 0, "VK_AMD_pipeline_compiler_control"),
730         std::make_tuple(1, 0, "VK_EXT_calibrated_timestamps"),
731         std::make_tuple(1, 0, "VK_AMD_shader_core_properties"),
732         std::make_tuple(1, 0, "VK_EXT_video_decode_h265"),
733         std::make_tuple(1, 0, "VK_KHR_global_priority"),
734         std::make_tuple(1, 0, "VK_AMD_memory_overallocation_behavior"),
735         std::make_tuple(1, 0, "VK_EXT_vertex_attribute_divisor"),
736         std::make_tuple(1, 0, "VK_GGP_frame_token"),
737         std::make_tuple(1, 0, "VK_EXT_pipeline_creation_feedback"),
738         std::make_tuple(1, 0, "VK_KHR_driver_properties"),
739         std::make_tuple(1, 0, "VK_KHR_shader_float_controls"),
740         std::make_tuple(1, 1, "VK_NV_shader_subgroup_partitioned"),
741         std::make_tuple(1, 0, "VK_KHR_depth_stencil_resolve"),
742         std::make_tuple(1, 0, "VK_KHR_swapchain_mutable_format"),
743         std::make_tuple(1, 0, "VK_NV_compute_shader_derivatives"),
744         std::make_tuple(1, 0, "VK_NV_mesh_shader"),
745         std::make_tuple(1, 0, "VK_NV_fragment_shader_barycentric"),
746         std::make_tuple(1, 0, "VK_NV_shader_image_footprint"),
747         std::make_tuple(1, 0, "VK_NV_scissor_exclusive"),
748         std::make_tuple(1, 0, "VK_NV_device_diagnostic_checkpoints"),
749         std::make_tuple(1, 0, "VK_KHR_timeline_semaphore"),
750         std::make_tuple(1, 0, "VK_INTEL_shader_integer_functions2"),
751         std::make_tuple(1, 0, "VK_INTEL_performance_query"),
752         std::make_tuple(1, 0, "VK_KHR_vulkan_memory_model"),
753         std::make_tuple(1, 0, "VK_EXT_pci_bus_info"),
754         std::make_tuple(1, 0, "VK_AMD_display_native_hdr"),
755         std::make_tuple(1, 0, "VK_FUCHSIA_imagepipe_surface"),
756         std::make_tuple(1, 0, "VK_KHR_shader_terminate_invocation"),
757         std::make_tuple(1, 0, "VK_EXT_metal_surface"),
758         std::make_tuple(1, 0, "VK_EXT_fragment_density_map"),
759         std::make_tuple(1, 0, "VK_EXT_scalar_block_layout"),
760         std::make_tuple(1, 0, "VK_GOOGLE_hlsl_functionality1"),
761         std::make_tuple(1, 0, "VK_GOOGLE_decorate_string"),
762         std::make_tuple(1, 1, "VK_EXT_subgroup_size_control"),
763         std::make_tuple(1, 0, "VK_KHR_fragment_shading_rate"),
764         std::make_tuple(1, 0, "VK_AMD_shader_core_properties2"),
765         std::make_tuple(1, 0, "VK_AMD_device_coherent_memory"),
766         std::make_tuple(1, 0, "VK_EXT_shader_image_atomic_int64"),
767         std::make_tuple(1, 1, "VK_KHR_spirv_1_4"),
768         std::make_tuple(1, 0, "VK_EXT_memory_budget"),
769         std::make_tuple(1, 0, "VK_EXT_memory_priority"),
770         std::make_tuple(1, 1, "VK_KHR_surface_protected_capabilities"),
771         std::make_tuple(1, 0, "VK_NV_dedicated_allocation_image_aliasing"),
772         std::make_tuple(1, 0, "VK_KHR_separate_depth_stencil_layouts"),
773         std::make_tuple(1, 0, "VK_EXT_buffer_device_address"),
774         std::make_tuple(1, 0, "VK_EXT_tooling_info"),
775         std::make_tuple(1, 0, "VK_EXT_separate_stencil_usage"),
776         std::make_tuple(1, 0, "VK_EXT_validation_features"),
777         std::make_tuple(1, 0, "VK_KHR_present_wait"),
778         std::make_tuple(1, 0, "VK_NV_cooperative_matrix"),
779         std::make_tuple(1, 0, "VK_NV_coverage_reduction_mode"),
780         std::make_tuple(1, 0, "VK_EXT_fragment_shader_interlock"),
781         std::make_tuple(1, 0, "VK_EXT_ycbcr_image_arrays"),
782         std::make_tuple(1, 0, "VK_KHR_uniform_buffer_standard_layout"),
783         std::make_tuple(1, 0, "VK_EXT_provoking_vertex"),
784         std::make_tuple(1, 0, "VK_EXT_full_screen_exclusive"),
785         std::make_tuple(1, 0, "VK_EXT_headless_surface"),
786         std::make_tuple(1, 0, "VK_KHR_buffer_device_address"),
787         std::make_tuple(1, 0, "VK_EXT_line_rasterization"),
788         std::make_tuple(1, 0, "VK_EXT_shader_atomic_float"),
789         std::make_tuple(1, 0, "VK_EXT_host_query_reset"),
790         std::make_tuple(1, 0, "VK_EXT_index_type_uint8"),
791         std::make_tuple(1, 0, "VK_EXT_extended_dynamic_state"),
792         std::make_tuple(1, 0, "VK_KHR_deferred_host_operations"),
793         std::make_tuple(1, 0, "VK_KHR_pipeline_executable_properties"),
794         std::make_tuple(1, 0, "VK_EXT_shader_atomic_float2"),
795         std::make_tuple(1, 0, "VK_EXT_shader_demote_to_helper_invocation"),
796         std::make_tuple(1, 1, "VK_NV_device_generated_commands"),
797         std::make_tuple(1, 0, "VK_NV_inherited_viewport_scissor"),
798         std::make_tuple(1, 0, "VK_KHR_shader_integer_dot_product"),
799         std::make_tuple(1, 0, "VK_EXT_texel_buffer_alignment"),
800         std::make_tuple(1, 0, "VK_QCOM_render_pass_transform"),
801         std::make_tuple(1, 0, "VK_EXT_device_memory_report"),
802         std::make_tuple(1, 0, "VK_EXT_acquire_drm_display"),
803         std::make_tuple(1, 0, "VK_EXT_robustness2"),
804         std::make_tuple(1, 0, "VK_EXT_custom_border_color"),
805         std::make_tuple(1, 0, "VK_GOOGLE_user_type"),
806         std::make_tuple(1, 0, "VK_KHR_pipeline_library"),
807         std::make_tuple(1, 0, "VK_NV_present_barrier"),
808         std::make_tuple(1, 0, "VK_KHR_shader_non_semantic_info"),
809         std::make_tuple(1, 0, "VK_KHR_present_id"),
810         std::make_tuple(1, 0, "VK_EXT_private_data"),
811         std::make_tuple(1, 0, "VK_EXT_pipeline_creation_cache_control"),
812         std::make_tuple(1, 0, "VK_KHR_video_encode_queue"),
813         std::make_tuple(1, 0, "VK_NV_device_diagnostics_config"),
814         std::make_tuple(1, 0, "VK_QCOM_render_pass_store_ops"),
815         std::make_tuple(1, 0, "VK_EXT_metal_objects"),
816         std::make_tuple(1, 0, "VK_KHR_synchronization2"),
817         std::make_tuple(1, 0, "VK_EXT_descriptor_buffer"),
818         std::make_tuple(1, 0, "VK_EXT_graphics_pipeline_library"),
819         std::make_tuple(1, 0, "VK_AMD_shader_early_and_late_fragment_tests"),
820         std::make_tuple(1, 0, "VK_KHR_fragment_shader_barycentric"),
821         std::make_tuple(1, 1, "VK_KHR_shader_subgroup_uniform_control_flow"),
822         std::make_tuple(1, 0, "VK_KHR_zero_initialize_workgroup_memory"),
823         std::make_tuple(1, 0, "VK_NV_fragment_shading_rate_enums"),
824         std::make_tuple(1, 0, "VK_NV_ray_tracing_motion_blur"),
825         std::make_tuple(1, 1, "VK_EXT_mesh_shader"),
826         std::make_tuple(1, 0, "VK_EXT_ycbcr_2plane_444_formats"),
827         std::make_tuple(1, 0, "VK_EXT_fragment_density_map2"),
828         std::make_tuple(1, 0, "VK_QCOM_rotated_copy_commands"),
829         std::make_tuple(1, 0, "VK_EXT_image_robustness"),
830         std::make_tuple(1, 0, "VK_KHR_workgroup_memory_explicit_layout"),
831         std::make_tuple(1, 0, "VK_KHR_copy_commands2"),
832         std::make_tuple(1, 0, "VK_EXT_image_compression_control"),
833         std::make_tuple(1, 0, "VK_EXT_attachment_feedback_loop_layout"),
834         std::make_tuple(1, 0, "VK_EXT_4444_formats"),
835         std::make_tuple(1, 0, "VK_EXT_device_fault"),
836         std::make_tuple(1, 0, "VK_ARM_rasterization_order_attachment_access"),
837         std::make_tuple(1, 0, "VK_EXT_rgba10x6_formats"),
838         std::make_tuple(1, 0, "VK_NV_acquire_winrt_display"),
839         std::make_tuple(1, 0, "VK_VALVE_mutable_descriptor_type"),
840         std::make_tuple(1, 0, "VK_EXT_vertex_input_dynamic_state"),
841         std::make_tuple(1, 0, "VK_EXT_physical_device_drm"),
842         std::make_tuple(1, 0, "VK_EXT_device_address_binding_report"),
843         std::make_tuple(1, 0, "VK_EXT_depth_clip_control"),
844         std::make_tuple(1, 0, "VK_EXT_primitive_topology_list_restart"),
845         std::make_tuple(1, 0, "VK_KHR_format_feature_flags2"),
846         std::make_tuple(1, 0, "VK_FUCHSIA_external_memory"),
847         std::make_tuple(1, 0, "VK_FUCHSIA_external_semaphore"),
848         std::make_tuple(1, 0, "VK_FUCHSIA_buffer_collection"),
849         std::make_tuple(1, 0, "VK_HUAWEI_subpass_shading"),
850         std::make_tuple(1, 0, "VK_HUAWEI_invocation_mask"),
851         std::make_tuple(1, 0, "VK_NV_external_memory_rdma"),
852         std::make_tuple(1, 0, "VK_EXT_pipeline_properties"),
853         std::make_tuple(1, 0, "VK_EXT_multisampled_render_to_single_sampled"),
854         std::make_tuple(1, 0, "VK_EXT_extended_dynamic_state2"),
855         std::make_tuple(1, 0, "VK_QNX_screen_surface"),
856         std::make_tuple(1, 0, "VK_EXT_color_write_enable"),
857         std::make_tuple(1, 0, "VK_EXT_primitives_generated_query"),
858         std::make_tuple(1, 1, "VK_KHR_ray_tracing_maintenance1"),
859         std::make_tuple(1, 0, "VK_EXT_global_priority_query"),
860         std::make_tuple(1, 0, "VK_EXT_image_view_min_lod"),
861         std::make_tuple(1, 0, "VK_EXT_multi_draw"),
862         std::make_tuple(1, 0, "VK_EXT_image_2d_view_of_3d"),
863         std::make_tuple(1, 0, "VK_KHR_portability_enumeration"),
864         std::make_tuple(1, 0, "VK_EXT_opacity_micromap"),
865         std::make_tuple(1, 0, "VK_EXT_load_store_op_none"),
866         std::make_tuple(1, 0, "VK_EXT_border_color_swizzle"),
867         std::make_tuple(1, 0, "VK_EXT_pageable_device_local_memory"),
868         std::make_tuple(1, 1, "VK_KHR_maintenance4"),
869         std::make_tuple(1, 0, "VK_VALVE_descriptor_set_host_mapping"),
870         std::make_tuple(1, 0, "VK_EXT_depth_clamp_zero_one"),
871         std::make_tuple(1, 0, "VK_EXT_non_seamless_cube_map"),
872         std::make_tuple(1, 0, "VK_QCOM_fragment_density_map_offset"),
873         std::make_tuple(1, 0, "VK_NV_copy_memory_indirect"),
874         std::make_tuple(1, 0, "VK_NV_memory_decompression"),
875         std::make_tuple(1, 0, "VK_NV_linear_color_attachment"),
876         std::make_tuple(1, 0, "VK_GOOGLE_surfaceless_query"),
877         std::make_tuple(1, 0, "VK_EXT_image_compression_control_swapchain"),
878         std::make_tuple(1, 0, "VK_QCOM_image_processing"),
879         std::make_tuple(1, 0, "VK_EXT_extended_dynamic_state3"),
880         std::make_tuple(1, 0, "VK_EXT_subpass_merge_feedback"),
881         std::make_tuple(1, 0, "VK_EXT_shader_module_identifier"),
882         std::make_tuple(1, 0, "VK_EXT_rasterization_order_attachment_access"),
883         std::make_tuple(1, 0, "VK_NV_optical_flow"),
884         std::make_tuple(1, 0, "VK_EXT_legacy_dithering"),
885         std::make_tuple(1, 0, "VK_EXT_pipeline_protected_access"),
886         std::make_tuple(1, 0, "VK_QCOM_tile_properties"),
887         std::make_tuple(1, 0, "VK_SEC_amigo_profiling"),
888         std::make_tuple(1, 0, "VK_NV_ray_tracing_invocation_reorder"),
889         std::make_tuple(1, 0, "VK_EXT_mutable_descriptor_type"),
890         std::make_tuple(1, 0, "VK_ARM_shader_core_builtins"),
891 };