1 // Copyright (C) 2018 The Android Open Source Project
2 // Copyright (C) 2018 Google Inc.
3 //
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 // http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 
16 // Autogenerated module goldfish_vk_extension_structs_guest
17 // (header) generated by android/android-emugl/host/libs/libOpenglRender/vulkan-registry/xml/genvk.py -registry android/android-emugl/host/libs/libOpenglRender/vulkan-registry/xml/vk.xml cereal -o android/android-emugl/host/libs/libOpenglRender/vulkan/cereal
18 // Please do not modify directly;
19 // re-run android/scripts/generate-vulkan-sources.sh,
20 // or directly from Python by defining:
21 // VULKAN_REGISTRY_XML_DIR : Directory containing genvk.py and vk.xml
22 // CEREAL_OUTPUT_DIR: Where to put the generated sources.
23 // python3 $VULKAN_REGISTRY_XML_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o $CEREAL_OUTPUT_DIR
24 
25 #pragma once
26 
27 #include <vulkan/vulkan.h>
28 
29 
30 #include "vk_platform_compat.h"
31 #include "goldfish_vk_private_defs.h"
32 // Stuff we are not going to use but if included,
33 // will cause compile errors. These are Android Vulkan
34 // required extensions, but the approach will be to
35 // implement them completely on the guest side.
36 #undef VK_KHR_android_surface
37 #undef VK_ANDROID_external_memory_android_hardware_buffer
38 
39 
40 namespace goldfish_vk {
41 
42 uint32_t goldfish_vk_struct_type(
43     const void* structExtension);
44 
45 size_t goldfish_vk_extension_struct_size(
46     const void* structExtension);
47 
48 size_t goldfish_vk_extension_struct_size_with_stream_features(
49     uint32_t streamFeatures,
50     const void* structExtension);
51 
52 #ifdef VK_VERSION_1_0
53 #endif
54 #ifdef VK_VERSION_1_1
55 #endif
56 #ifdef VK_KHR_surface
57 #endif
58 #ifdef VK_KHR_swapchain
59 #endif
60 #ifdef VK_KHR_display
61 #endif
62 #ifdef VK_KHR_display_swapchain
63 #endif
64 #ifdef VK_KHR_xlib_surface
65 #endif
66 #ifdef VK_KHR_xcb_surface
67 #endif
68 #ifdef VK_KHR_wayland_surface
69 #endif
70 #ifdef VK_KHR_mir_surface
71 #endif
72 #ifdef VK_KHR_android_surface
73 #endif
74 #ifdef VK_KHR_win32_surface
75 #endif
76 #ifdef VK_KHR_sampler_mirror_clamp_to_edge
77 #endif
78 #ifdef VK_KHR_multiview
79 #endif
80 #ifdef VK_KHR_get_physical_device_properties2
81 #endif
82 #ifdef VK_KHR_device_group
83 #endif
84 #ifdef VK_KHR_shader_draw_parameters
85 #endif
86 #ifdef VK_KHR_maintenance1
87 #endif
88 #ifdef VK_KHR_device_group_creation
89 #endif
90 #ifdef VK_KHR_external_memory_capabilities
91 #endif
92 #ifdef VK_KHR_external_memory
93 #endif
94 #ifdef VK_KHR_external_memory_win32
95 #endif
96 #ifdef VK_KHR_external_memory_fd
97 #endif
98 #ifdef VK_KHR_win32_keyed_mutex
99 #endif
100 #ifdef VK_KHR_external_semaphore_capabilities
101 #endif
102 #ifdef VK_KHR_external_semaphore
103 #endif
104 #ifdef VK_KHR_external_semaphore_win32
105 #endif
106 #ifdef VK_KHR_external_semaphore_fd
107 #endif
108 #ifdef VK_KHR_push_descriptor
109 #endif
110 #ifdef VK_KHR_16bit_storage
111 #endif
112 #ifdef VK_KHR_incremental_present
113 #endif
114 #ifdef VK_KHR_descriptor_update_template
115 #endif
116 #ifdef VK_KHR_create_renderpass2
117 #endif
118 #ifdef VK_KHR_shared_presentable_image
119 #endif
120 #ifdef VK_KHR_external_fence_capabilities
121 #endif
122 #ifdef VK_KHR_external_fence
123 #endif
124 #ifdef VK_KHR_external_fence_win32
125 #endif
126 #ifdef VK_KHR_external_fence_fd
127 #endif
128 #ifdef VK_KHR_maintenance2
129 #endif
130 #ifdef VK_KHR_get_surface_capabilities2
131 #endif
132 #ifdef VK_KHR_variable_pointers
133 #endif
134 #ifdef VK_KHR_get_display_properties2
135 #endif
136 #ifdef VK_KHR_dedicated_allocation
137 #endif
138 #ifdef VK_KHR_storage_buffer_storage_class
139 #endif
140 #ifdef VK_KHR_relaxed_block_layout
141 #endif
142 #ifdef VK_KHR_get_memory_requirements2
143 #endif
144 #ifdef VK_KHR_image_format_list
145 #endif
146 #ifdef VK_KHR_sampler_ycbcr_conversion
147 #endif
148 #ifdef VK_KHR_bind_memory2
149 #endif
150 #ifdef VK_KHR_maintenance3
151 #endif
152 #ifdef VK_KHR_draw_indirect_count
153 #endif
154 #ifdef VK_KHR_8bit_storage
155 #endif
156 #ifdef VK_KHR_shader_float16_int8
157 #endif
158 #ifdef VK_ANDROID_native_buffer
159 #endif
160 #ifdef VK_EXT_debug_report
161 #endif
162 #ifdef VK_NV_glsl_shader
163 #endif
164 #ifdef VK_EXT_depth_range_unrestricted
165 #endif
166 #ifdef VK_IMG_filter_cubic
167 #endif
168 #ifdef VK_AMD_rasterization_order
169 #endif
170 #ifdef VK_AMD_shader_trinary_minmax
171 #endif
172 #ifdef VK_AMD_shader_explicit_vertex_parameter
173 #endif
174 #ifdef VK_EXT_debug_marker
175 #endif
176 #ifdef VK_AMD_gcn_shader
177 #endif
178 #ifdef VK_NV_dedicated_allocation
179 #endif
180 #ifdef VK_AMD_draw_indirect_count
181 #endif
182 #ifdef VK_AMD_negative_viewport_height
183 #endif
184 #ifdef VK_AMD_gpu_shader_half_float
185 #endif
186 #ifdef VK_AMD_shader_ballot
187 #endif
188 #ifdef VK_AMD_texture_gather_bias_lod
189 #endif
190 #ifdef VK_AMD_shader_info
191 #endif
192 #ifdef VK_AMD_shader_image_load_store_lod
193 #endif
194 #ifdef VK_IMG_format_pvrtc
195 #endif
196 #ifdef VK_NV_external_memory_capabilities
197 #endif
198 #ifdef VK_NV_external_memory
199 #endif
200 #ifdef VK_NV_external_memory_win32
201 #endif
202 #ifdef VK_NV_win32_keyed_mutex
203 #endif
204 #ifdef VK_EXT_validation_flags
205 #endif
206 #ifdef VK_NN_vi_surface
207 #endif
208 #ifdef VK_EXT_shader_subgroup_ballot
209 #endif
210 #ifdef VK_EXT_shader_subgroup_vote
211 #endif
212 #ifdef VK_EXT_conditional_rendering
213 #endif
214 #ifdef VK_NVX_device_generated_commands
215 #endif
216 #ifdef VK_NV_clip_space_w_scaling
217 #endif
218 #ifdef VK_EXT_direct_mode_display
219 #endif
220 #ifdef VK_EXT_acquire_xlib_display
221 #endif
222 #ifdef VK_EXT_display_surface_counter
223 #endif
224 #ifdef VK_EXT_display_control
225 #endif
226 #ifdef VK_GOOGLE_display_timing
227 #endif
228 #ifdef VK_NV_sample_mask_override_coverage
229 #endif
230 #ifdef VK_NV_geometry_shader_passthrough
231 #endif
232 #ifdef VK_NV_viewport_array2
233 #endif
234 #ifdef VK_NVX_multiview_per_view_attributes
235 #endif
236 #ifdef VK_NV_viewport_swizzle
237 #endif
238 #ifdef VK_EXT_discard_rectangles
239 #endif
240 #ifdef VK_EXT_conservative_rasterization
241 #endif
242 #ifdef VK_EXT_swapchain_colorspace
243 #endif
244 #ifdef VK_EXT_hdr_metadata
245 #endif
246 #ifdef VK_MVK_ios_surface
247 #endif
248 #ifdef VK_MVK_macos_surface
249 #endif
250 #ifdef VK_EXT_external_memory_dma_buf
251 #endif
252 #ifdef VK_EXT_queue_family_foreign
253 #endif
254 #ifdef VK_EXT_debug_utils
255 #endif
256 #ifdef VK_ANDROID_external_memory_android_hardware_buffer
257 #endif
258 #ifdef VK_EXT_sampler_filter_minmax
259 #endif
260 #ifdef VK_AMD_gpu_shader_int16
261 #endif
262 #ifdef VK_AMD_mixed_attachment_samples
263 #endif
264 #ifdef VK_AMD_shader_fragment_mask
265 #endif
266 #ifdef VK_EXT_shader_stencil_export
267 #endif
268 #ifdef VK_EXT_sample_locations
269 #endif
270 #ifdef VK_EXT_blend_operation_advanced
271 #endif
272 #ifdef VK_NV_fragment_coverage_to_color
273 #endif
274 #ifdef VK_NV_framebuffer_mixed_samples
275 #endif
276 #ifdef VK_NV_fill_rectangle
277 #endif
278 #ifdef VK_EXT_post_depth_coverage
279 #endif
280 #ifdef VK_EXT_validation_cache
281 #endif
282 #ifdef VK_EXT_descriptor_indexing
283 #endif
284 #ifdef VK_EXT_shader_viewport_index_layer
285 #endif
286 #ifdef VK_EXT_global_priority
287 #endif
288 #ifdef VK_EXT_external_memory_host
289 #endif
290 #ifdef VK_AMD_buffer_marker
291 #endif
292 #ifdef VK_AMD_shader_core_properties
293 #endif
294 #ifdef VK_EXT_vertex_attribute_divisor
295 #endif
296 #ifdef VK_NV_shader_subgroup_partitioned
297 #endif
298 #ifdef VK_NV_device_diagnostic_checkpoints
299 #endif
300 #ifdef VK_GOOGLE_address_space
301 #endif
302 #ifdef VK_GOOGLE_color_buffer
303 #endif
304 #ifdef VK_GOOGLE_sized_descriptor_update_template
305 #endif
306 #ifdef VK_GOOGLE_async_command_buffers
307 #endif
308 #ifdef VK_GOOGLE_create_resources_with_requirements
309 #endif
310 #ifdef VK_GOOGLE_address_space_info
311 #endif
312 #ifdef VK_GOOGLE_free_memory_sync
313 #endif
314 #ifdef VK_GOOGLE_async_queue_submit
315 #endif
316 
317 } // namespace goldfish_vk
318