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