• 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 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