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 //
18 // (header) generated by codegen/vulkan/vulkan-docs-next/scripts/genvk.py -registry
19 // codegen/vulkan/vulkan-docs-next/xml/vk.xml -registryGfxstream
20 // codegen/vulkan/vulkan-docs-next/xml/vk_gfxstream.xml cereal -o host/vulkan/cereal
21 //
22 // Please do not modify directly;
23 // re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
24 // or directly from Python by defining:
25 // VULKAN_REGISTRY_XML_DIR : Directory containing vk.xml
26 // VULKAN_REGISTRY_SCRIPTS_DIR : Directory containing genvk.py
27 // CEREAL_OUTPUT_DIR: Where to put the generated sources.
28 //
29 // python3 $VULKAN_REGISTRY_SCRIPTS_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o
30 // $CEREAL_OUTPUT_DIR
31 //
32 #pragma once
33 #include <vulkan/vulkan.h>
34 
35 #include "goldfish_vk_private_defs.h"
36 #include "vk_android_native_buffer_gfxstream.h"
37 #include "vk_platform_compat.h"
38 #include "vulkan_gfxstream.h"
39 // Stuff we are not going to use but if included,
40 // will cause compile errors. These are Android Vulkan
41 // required extensions, but the approach will be to
42 // implement them completely on the guest side.
43 #undef VK_KHR_android_surface
44 #undef VK_ANDROID_external_memory_android_hardware_buffer
45 
46 namespace gfxstream {
47 namespace vk {
48 
49 uint32_t goldfish_vk_struct_type(const void* structExtension);
50 
51 size_t goldfish_vk_extension_struct_size(VkStructureType rootType, const void* structExtension);
52 
53 size_t goldfish_vk_extension_struct_size_with_stream_features(uint32_t streamFeatures,
54                                                               VkStructureType rootType,
55                                                               const void* structExtension);
56 
57 #ifdef VK_VERSION_1_0
58 #endif
59 #ifdef VK_VERSION_1_1
60 #endif
61 #ifdef VK_VERSION_1_2
62 #endif
63 #ifdef VK_VERSION_1_3
64 #endif
65 #ifdef VK_KHR_surface
66 #endif
67 #ifdef VK_KHR_swapchain
68 #endif
69 #ifdef VK_KHR_xcb_surface
70 #endif
71 #ifdef VK_KHR_android_surface
72 #endif
73 #ifdef VK_KHR_win32_surface
74 #endif
75 #ifdef VK_KHR_dynamic_rendering
76 #endif
77 #ifdef VK_KHR_get_physical_device_properties2
78 #endif
79 #ifdef VK_KHR_maintenance1
80 #endif
81 #ifdef VK_KHR_external_memory_capabilities
82 #endif
83 #ifdef VK_KHR_external_memory
84 #endif
85 #ifdef VK_KHR_external_memory_win32
86 #endif
87 #ifdef VK_KHR_external_memory_fd
88 #endif
89 #ifdef VK_KHR_external_semaphore_capabilities
90 #endif
91 #ifdef VK_KHR_external_semaphore
92 #endif
93 #ifdef VK_KHR_external_semaphore_win32
94 #endif
95 #ifdef VK_KHR_external_semaphore_fd
96 #endif
97 #ifdef VK_KHR_shader_float16_int8
98 #endif
99 #ifdef VK_KHR_incremental_present
100 #endif
101 #ifdef VK_KHR_descriptor_update_template
102 #endif
103 #ifdef VK_KHR_imageless_framebuffer
104 #endif
105 #ifdef VK_KHR_create_renderpass2
106 #endif
107 #ifdef VK_KHR_external_fence_capabilities
108 #endif
109 #ifdef VK_KHR_external_fence
110 #endif
111 #ifdef VK_KHR_external_fence_fd
112 #endif
113 #ifdef VK_KHR_maintenance2
114 #endif
115 #ifdef VK_KHR_dedicated_allocation
116 #endif
117 #ifdef VK_KHR_storage_buffer_storage_class
118 #endif
119 #ifdef VK_KHR_get_memory_requirements2
120 #endif
121 #ifdef VK_KHR_image_format_list
122 #endif
123 #ifdef VK_KHR_sampler_ycbcr_conversion
124 #endif
125 #ifdef VK_KHR_bind_memory2
126 #endif
127 #ifdef VK_KHR_maintenance3
128 #endif
129 #ifdef VK_KHR_shader_subgroup_extended_types
130 #endif
131 #ifdef VK_KHR_vulkan_memory_model
132 #endif
133 #ifdef VK_KHR_shader_terminate_invocation
134 #endif
135 #ifdef VK_KHR_buffer_device_address
136 #endif
137 #ifdef VK_KHR_pipeline_executable_properties
138 #endif
139 #ifdef VK_KHR_shader_integer_dot_product
140 #endif
141 #ifdef VK_KHR_shader_non_semantic_info
142 #endif
143 #ifdef VK_KHR_synchronization2
144 #endif
145 #ifdef VK_KHR_zero_initialize_workgroup_memory
146 #endif
147 #ifdef VK_KHR_copy_commands2
148 #endif
149 #ifdef VK_KHR_format_feature_flags2
150 #endif
151 #ifdef VK_KHR_maintenance4
152 #endif
153 #ifdef VK_KHR_maintenance5
154 #endif
155 #ifdef VK_ANDROID_native_buffer
156 #endif
157 #ifdef VK_EXT_transform_feedback
158 #endif
159 #ifdef VK_AMD_gpu_shader_half_float
160 #endif
161 #ifdef VK_EXT_texture_compression_astc_hdr
162 #endif
163 #ifdef VK_EXT_depth_clip_enable
164 #endif
165 #ifdef VK_EXT_swapchain_colorspace
166 #endif
167 #ifdef VK_MVK_moltenvk
168 #endif
169 #ifdef VK_EXT_queue_family_foreign
170 #endif
171 #ifdef VK_EXT_debug_utils
172 #endif
173 #ifdef VK_ANDROID_external_memory_android_hardware_buffer
174 #endif
175 #ifdef VK_EXT_inline_uniform_block
176 #endif
177 #ifdef VK_EXT_shader_stencil_export
178 #endif
179 #ifdef VK_EXT_vertex_attribute_divisor
180 #endif
181 #ifdef VK_EXT_pipeline_creation_feedback
182 #endif
183 #ifdef VK_NV_shader_subgroup_partitioned
184 #endif
185 #ifdef VK_EXT_metal_surface
186 #endif
187 #ifdef VK_EXT_fragment_density_map
188 #endif
189 #ifdef VK_EXT_scalar_block_layout
190 #endif
191 #ifdef VK_EXT_subgroup_size_control
192 #endif
193 #ifdef VK_EXT_tooling_info
194 #endif
195 #ifdef VK_EXT_validation_features
196 #endif
197 #ifdef VK_EXT_provoking_vertex
198 #endif
199 #ifdef VK_EXT_line_rasterization
200 #endif
201 #ifdef VK_EXT_index_type_uint8
202 #endif
203 #ifdef VK_EXT_extended_dynamic_state
204 #endif
205 #ifdef VK_EXT_host_image_copy
206 #endif
207 #ifdef VK_EXT_swapchain_maintenance1
208 #endif
209 #ifdef VK_EXT_shader_demote_to_helper_invocation
210 #endif
211 #ifdef VK_EXT_texel_buffer_alignment
212 #endif
213 #ifdef VK_EXT_device_memory_report
214 #endif
215 #ifdef VK_EXT_robustness2
216 #endif
217 #ifdef VK_EXT_custom_border_color
218 #endif
219 #ifdef VK_EXT_private_data
220 #endif
221 #ifdef VK_EXT_pipeline_creation_cache_control
222 #endif
223 #ifdef VK_EXT_metal_objects
224 #endif
225 #ifdef VK_EXT_graphics_pipeline_library
226 #endif
227 #ifdef VK_EXT_ycbcr_2plane_444_formats
228 #endif
229 #ifdef VK_EXT_image_robustness
230 #endif
231 #ifdef VK_EXT_image_compression_control
232 #endif
233 #ifdef VK_EXT_4444_formats
234 #endif
235 #ifdef VK_EXT_primitive_topology_list_restart
236 #endif
237 #ifdef VK_EXT_extended_dynamic_state2
238 #endif
239 #ifdef VK_GOOGLE_gfxstream
240 #endif
241 #ifdef VK_EXT_load_store_op_none
242 #endif
243 #ifdef VK_EXT_image_compression_control_swapchain
244 #endif
245 #ifdef VK_QNX_external_memory_screen_buffer
246 #endif
247 
248 }  // namespace vk
249 }  // namespace gfxstream
250