• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml cereal -o ../qemu/android/android-emugl/host/libs/libOpenglRender/vulkan/cereal
18 // Please do not modify directly;
19 // re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
20 // or directly from Python by defining:
21 // VULKAN_REGISTRY_XML_DIR : Directory containing vk.xml
22 // VULKAN_REGISTRY_SCRIPTS_DIR : Directory containing genvk.py
23 // CEREAL_OUTPUT_DIR: Where to put the generated sources.
24 // python3 $VULKAN_REGISTRY_SCRIPTS_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o $CEREAL_OUTPUT_DIR
25 
26 #pragma once
27 
28 #include <vulkan/vulkan.h>
29 
30 
31 #include "vk_platform_compat.h"
32 #include "goldfish_vk_private_defs.h"
33 // Stuff we are not going to use but if included,
34 // will cause compile errors. These are Android Vulkan
35 // required extensions, but the approach will be to
36 // implement them completely on the guest side.
37 #undef VK_KHR_android_surface
38 #undef VK_ANDROID_external_memory_android_hardware_buffer
39 
40 
41 namespace goldfish_vk {
42 
43 uint32_t goldfish_vk_struct_type(
44     const void* structExtension);
45 
46 size_t goldfish_vk_extension_struct_size(
47     VkStructureType rootType,
48     const void* structExtension);
49 
50 size_t goldfish_vk_extension_struct_size_with_stream_features(
51     uint32_t streamFeatures,
52     VkStructureType rootType,
53     const void* structExtension);
54 
55 #ifdef VK_VERSION_1_0
56 #endif
57 #ifdef VK_VERSION_1_1
58 #endif
59 #ifdef VK_VERSION_1_2
60 #endif
61 #ifdef VK_KHR_surface
62 #endif
63 #ifdef VK_KHR_swapchain
64 #endif
65 #ifdef VK_KHR_display
66 #endif
67 #ifdef VK_KHR_display_swapchain
68 #endif
69 #ifdef VK_KHR_xlib_surface
70 #endif
71 #ifdef VK_KHR_xcb_surface
72 #endif
73 #ifdef VK_KHR_wayland_surface
74 #endif
75 #ifdef VK_KHR_android_surface
76 #endif
77 #ifdef VK_KHR_win32_surface
78 #endif
79 #ifdef VK_KHR_sampler_mirror_clamp_to_edge
80 #endif
81 #ifdef VK_KHR_video_queue
82 #endif
83 #ifdef VK_KHR_video_decode_queue
84 #endif
85 #ifdef VK_KHR_dynamic_rendering
86 #endif
87 #ifdef VK_KHR_multiview
88 #endif
89 #ifdef VK_KHR_get_physical_device_properties2
90 #endif
91 #ifdef VK_KHR_device_group
92 #endif
93 #ifdef VK_KHR_shader_draw_parameters
94 #endif
95 #ifdef VK_KHR_maintenance1
96 #endif
97 #ifdef VK_KHR_device_group_creation
98 #endif
99 #ifdef VK_KHR_external_memory_capabilities
100 #endif
101 #ifdef VK_KHR_external_memory
102 #endif
103 #ifdef VK_KHR_external_memory_win32
104 #endif
105 #ifdef VK_KHR_external_memory_fd
106 #endif
107 #ifdef VK_KHR_win32_keyed_mutex
108 #endif
109 #ifdef VK_KHR_external_semaphore_capabilities
110 #endif
111 #ifdef VK_KHR_external_semaphore
112 #endif
113 #ifdef VK_KHR_external_semaphore_win32
114 #endif
115 #ifdef VK_KHR_external_semaphore_fd
116 #endif
117 #ifdef VK_KHR_push_descriptor
118 #endif
119 #ifdef VK_KHR_shader_float16_int8
120 #endif
121 #ifdef VK_KHR_16bit_storage
122 #endif
123 #ifdef VK_KHR_incremental_present
124 #endif
125 #ifdef VK_KHR_descriptor_update_template
126 #endif
127 #ifdef VK_KHR_imageless_framebuffer
128 #endif
129 #ifdef VK_KHR_create_renderpass2
130 #endif
131 #ifdef VK_KHR_shared_presentable_image
132 #endif
133 #ifdef VK_KHR_external_fence_capabilities
134 #endif
135 #ifdef VK_KHR_external_fence
136 #endif
137 #ifdef VK_KHR_external_fence_win32
138 #endif
139 #ifdef VK_KHR_external_fence_fd
140 #endif
141 #ifdef VK_KHR_performance_query
142 #endif
143 #ifdef VK_KHR_maintenance2
144 #endif
145 #ifdef VK_KHR_get_surface_capabilities2
146 #endif
147 #ifdef VK_KHR_variable_pointers
148 #endif
149 #ifdef VK_KHR_get_display_properties2
150 #endif
151 #ifdef VK_KHR_dedicated_allocation
152 #endif
153 #ifdef VK_KHR_storage_buffer_storage_class
154 #endif
155 #ifdef VK_KHR_relaxed_block_layout
156 #endif
157 #ifdef VK_KHR_get_memory_requirements2
158 #endif
159 #ifdef VK_KHR_image_format_list
160 #endif
161 #ifdef VK_KHR_sampler_ycbcr_conversion
162 #endif
163 #ifdef VK_KHR_bind_memory2
164 #endif
165 #ifdef VK_KHR_portability_subset
166 #endif
167 #ifdef VK_KHR_maintenance3
168 #endif
169 #ifdef VK_KHR_draw_indirect_count
170 #endif
171 #ifdef VK_KHR_shader_subgroup_extended_types
172 #endif
173 #ifdef VK_KHR_8bit_storage
174 #endif
175 #ifdef VK_KHR_shader_atomic_int64
176 #endif
177 #ifdef VK_KHR_shader_clock
178 #endif
179 #ifdef VK_KHR_driver_properties
180 #endif
181 #ifdef VK_KHR_shader_float_controls
182 #endif
183 #ifdef VK_KHR_depth_stencil_resolve
184 #endif
185 #ifdef VK_KHR_swapchain_mutable_format
186 #endif
187 #ifdef VK_KHR_timeline_semaphore
188 #endif
189 #ifdef VK_KHR_vulkan_memory_model
190 #endif
191 #ifdef VK_KHR_shader_terminate_invocation
192 #endif
193 #ifdef VK_KHR_fragment_shading_rate
194 #endif
195 #ifdef VK_KHR_spirv_1_4
196 #endif
197 #ifdef VK_KHR_surface_protected_capabilities
198 #endif
199 #ifdef VK_KHR_separate_depth_stencil_layouts
200 #endif
201 #ifdef VK_KHR_present_wait
202 #endif
203 #ifdef VK_KHR_uniform_buffer_standard_layout
204 #endif
205 #ifdef VK_KHR_buffer_device_address
206 #endif
207 #ifdef VK_KHR_deferred_host_operations
208 #endif
209 #ifdef VK_KHR_pipeline_executable_properties
210 #endif
211 #ifdef VK_KHR_shader_integer_dot_product
212 #endif
213 #ifdef VK_KHR_pipeline_library
214 #endif
215 #ifdef VK_KHR_shader_non_semantic_info
216 #endif
217 #ifdef VK_KHR_present_id
218 #endif
219 #ifdef VK_KHR_video_encode_queue
220 #endif
221 #ifdef VK_KHR_synchronization2
222 #endif
223 #ifdef VK_KHR_shader_subgroup_uniform_control_flow
224 #endif
225 #ifdef VK_KHR_zero_initialize_workgroup_memory
226 #endif
227 #ifdef VK_KHR_workgroup_memory_explicit_layout
228 #endif
229 #ifdef VK_KHR_copy_commands2
230 #endif
231 #ifdef VK_KHR_format_feature_flags2
232 #endif
233 #ifdef VK_KHR_maintenance4
234 #endif
235 #ifdef VK_ANDROID_native_buffer
236 #endif
237 #ifdef VK_EXT_debug_report
238 #endif
239 #ifdef VK_NV_glsl_shader
240 #endif
241 #ifdef VK_EXT_depth_range_unrestricted
242 #endif
243 #ifdef VK_IMG_filter_cubic
244 #endif
245 #ifdef VK_AMD_rasterization_order
246 #endif
247 #ifdef VK_AMD_shader_trinary_minmax
248 #endif
249 #ifdef VK_AMD_shader_explicit_vertex_parameter
250 #endif
251 #ifdef VK_EXT_debug_marker
252 #endif
253 #ifdef VK_AMD_gcn_shader
254 #endif
255 #ifdef VK_NV_dedicated_allocation
256 #endif
257 #ifdef VK_EXT_transform_feedback
258 #endif
259 #ifdef VK_NVX_binary_import
260 #endif
261 #ifdef VK_NVX_image_view_handle
262 #endif
263 #ifdef VK_AMD_draw_indirect_count
264 #endif
265 #ifdef VK_AMD_negative_viewport_height
266 #endif
267 #ifdef VK_AMD_gpu_shader_half_float
268 #endif
269 #ifdef VK_AMD_shader_ballot
270 #endif
271 #ifdef VK_EXT_video_encode_h264
272 #endif
273 #ifdef VK_EXT_video_encode_h265
274 #endif
275 #ifdef VK_EXT_video_decode_h264
276 #endif
277 #ifdef VK_AMD_texture_gather_bias_lod
278 #endif
279 #ifdef VK_AMD_shader_info
280 #endif
281 #ifdef VK_AMD_shader_image_load_store_lod
282 #endif
283 #ifdef VK_GGP_stream_descriptor_surface
284 #endif
285 #ifdef VK_NV_corner_sampled_image
286 #endif
287 #ifdef VK_IMG_format_pvrtc
288 #endif
289 #ifdef VK_NV_external_memory_capabilities
290 #endif
291 #ifdef VK_NV_external_memory
292 #endif
293 #ifdef VK_NV_external_memory_win32
294 #endif
295 #ifdef VK_NV_win32_keyed_mutex
296 #endif
297 #ifdef VK_EXT_validation_flags
298 #endif
299 #ifdef VK_NN_vi_surface
300 #endif
301 #ifdef VK_EXT_shader_subgroup_ballot
302 #endif
303 #ifdef VK_EXT_shader_subgroup_vote
304 #endif
305 #ifdef VK_EXT_texture_compression_astc_hdr
306 #endif
307 #ifdef VK_EXT_astc_decode_mode
308 #endif
309 #ifdef VK_EXT_conditional_rendering
310 #endif
311 #ifdef VK_NV_clip_space_w_scaling
312 #endif
313 #ifdef VK_EXT_direct_mode_display
314 #endif
315 #ifdef VK_EXT_acquire_xlib_display
316 #endif
317 #ifdef VK_EXT_display_surface_counter
318 #endif
319 #ifdef VK_EXT_display_control
320 #endif
321 #ifdef VK_GOOGLE_display_timing
322 #endif
323 #ifdef VK_NV_sample_mask_override_coverage
324 #endif
325 #ifdef VK_NV_geometry_shader_passthrough
326 #endif
327 #ifdef VK_NV_viewport_array2
328 #endif
329 #ifdef VK_NVX_multiview_per_view_attributes
330 #endif
331 #ifdef VK_NV_viewport_swizzle
332 #endif
333 #ifdef VK_EXT_discard_rectangles
334 #endif
335 #ifdef VK_EXT_conservative_rasterization
336 #endif
337 #ifdef VK_EXT_depth_clip_enable
338 #endif
339 #ifdef VK_EXT_swapchain_colorspace
340 #endif
341 #ifdef VK_EXT_hdr_metadata
342 #endif
343 #ifdef VK_MVK_ios_surface
344 #endif
345 #ifdef VK_MVK_macos_surface
346 #endif
347 #ifdef VK_MVK_moltenvk
348 #endif
349 #ifdef VK_EXT_external_memory_dma_buf
350 #endif
351 #ifdef VK_EXT_queue_family_foreign
352 #endif
353 #ifdef VK_EXT_debug_utils
354 #endif
355 #ifdef VK_ANDROID_external_memory_android_hardware_buffer
356 #endif
357 #ifdef VK_EXT_sampler_filter_minmax
358 #endif
359 #ifdef VK_AMD_gpu_shader_int16
360 #endif
361 #ifdef VK_AMD_mixed_attachment_samples
362 #endif
363 #ifdef VK_AMD_shader_fragment_mask
364 #endif
365 #ifdef VK_EXT_inline_uniform_block
366 #endif
367 #ifdef VK_EXT_shader_stencil_export
368 #endif
369 #ifdef VK_EXT_sample_locations
370 #endif
371 #ifdef VK_EXT_blend_operation_advanced
372 #endif
373 #ifdef VK_NV_fragment_coverage_to_color
374 #endif
375 #ifdef VK_NV_framebuffer_mixed_samples
376 #endif
377 #ifdef VK_NV_fill_rectangle
378 #endif
379 #ifdef VK_NV_shader_sm_builtins
380 #endif
381 #ifdef VK_EXT_post_depth_coverage
382 #endif
383 #ifdef VK_EXT_image_drm_format_modifier
384 #endif
385 #ifdef VK_EXT_validation_cache
386 #endif
387 #ifdef VK_EXT_descriptor_indexing
388 #endif
389 #ifdef VK_EXT_shader_viewport_index_layer
390 #endif
391 #ifdef VK_NV_shading_rate_image
392 #endif
393 #ifdef VK_NV_ray_tracing
394 #endif
395 #ifdef VK_NV_representative_fragment_test
396 #endif
397 #ifdef VK_EXT_filter_cubic
398 #endif
399 #ifdef VK_QCOM_render_pass_shader_resolve
400 #endif
401 #ifdef VK_EXT_global_priority
402 #endif
403 #ifdef VK_EXT_external_memory_host
404 #endif
405 #ifdef VK_AMD_buffer_marker
406 #endif
407 #ifdef VK_AMD_pipeline_compiler_control
408 #endif
409 #ifdef VK_EXT_calibrated_timestamps
410 #endif
411 #ifdef VK_AMD_shader_core_properties
412 #endif
413 #ifdef VK_EXT_video_decode_h265
414 #endif
415 #ifdef VK_AMD_memory_overallocation_behavior
416 #endif
417 #ifdef VK_EXT_vertex_attribute_divisor
418 #endif
419 #ifdef VK_GGP_frame_token
420 #endif
421 #ifdef VK_EXT_pipeline_creation_feedback
422 #endif
423 #ifdef VK_NV_shader_subgroup_partitioned
424 #endif
425 #ifdef VK_NV_compute_shader_derivatives
426 #endif
427 #ifdef VK_NV_mesh_shader
428 #endif
429 #ifdef VK_NV_fragment_shader_barycentric
430 #endif
431 #ifdef VK_NV_shader_image_footprint
432 #endif
433 #ifdef VK_NV_scissor_exclusive
434 #endif
435 #ifdef VK_NV_device_diagnostic_checkpoints
436 #endif
437 #ifdef VK_INTEL_shader_integer_functions2
438 #endif
439 #ifdef VK_INTEL_performance_query
440 #endif
441 #ifdef VK_EXT_pci_bus_info
442 #endif
443 #ifdef VK_AMD_display_native_hdr
444 #endif
445 #ifdef VK_FUCHSIA_imagepipe_surface
446 #endif
447 #ifdef VK_EXT_metal_surface
448 #endif
449 #ifdef VK_EXT_fragment_density_map
450 #endif
451 #ifdef VK_EXT_scalar_block_layout
452 #endif
453 #ifdef VK_GOOGLE_hlsl_functionality1
454 #endif
455 #ifdef VK_GOOGLE_decorate_string
456 #endif
457 #ifdef VK_EXT_subgroup_size_control
458 #endif
459 #ifdef VK_AMD_shader_core_properties2
460 #endif
461 #ifdef VK_AMD_device_coherent_memory
462 #endif
463 #ifdef VK_EXT_shader_image_atomic_int64
464 #endif
465 #ifdef VK_EXT_memory_budget
466 #endif
467 #ifdef VK_EXT_memory_priority
468 #endif
469 #ifdef VK_NV_dedicated_allocation_image_aliasing
470 #endif
471 #ifdef VK_EXT_buffer_device_address
472 #endif
473 #ifdef VK_EXT_tooling_info
474 #endif
475 #ifdef VK_EXT_separate_stencil_usage
476 #endif
477 #ifdef VK_EXT_validation_features
478 #endif
479 #ifdef VK_NV_cooperative_matrix
480 #endif
481 #ifdef VK_NV_coverage_reduction_mode
482 #endif
483 #ifdef VK_EXT_fragment_shader_interlock
484 #endif
485 #ifdef VK_EXT_ycbcr_image_arrays
486 #endif
487 #ifdef VK_EXT_provoking_vertex
488 #endif
489 #ifdef VK_EXT_full_screen_exclusive
490 #endif
491 #ifdef VK_EXT_headless_surface
492 #endif
493 #ifdef VK_EXT_line_rasterization
494 #endif
495 #ifdef VK_EXT_shader_atomic_float
496 #endif
497 #ifdef VK_EXT_host_query_reset
498 #endif
499 #ifdef VK_EXT_index_type_uint8
500 #endif
501 #ifdef VK_EXT_extended_dynamic_state
502 #endif
503 #ifdef VK_EXT_shader_atomic_float2
504 #endif
505 #ifdef VK_EXT_shader_demote_to_helper_invocation
506 #endif
507 #ifdef VK_NV_device_generated_commands
508 #endif
509 #ifdef VK_NV_inherited_viewport_scissor
510 #endif
511 #ifdef VK_EXT_texel_buffer_alignment
512 #endif
513 #ifdef VK_QCOM_render_pass_transform
514 #endif
515 #ifdef VK_EXT_device_memory_report
516 #endif
517 #ifdef VK_EXT_acquire_drm_display
518 #endif
519 #ifdef VK_EXT_robustness2
520 #endif
521 #ifdef VK_EXT_custom_border_color
522 #endif
523 #ifdef VK_GOOGLE_user_type
524 #endif
525 #ifdef VK_EXT_private_data
526 #endif
527 #ifdef VK_EXT_pipeline_creation_cache_control
528 #endif
529 #ifdef VK_NV_device_diagnostics_config
530 #endif
531 #ifdef VK_QCOM_render_pass_store_ops
532 #endif
533 #ifdef VK_NV_fragment_shading_rate_enums
534 #endif
535 #ifdef VK_NV_ray_tracing_motion_blur
536 #endif
537 #ifdef VK_EXT_ycbcr_2plane_444_formats
538 #endif
539 #ifdef VK_EXT_fragment_density_map2
540 #endif
541 #ifdef VK_QCOM_rotated_copy_commands
542 #endif
543 #ifdef VK_EXT_image_robustness
544 #endif
545 #ifdef VK_EXT_4444_formats
546 #endif
547 #ifdef VK_EXT_rgba10x6_formats
548 #endif
549 #ifdef VK_NV_acquire_winrt_display
550 #endif
551 #ifdef VK_EXT_directfb_surface
552 #endif
553 #ifdef VK_VALVE_mutable_descriptor_type
554 #endif
555 #ifdef VK_EXT_vertex_input_dynamic_state
556 #endif
557 #ifdef VK_EXT_physical_device_drm
558 #endif
559 #ifdef VK_EXT_primitive_topology_list_restart
560 #endif
561 #ifdef VK_FUCHSIA_external_memory
562 #endif
563 #ifdef VK_FUCHSIA_external_semaphore
564 #endif
565 #ifdef VK_FUCHSIA_buffer_collection
566 #endif
567 #ifdef VK_HUAWEI_subpass_shading
568 #endif
569 #ifdef VK_HUAWEI_invocation_mask
570 #endif
571 #ifdef VK_NV_external_memory_rdma
572 #endif
573 #ifdef VK_EXT_extended_dynamic_state2
574 #endif
575 #ifdef VK_QNX_screen_surface
576 #endif
577 #ifdef VK_EXT_color_write_enable
578 #endif
579 #ifdef VK_GOOGLE_gfxstream
580 #endif
581 #ifdef VK_EXT_global_priority_query
582 #endif
583 #ifdef VK_EXT_multi_draw
584 #endif
585 #ifdef VK_EXT_load_store_op_none
586 #endif
587 #ifdef VK_EXT_border_color_swizzle
588 #endif
589 #ifdef VK_EXT_pageable_device_local_memory
590 #endif
591 #ifdef VK_KHR_acceleration_structure
592 #endif
593 #ifdef VK_KHR_ray_tracing_pipeline
594 #endif
595 #ifdef VK_KHR_ray_query
596 #endif
597 
598 } // namespace goldfish_vk
599