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