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 VkStructureType rootType, 47 const void* structExtension); 48 49 size_t goldfish_vk_extension_struct_size_with_stream_features( 50 uint32_t streamFeatures, 51 VkStructureType rootType, 52 const void* structExtension); 53 54 #ifdef VK_VERSION_1_0 55 #endif 56 #ifdef VK_VERSION_1_1 57 #endif 58 #ifdef VK_VERSION_1_2 59 #endif 60 #ifdef VK_KHR_surface 61 #endif 62 #ifdef VK_KHR_swapchain 63 #endif 64 #ifdef VK_KHR_display 65 #endif 66 #ifdef VK_KHR_display_swapchain 67 #endif 68 #ifdef VK_KHR_xlib_surface 69 #endif 70 #ifdef VK_KHR_xcb_surface 71 #endif 72 #ifdef VK_KHR_wayland_surface 73 #endif 74 #ifdef VK_KHR_android_surface 75 #endif 76 #ifdef VK_KHR_win32_surface 77 #endif 78 #ifdef VK_KHR_sampler_mirror_clamp_to_edge 79 #endif 80 #ifdef VK_KHR_multiview 81 #endif 82 #ifdef VK_KHR_get_physical_device_properties2 83 #endif 84 #ifdef VK_KHR_device_group 85 #endif 86 #ifdef VK_KHR_shader_draw_parameters 87 #endif 88 #ifdef VK_KHR_maintenance1 89 #endif 90 #ifdef VK_KHR_device_group_creation 91 #endif 92 #ifdef VK_KHR_external_memory_capabilities 93 #endif 94 #ifdef VK_KHR_external_memory 95 #endif 96 #ifdef VK_KHR_external_memory_win32 97 #endif 98 #ifdef VK_KHR_external_memory_fd 99 #endif 100 #ifdef VK_KHR_win32_keyed_mutex 101 #endif 102 #ifdef VK_KHR_external_semaphore_capabilities 103 #endif 104 #ifdef VK_KHR_external_semaphore 105 #endif 106 #ifdef VK_KHR_external_semaphore_win32 107 #endif 108 #ifdef VK_KHR_external_semaphore_fd 109 #endif 110 #ifdef VK_KHR_push_descriptor 111 #endif 112 #ifdef VK_KHR_shader_float16_int8 113 #endif 114 #ifdef VK_KHR_16bit_storage 115 #endif 116 #ifdef VK_KHR_incremental_present 117 #endif 118 #ifdef VK_KHR_descriptor_update_template 119 #endif 120 #ifdef VK_KHR_imageless_framebuffer 121 #endif 122 #ifdef VK_KHR_create_renderpass2 123 #endif 124 #ifdef VK_KHR_shared_presentable_image 125 #endif 126 #ifdef VK_KHR_external_fence_capabilities 127 #endif 128 #ifdef VK_KHR_external_fence 129 #endif 130 #ifdef VK_KHR_external_fence_win32 131 #endif 132 #ifdef VK_KHR_external_fence_fd 133 #endif 134 #ifdef VK_KHR_performance_query 135 #endif 136 #ifdef VK_KHR_maintenance2 137 #endif 138 #ifdef VK_KHR_get_surface_capabilities2 139 #endif 140 #ifdef VK_KHR_variable_pointers 141 #endif 142 #ifdef VK_KHR_get_display_properties2 143 #endif 144 #ifdef VK_KHR_dedicated_allocation 145 #endif 146 #ifdef VK_KHR_storage_buffer_storage_class 147 #endif 148 #ifdef VK_KHR_relaxed_block_layout 149 #endif 150 #ifdef VK_KHR_get_memory_requirements2 151 #endif 152 #ifdef VK_KHR_image_format_list 153 #endif 154 #ifdef VK_KHR_sampler_ycbcr_conversion 155 #endif 156 #ifdef VK_KHR_bind_memory2 157 #endif 158 #ifdef VK_KHR_portability_subset 159 #endif 160 #ifdef VK_KHR_maintenance3 161 #endif 162 #ifdef VK_KHR_draw_indirect_count 163 #endif 164 #ifdef VK_KHR_shader_subgroup_extended_types 165 #endif 166 #ifdef VK_KHR_8bit_storage 167 #endif 168 #ifdef VK_KHR_shader_atomic_int64 169 #endif 170 #ifdef VK_KHR_shader_clock 171 #endif 172 #ifdef VK_KHR_driver_properties 173 #endif 174 #ifdef VK_KHR_shader_float_controls 175 #endif 176 #ifdef VK_KHR_depth_stencil_resolve 177 #endif 178 #ifdef VK_KHR_swapchain_mutable_format 179 #endif 180 #ifdef VK_KHR_timeline_semaphore 181 #endif 182 #ifdef VK_KHR_vulkan_memory_model 183 #endif 184 #ifdef VK_KHR_shader_terminate_invocation 185 #endif 186 #ifdef VK_KHR_fragment_shading_rate 187 #endif 188 #ifdef VK_KHR_spirv_1_4 189 #endif 190 #ifdef VK_KHR_surface_protected_capabilities 191 #endif 192 #ifdef VK_KHR_separate_depth_stencil_layouts 193 #endif 194 #ifdef VK_KHR_uniform_buffer_standard_layout 195 #endif 196 #ifdef VK_KHR_buffer_device_address 197 #endif 198 #ifdef VK_KHR_deferred_host_operations 199 #endif 200 #ifdef VK_KHR_pipeline_executable_properties 201 #endif 202 #ifdef VK_KHR_pipeline_library 203 #endif 204 #ifdef VK_KHR_shader_non_semantic_info 205 #endif 206 #ifdef VK_KHR_copy_commands2 207 #endif 208 #ifdef VK_ANDROID_native_buffer 209 #endif 210 #ifdef VK_EXT_debug_report 211 #endif 212 #ifdef VK_NV_glsl_shader 213 #endif 214 #ifdef VK_EXT_depth_range_unrestricted 215 #endif 216 #ifdef VK_IMG_filter_cubic 217 #endif 218 #ifdef VK_AMD_rasterization_order 219 #endif 220 #ifdef VK_AMD_shader_trinary_minmax 221 #endif 222 #ifdef VK_AMD_shader_explicit_vertex_parameter 223 #endif 224 #ifdef VK_EXT_debug_marker 225 #endif 226 #ifdef VK_AMD_gcn_shader 227 #endif 228 #ifdef VK_NV_dedicated_allocation 229 #endif 230 #ifdef VK_EXT_transform_feedback 231 #endif 232 #ifdef VK_NVX_image_view_handle 233 #endif 234 #ifdef VK_AMD_draw_indirect_count 235 #endif 236 #ifdef VK_AMD_negative_viewport_height 237 #endif 238 #ifdef VK_AMD_gpu_shader_half_float 239 #endif 240 #ifdef VK_AMD_shader_ballot 241 #endif 242 #ifdef VK_AMD_texture_gather_bias_lod 243 #endif 244 #ifdef VK_AMD_shader_info 245 #endif 246 #ifdef VK_AMD_shader_image_load_store_lod 247 #endif 248 #ifdef VK_GGP_stream_descriptor_surface 249 #endif 250 #ifdef VK_NV_corner_sampled_image 251 #endif 252 #ifdef VK_IMG_format_pvrtc 253 #endif 254 #ifdef VK_NV_external_memory_capabilities 255 #endif 256 #ifdef VK_NV_external_memory 257 #endif 258 #ifdef VK_NV_external_memory_win32 259 #endif 260 #ifdef VK_NV_win32_keyed_mutex 261 #endif 262 #ifdef VK_EXT_validation_flags 263 #endif 264 #ifdef VK_NN_vi_surface 265 #endif 266 #ifdef VK_EXT_shader_subgroup_ballot 267 #endif 268 #ifdef VK_EXT_shader_subgroup_vote 269 #endif 270 #ifdef VK_EXT_texture_compression_astc_hdr 271 #endif 272 #ifdef VK_EXT_astc_decode_mode 273 #endif 274 #ifdef VK_EXT_conditional_rendering 275 #endif 276 #ifdef VK_NV_clip_space_w_scaling 277 #endif 278 #ifdef VK_EXT_direct_mode_display 279 #endif 280 #ifdef VK_EXT_acquire_xlib_display 281 #endif 282 #ifdef VK_EXT_display_surface_counter 283 #endif 284 #ifdef VK_EXT_display_control 285 #endif 286 #ifdef VK_GOOGLE_display_timing 287 #endif 288 #ifdef VK_NV_sample_mask_override_coverage 289 #endif 290 #ifdef VK_NV_geometry_shader_passthrough 291 #endif 292 #ifdef VK_NV_viewport_array2 293 #endif 294 #ifdef VK_NVX_multiview_per_view_attributes 295 #endif 296 #ifdef VK_NV_viewport_swizzle 297 #endif 298 #ifdef VK_EXT_discard_rectangles 299 #endif 300 #ifdef VK_EXT_conservative_rasterization 301 #endif 302 #ifdef VK_EXT_depth_clip_enable 303 #endif 304 #ifdef VK_EXT_swapchain_colorspace 305 #endif 306 #ifdef VK_EXT_hdr_metadata 307 #endif 308 #ifdef VK_MVK_ios_surface 309 #endif 310 #ifdef VK_MVK_macos_surface 311 #endif 312 #ifdef VK_MVK_moltenvk 313 #endif 314 #ifdef VK_EXT_external_memory_dma_buf 315 #endif 316 #ifdef VK_EXT_queue_family_foreign 317 #endif 318 #ifdef VK_EXT_debug_utils 319 #endif 320 #ifdef VK_ANDROID_external_memory_android_hardware_buffer 321 #endif 322 #ifdef VK_EXT_sampler_filter_minmax 323 #endif 324 #ifdef VK_AMD_gpu_shader_int16 325 #endif 326 #ifdef VK_AMD_mixed_attachment_samples 327 #endif 328 #ifdef VK_AMD_shader_fragment_mask 329 #endif 330 #ifdef VK_EXT_inline_uniform_block 331 #endif 332 #ifdef VK_EXT_shader_stencil_export 333 #endif 334 #ifdef VK_EXT_sample_locations 335 #endif 336 #ifdef VK_EXT_blend_operation_advanced 337 #endif 338 #ifdef VK_NV_fragment_coverage_to_color 339 #endif 340 #ifdef VK_NV_framebuffer_mixed_samples 341 #endif 342 #ifdef VK_NV_fill_rectangle 343 #endif 344 #ifdef VK_NV_shader_sm_builtins 345 #endif 346 #ifdef VK_EXT_post_depth_coverage 347 #endif 348 #ifdef VK_EXT_image_drm_format_modifier 349 #endif 350 #ifdef VK_EXT_validation_cache 351 #endif 352 #ifdef VK_EXT_descriptor_indexing 353 #endif 354 #ifdef VK_EXT_shader_viewport_index_layer 355 #endif 356 #ifdef VK_NV_shading_rate_image 357 #endif 358 #ifdef VK_NV_ray_tracing 359 #endif 360 #ifdef VK_NV_representative_fragment_test 361 #endif 362 #ifdef VK_EXT_filter_cubic 363 #endif 364 #ifdef VK_QCOM_render_pass_shader_resolve 365 #endif 366 #ifdef VK_EXT_global_priority 367 #endif 368 #ifdef VK_EXT_external_memory_host 369 #endif 370 #ifdef VK_AMD_buffer_marker 371 #endif 372 #ifdef VK_AMD_pipeline_compiler_control 373 #endif 374 #ifdef VK_EXT_calibrated_timestamps 375 #endif 376 #ifdef VK_AMD_shader_core_properties 377 #endif 378 #ifdef VK_AMD_memory_overallocation_behavior 379 #endif 380 #ifdef VK_EXT_vertex_attribute_divisor 381 #endif 382 #ifdef VK_GGP_frame_token 383 #endif 384 #ifdef VK_EXT_pipeline_creation_feedback 385 #endif 386 #ifdef VK_NV_shader_subgroup_partitioned 387 #endif 388 #ifdef VK_NV_compute_shader_derivatives 389 #endif 390 #ifdef VK_NV_mesh_shader 391 #endif 392 #ifdef VK_NV_fragment_shader_barycentric 393 #endif 394 #ifdef VK_NV_shader_image_footprint 395 #endif 396 #ifdef VK_NV_scissor_exclusive 397 #endif 398 #ifdef VK_NV_device_diagnostic_checkpoints 399 #endif 400 #ifdef VK_INTEL_shader_integer_functions2 401 #endif 402 #ifdef VK_INTEL_performance_query 403 #endif 404 #ifdef VK_EXT_pci_bus_info 405 #endif 406 #ifdef VK_AMD_display_native_hdr 407 #endif 408 #ifdef VK_FUCHSIA_imagepipe_surface 409 #endif 410 #ifdef VK_EXT_metal_surface 411 #endif 412 #ifdef VK_EXT_fragment_density_map 413 #endif 414 #ifdef VK_EXT_scalar_block_layout 415 #endif 416 #ifdef VK_GOOGLE_hlsl_functionality1 417 #endif 418 #ifdef VK_GOOGLE_decorate_string 419 #endif 420 #ifdef VK_EXT_subgroup_size_control 421 #endif 422 #ifdef VK_AMD_shader_core_properties2 423 #endif 424 #ifdef VK_AMD_device_coherent_memory 425 #endif 426 #ifdef VK_EXT_shader_image_atomic_int64 427 #endif 428 #ifdef VK_EXT_memory_budget 429 #endif 430 #ifdef VK_EXT_memory_priority 431 #endif 432 #ifdef VK_NV_dedicated_allocation_image_aliasing 433 #endif 434 #ifdef VK_EXT_buffer_device_address 435 #endif 436 #ifdef VK_EXT_tooling_info 437 #endif 438 #ifdef VK_EXT_separate_stencil_usage 439 #endif 440 #ifdef VK_EXT_validation_features 441 #endif 442 #ifdef VK_NV_cooperative_matrix 443 #endif 444 #ifdef VK_NV_coverage_reduction_mode 445 #endif 446 #ifdef VK_EXT_fragment_shader_interlock 447 #endif 448 #ifdef VK_EXT_ycbcr_image_arrays 449 #endif 450 #ifdef VK_EXT_full_screen_exclusive 451 #endif 452 #ifdef VK_EXT_headless_surface 453 #endif 454 #ifdef VK_EXT_line_rasterization 455 #endif 456 #ifdef VK_EXT_shader_atomic_float 457 #endif 458 #ifdef VK_EXT_host_query_reset 459 #endif 460 #ifdef VK_EXT_index_type_uint8 461 #endif 462 #ifdef VK_EXT_extended_dynamic_state 463 #endif 464 #ifdef VK_EXT_shader_demote_to_helper_invocation 465 #endif 466 #ifdef VK_NV_device_generated_commands 467 #endif 468 #ifdef VK_EXT_texel_buffer_alignment 469 #endif 470 #ifdef VK_QCOM_render_pass_transform 471 #endif 472 #ifdef VK_EXT_device_memory_report 473 #endif 474 #ifdef VK_EXT_robustness2 475 #endif 476 #ifdef VK_EXT_custom_border_color 477 #endif 478 #ifdef VK_GOOGLE_user_type 479 #endif 480 #ifdef VK_EXT_private_data 481 #endif 482 #ifdef VK_EXT_pipeline_creation_cache_control 483 #endif 484 #ifdef VK_NV_device_diagnostics_config 485 #endif 486 #ifdef VK_QCOM_render_pass_store_ops 487 #endif 488 #ifdef VK_NV_fragment_shading_rate_enums 489 #endif 490 #ifdef VK_EXT_fragment_density_map2 491 #endif 492 #ifdef VK_QCOM_rotated_copy_commands 493 #endif 494 #ifdef VK_EXT_image_robustness 495 #endif 496 #ifdef VK_EXT_4444_formats 497 #endif 498 #ifdef VK_EXT_directfb_surface 499 #endif 500 #ifdef VK_GOOGLE_gfxstream 501 #endif 502 #ifdef VK_KHR_acceleration_structure 503 #endif 504 #ifdef VK_KHR_ray_tracing_pipeline 505 #endif 506 #ifdef VK_KHR_ray_query 507 #endif 508 509 } // namespace goldfish_vk 510