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