aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Giessen <charles@lunarg.com>2025-10-01 12:58:38 -0500
committerCharles Giessen <46324611+charles-lunarg@users.noreply.github.com>2025-10-06 11:09:20 -0600
commitbc714eb5327f4f42192892c77b76bd02e69129f6 (patch)
treed0b588e2a3196856767b1043ec27307769f17edd
parenta36938d354a65b709f8f322d004478e1aeca1a19 (diff)
downloadusermoji-bc714eb5327f4f42192892c77b76bd02e69129f6.tar.xz
scripts: Update codegen to use Vulkan-Object
-rw-r--r--icd/generated/function_declarations.h1394
-rw-r--r--icd/generated/function_definitions.h1221
-rwxr-xr-xscripts/generate_source.py295
-rw-r--r--scripts/generators/mock_icd_generator.py581
-rw-r--r--scripts/generators/vulkan_tools_helper_file_generator.py1327
-rw-r--r--scripts/generators/vulkaninfo_generator.py1983
-rw-r--r--vulkaninfo/generated/vulkaninfo.hpp269
7 files changed, 1823 insertions, 5247 deletions
diff --git a/icd/generated/function_declarations.h b/icd/generated/function_declarations.h
index b81bf816..c6710d0f 100644
--- a/icd/generated/function_declarations.h
+++ b/icd/generated/function_declarations.h
@@ -19,9 +19,7 @@
**
*/
-
#pragma once
-
#include <stdint.h>
#include <cstring>
#include <string>
@@ -29,438 +27,510 @@
#include <vulkan/vulkan.h>
namespace vkmock {
-
// Map of instance extension name to version
static const std::unordered_map<std::string, uint32_t> instance_extension_map = {
- {"VK_KHR_surface", 25},
- {"VK_KHR_display", 23},
- {"VK_KHR_xlib_surface", 6},
- {"VK_KHR_xcb_surface", 6},
- {"VK_KHR_wayland_surface", 6},
- {"VK_KHR_android_surface", 6},
- {"VK_KHR_win32_surface", 6},
- {"VK_EXT_debug_report", 10},
- {"VK_GGP_stream_descriptor_surface", 1},
- {"VK_NV_external_memory_capabilities", 1},
- {"VK_KHR_get_physical_device_properties2", 2},
- {"VK_EXT_validation_flags", 3},
- {"VK_NN_vi_surface", 1},
- {"VK_KHR_device_group_creation", 1},
- {"VK_KHR_external_memory_capabilities", 1},
- {"VK_KHR_external_semaphore_capabilities", 1},
- {"VK_EXT_direct_mode_display", 1},
- {"VK_EXT_acquire_xlib_display", 1},
- {"VK_EXT_display_surface_counter", 1},
- {"VK_EXT_swapchain_colorspace", 5},
- {"VK_KHR_external_fence_capabilities", 1},
- {"VK_KHR_get_surface_capabilities2", 1},
- {"VK_KHR_get_display_properties2", 1},
- {"VK_MVK_ios_surface", 3},
- {"VK_MVK_macos_surface", 3},
- {"VK_EXT_debug_utils", 2},
- {"VK_FUCHSIA_imagepipe_surface", 1},
- {"VK_EXT_metal_surface", 1},
- {"VK_KHR_surface_protected_capabilities", 1},
- {"VK_EXT_validation_features", 6},
- {"VK_EXT_headless_surface", 1},
- {"VK_EXT_surface_maintenance1", 1},
- {"VK_EXT_acquire_drm_display", 1},
- {"VK_EXT_directfb_surface", 1},
- {"VK_QNX_screen_surface", 1},
- {"VK_KHR_portability_enumeration", 1},
- {"VK_GOOGLE_surfaceless_query", 2},
- {"VK_LUNARG_direct_driver_loading", 1},
- {"VK_KHR_surface_maintenance1", 1},
- {"VK_EXT_layer_settings", 2},
- {"VK_NV_display_stereo", 1},
- {"VK_OHOS_surface", 1},
+ {"VK_KHR_surface", VK_KHR_SURFACE_SPEC_VERSION},
+ {"VK_KHR_display", VK_KHR_DISPLAY_SPEC_VERSION},
+#ifdef VK_USE_PLATFORM_XLIB_KHR
+ {"VK_KHR_xlib_surface", VK_KHR_XLIB_SURFACE_SPEC_VERSION},
+#endif
+#ifdef VK_USE_PLATFORM_XCB_KHR
+ {"VK_KHR_xcb_surface", VK_KHR_XCB_SURFACE_SPEC_VERSION},
+#endif
+#ifdef VK_USE_PLATFORM_WAYLAND_KHR
+ {"VK_KHR_wayland_surface", VK_KHR_WAYLAND_SURFACE_SPEC_VERSION},
+#endif
+#ifdef VK_USE_PLATFORM_ANDROID_KHR
+ {"VK_KHR_android_surface", VK_KHR_ANDROID_SURFACE_SPEC_VERSION},
+#endif
+#ifdef VK_USE_PLATFORM_WIN32_KHR
+ {"VK_KHR_win32_surface", VK_KHR_WIN32_SURFACE_SPEC_VERSION},
+#endif
+ {"VK_KHR_get_physical_device_properties2", VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION},
+ {"VK_KHR_device_group_creation", VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION},
+ {"VK_KHR_external_memory_capabilities", VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION},
+ {"VK_KHR_external_semaphore_capabilities", VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION},
+ {"VK_KHR_external_fence_capabilities", VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION},
+ {"VK_KHR_get_surface_capabilities2", VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION},
+ {"VK_KHR_get_display_properties2", VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION},
+ {"VK_KHR_surface_protected_capabilities", VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION},
+ {"VK_KHR_portability_enumeration", VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION},
+ {"VK_KHR_surface_maintenance1", VK_KHR_SURFACE_MAINTENANCE_1_SPEC_VERSION},
+ {"VK_EXT_debug_report", VK_EXT_DEBUG_REPORT_SPEC_VERSION},
+#ifdef VK_USE_PLATFORM_GGP
+ {"VK_GGP_stream_descriptor_surface", VK_GGP_STREAM_DESCRIPTOR_SURFACE_SPEC_VERSION},
+#endif
+ {"VK_NV_external_memory_capabilities", VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION},
+ {"VK_EXT_validation_flags", VK_EXT_VALIDATION_FLAGS_SPEC_VERSION},
+#ifdef VK_USE_PLATFORM_VI_NN
+ {"VK_NN_vi_surface", VK_NN_VI_SURFACE_SPEC_VERSION},
+#endif
+ {"VK_EXT_direct_mode_display", VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION},
+#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
+ {"VK_EXT_acquire_xlib_display", VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION},
+#endif
+ {"VK_EXT_display_surface_counter", VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION},
+ {"VK_EXT_swapchain_colorspace", VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION},
+#ifdef VK_USE_PLATFORM_IOS_MVK
+ {"VK_MVK_ios_surface", VK_MVK_IOS_SURFACE_SPEC_VERSION},
+#endif
+#ifdef VK_USE_PLATFORM_MACOS_MVK
+ {"VK_MVK_macos_surface", VK_MVK_MACOS_SURFACE_SPEC_VERSION},
+#endif
+ {"VK_EXT_debug_utils", VK_EXT_DEBUG_UTILS_SPEC_VERSION},
+#ifdef VK_USE_PLATFORM_FUCHSIA
+ {"VK_FUCHSIA_imagepipe_surface", VK_FUCHSIA_IMAGEPIPE_SURFACE_SPEC_VERSION},
+#endif
+#ifdef VK_USE_PLATFORM_METAL_EXT
+ {"VK_EXT_metal_surface", VK_EXT_METAL_SURFACE_SPEC_VERSION},
+#endif
+ {"VK_EXT_validation_features", VK_EXT_VALIDATION_FEATURES_SPEC_VERSION},
+ {"VK_EXT_headless_surface", VK_EXT_HEADLESS_SURFACE_SPEC_VERSION},
+ {"VK_EXT_surface_maintenance1", VK_EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION},
+ {"VK_EXT_acquire_drm_display", VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION},
+#ifdef VK_USE_PLATFORM_DIRECTFB_EXT
+ {"VK_EXT_directfb_surface", VK_EXT_DIRECTFB_SURFACE_SPEC_VERSION},
+#endif
+#ifdef VK_USE_PLATFORM_SCREEN_QNX
+ {"VK_QNX_screen_surface", VK_QNX_SCREEN_SURFACE_SPEC_VERSION},
+#endif
+ {"VK_GOOGLE_surfaceless_query", VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION},
+ {"VK_LUNARG_direct_driver_loading", VK_LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION},
+ {"VK_EXT_layer_settings", VK_EXT_LAYER_SETTINGS_SPEC_VERSION},
+ {"VK_NV_display_stereo", VK_NV_DISPLAY_STEREO_SPEC_VERSION},
+#ifdef VK_USE_PLATFORM_OHOS
+ {"VK_OHOS_surface", VK_OHOS_SURFACE_SPEC_VERSION},
+#endif
};
// Map of device extension name to version
static const std::unordered_map<std::string, uint32_t> device_extension_map = {
- {"VK_KHR_swapchain", 70},
- {"VK_KHR_display_swapchain", 10},
- {"VK_NV_glsl_shader", 1},
- {"VK_EXT_depth_range_unrestricted", 1},
- {"VK_KHR_sampler_mirror_clamp_to_edge", 3},
- {"VK_IMG_filter_cubic", 1},
- {"VK_AMD_rasterization_order", 1},
- {"VK_AMD_shader_trinary_minmax", 1},
- {"VK_AMD_shader_explicit_vertex_parameter", 1},
- {"VK_EXT_debug_marker", 4},
- {"VK_KHR_video_queue", 8},
- {"VK_KHR_video_decode_queue", 8},
- {"VK_AMD_gcn_shader", 1},
- {"VK_NV_dedicated_allocation", 1},
- {"VK_EXT_transform_feedback", 1},
- {"VK_NVX_binary_import", 2},
- {"VK_NVX_image_view_handle", 3},
- {"VK_AMD_draw_indirect_count", 2},
- {"VK_AMD_negative_viewport_height", 1},
- {"VK_AMD_gpu_shader_half_float", 2},
- {"VK_AMD_shader_ballot", 1},
- {"VK_KHR_video_encode_h264", 14},
- {"VK_KHR_video_encode_h265", 14},
- {"VK_KHR_video_decode_h264", 9},
- {"VK_AMD_texture_gather_bias_lod", 1},
- {"VK_AMD_shader_info", 1},
- {"VK_KHR_dynamic_rendering", 1},
- {"VK_AMD_shader_image_load_store_lod", 1},
- {"VK_NV_corner_sampled_image", 2},
- {"VK_KHR_multiview", 1},
- {"VK_IMG_format_pvrtc", 1},
- {"VK_NV_external_memory", 1},
- {"VK_NV_external_memory_win32", 1},
- {"VK_NV_win32_keyed_mutex", 2},
- {"VK_KHR_device_group", 4},
- {"VK_KHR_shader_draw_parameters", 1},
- {"VK_EXT_shader_subgroup_ballot", 1},
- {"VK_EXT_shader_subgroup_vote", 1},
- {"VK_EXT_texture_compression_astc_hdr", 1},
- {"VK_EXT_astc_decode_mode", 1},
- {"VK_EXT_pipeline_robustness", 1},
- {"VK_KHR_maintenance1", 2},
- {"VK_KHR_external_memory", 1},
- {"VK_KHR_external_memory_win32", 1},
- {"VK_KHR_external_memory_fd", 1},
- {"VK_KHR_win32_keyed_mutex", 1},
- {"VK_KHR_external_semaphore", 1},
- {"VK_KHR_external_semaphore_win32", 1},
- {"VK_KHR_external_semaphore_fd", 1},
- {"VK_KHR_push_descriptor", 2},
- {"VK_EXT_conditional_rendering", 2},
- {"VK_KHR_shader_float16_int8", 1},
- {"VK_KHR_16bit_storage", 1},
- {"VK_KHR_incremental_present", 2},
- {"VK_KHR_descriptor_update_template", 1},
- {"VK_NV_clip_space_w_scaling", 1},
- {"VK_EXT_display_control", 1},
- {"VK_GOOGLE_display_timing", 1},
- {"VK_NV_sample_mask_override_coverage", 1},
- {"VK_NV_geometry_shader_passthrough", 1},
- {"VK_NV_viewport_array2", 1},
- {"VK_NVX_multiview_per_view_attributes", 1},
- {"VK_NV_viewport_swizzle", 1},
- {"VK_EXT_discard_rectangles", 2},
- {"VK_EXT_conservative_rasterization", 1},
- {"VK_EXT_depth_clip_enable", 1},
- {"VK_EXT_hdr_metadata", 3},
- {"VK_KHR_imageless_framebuffer", 1},
- {"VK_KHR_create_renderpass2", 1},
- {"VK_IMG_relaxed_line_rasterization", 1},
- {"VK_KHR_shared_presentable_image", 1},
- {"VK_KHR_external_fence", 1},
- {"VK_KHR_external_fence_win32", 1},
- {"VK_KHR_external_fence_fd", 1},
- {"VK_KHR_performance_query", 1},
- {"VK_KHR_maintenance2", 1},
- {"VK_KHR_variable_pointers", 1},
- {"VK_EXT_external_memory_dma_buf", 1},
- {"VK_EXT_queue_family_foreign", 1},
- {"VK_KHR_dedicated_allocation", 3},
- {"VK_ANDROID_external_memory_android_hardware_buffer", 5},
- {"VK_EXT_sampler_filter_minmax", 2},
- {"VK_KHR_storage_buffer_storage_class", 1},
- {"VK_AMD_gpu_shader_int16", 2},
- {"VK_AMDX_shader_enqueue", 2},
- {"VK_AMD_mixed_attachment_samples", 1},
- {"VK_AMD_shader_fragment_mask", 1},
- {"VK_EXT_inline_uniform_block", 1},
- {"VK_EXT_shader_stencil_export", 1},
- {"VK_KHR_shader_bfloat16", 1},
- {"VK_EXT_sample_locations", 1},
- {"VK_KHR_relaxed_block_layout", 1},
- {"VK_KHR_get_memory_requirements2", 1},
- {"VK_KHR_image_format_list", 1},
- {"VK_EXT_blend_operation_advanced", 2},
- {"VK_NV_fragment_coverage_to_color", 1},
- {"VK_KHR_acceleration_structure", 13},
- {"VK_KHR_ray_tracing_pipeline", 1},
- {"VK_KHR_ray_query", 1},
- {"VK_NV_framebuffer_mixed_samples", 1},
- {"VK_NV_fill_rectangle", 1},
- {"VK_NV_shader_sm_builtins", 1},
- {"VK_EXT_post_depth_coverage", 1},
- {"VK_KHR_sampler_ycbcr_conversion", 14},
- {"VK_KHR_bind_memory2", 1},
- {"VK_EXT_image_drm_format_modifier", 2},
- {"VK_EXT_descriptor_indexing", 2},
- {"VK_EXT_shader_viewport_index_layer", 1},
- {"VK_NV_shading_rate_image", 3},
- {"VK_NV_ray_tracing", 3},
- {"VK_NV_representative_fragment_test", 2},
- {"VK_KHR_maintenance3", 1},
- {"VK_KHR_draw_indirect_count", 1},
- {"VK_EXT_filter_cubic", 3},
- {"VK_QCOM_render_pass_shader_resolve", 4},
- {"VK_EXT_global_priority", 2},
- {"VK_KHR_shader_subgroup_extended_types", 1},
- {"VK_KHR_8bit_storage", 1},
- {"VK_EXT_external_memory_host", 1},
- {"VK_AMD_buffer_marker", 1},
- {"VK_KHR_shader_atomic_int64", 1},
- {"VK_KHR_shader_clock", 1},
- {"VK_AMD_pipeline_compiler_control", 1},
- {"VK_EXT_calibrated_timestamps", 2},
- {"VK_AMD_shader_core_properties", 2},
- {"VK_KHR_video_decode_h265", 8},
- {"VK_KHR_global_priority", 1},
- {"VK_AMD_memory_overallocation_behavior", 1},
- {"VK_EXT_vertex_attribute_divisor", 3},
- {"VK_GGP_frame_token", 1},
- {"VK_EXT_pipeline_creation_feedback", 1},
- {"VK_KHR_driver_properties", 1},
- {"VK_KHR_shader_float_controls", 4},
- {"VK_NV_shader_subgroup_partitioned", 1},
- {"VK_KHR_depth_stencil_resolve", 1},
- {"VK_KHR_swapchain_mutable_format", 1},
- {"VK_NV_compute_shader_derivatives", 1},
- {"VK_NV_mesh_shader", 1},
- {"VK_NV_fragment_shader_barycentric", 1},
- {"VK_NV_shader_image_footprint", 2},
- {"VK_NV_scissor_exclusive", 2},
- {"VK_NV_device_diagnostic_checkpoints", 2},
- {"VK_KHR_timeline_semaphore", 2},
- {"VK_INTEL_shader_integer_functions2", 1},
- {"VK_INTEL_performance_query", 2},
- {"VK_KHR_vulkan_memory_model", 3},
- {"VK_EXT_pci_bus_info", 2},
- {"VK_AMD_display_native_hdr", 1},
- {"VK_KHR_shader_terminate_invocation", 1},
- {"VK_EXT_fragment_density_map", 2},
- {"VK_EXT_scalar_block_layout", 1},
- {"VK_GOOGLE_hlsl_functionality1", 1},
- {"VK_GOOGLE_decorate_string", 1},
- {"VK_EXT_subgroup_size_control", 2},
- {"VK_KHR_fragment_shading_rate", 2},
- {"VK_AMD_shader_core_properties2", 1},
- {"VK_AMD_device_coherent_memory", 1},
- {"VK_KHR_dynamic_rendering_local_read", 1},
- {"VK_EXT_shader_image_atomic_int64", 1},
- {"VK_KHR_shader_quad_control", 1},
- {"VK_KHR_spirv_1_4", 1},
- {"VK_EXT_memory_budget", 1},
- {"VK_EXT_memory_priority", 1},
- {"VK_NV_dedicated_allocation_image_aliasing", 1},
- {"VK_KHR_separate_depth_stencil_layouts", 1},
- {"VK_EXT_buffer_device_address", 2},
- {"VK_EXT_tooling_info", 1},
- {"VK_EXT_separate_stencil_usage", 1},
- {"VK_KHR_present_wait", 1},
- {"VK_NV_cooperative_matrix", 1},
- {"VK_NV_coverage_reduction_mode", 1},
- {"VK_EXT_fragment_shader_interlock", 1},
- {"VK_EXT_ycbcr_image_arrays", 1},
- {"VK_KHR_uniform_buffer_standard_layout", 1},
- {"VK_EXT_provoking_vertex", 1},
- {"VK_EXT_full_screen_exclusive", 4},
- {"VK_KHR_buffer_device_address", 1},
- {"VK_EXT_line_rasterization", 1},
- {"VK_EXT_shader_atomic_float", 1},
- {"VK_EXT_host_query_reset", 1},
- {"VK_EXT_index_type_uint8", 1},
- {"VK_EXT_extended_dynamic_state", 1},
- {"VK_KHR_deferred_host_operations", 4},
- {"VK_KHR_pipeline_executable_properties", 1},
- {"VK_EXT_host_image_copy", 1},
- {"VK_KHR_map_memory2", 1},
- {"VK_EXT_map_memory_placed", 1},
- {"VK_EXT_shader_atomic_float2", 1},
- {"VK_EXT_swapchain_maintenance1", 1},
- {"VK_EXT_shader_demote_to_helper_invocation", 1},
- {"VK_NV_device_generated_commands", 3},
- {"VK_NV_inherited_viewport_scissor", 1},
- {"VK_KHR_shader_integer_dot_product", 1},
- {"VK_EXT_texel_buffer_alignment", 1},
- {"VK_QCOM_render_pass_transform", 5},
- {"VK_EXT_depth_bias_control", 1},
- {"VK_EXT_device_memory_report", 2},
- {"VK_EXT_robustness2", 1},
- {"VK_EXT_custom_border_color", 12},
- {"VK_GOOGLE_user_type", 1},
- {"VK_KHR_pipeline_library", 1},
- {"VK_NV_present_barrier", 1},
- {"VK_KHR_shader_non_semantic_info", 1},
- {"VK_KHR_present_id", 1},
- {"VK_EXT_private_data", 1},
- {"VK_EXT_pipeline_creation_cache_control", 3},
- {"VK_KHR_video_encode_queue", 12},
- {"VK_NV_device_diagnostics_config", 2},
- {"VK_QCOM_render_pass_store_ops", 2},
- {"VK_NV_cuda_kernel_launch", 2},
- {"VK_QCOM_tile_shading", 2},
- {"VK_NV_low_latency", 1},
- {"VK_EXT_metal_objects", 2},
- {"VK_KHR_synchronization2", 1},
- {"VK_EXT_descriptor_buffer", 1},
- {"VK_EXT_graphics_pipeline_library", 1},
- {"VK_AMD_shader_early_and_late_fragment_tests", 1},
- {"VK_KHR_fragment_shader_barycentric", 1},
- {"VK_KHR_shader_subgroup_uniform_control_flow", 1},
- {"VK_KHR_zero_initialize_workgroup_memory", 1},
- {"VK_NV_fragment_shading_rate_enums", 1},
- {"VK_NV_ray_tracing_motion_blur", 1},
- {"VK_EXT_mesh_shader", 1},
- {"VK_EXT_ycbcr_2plane_444_formats", 1},
- {"VK_EXT_fragment_density_map2", 1},
- {"VK_QCOM_rotated_copy_commands", 2},
- {"VK_EXT_image_robustness", 1},
- {"VK_KHR_workgroup_memory_explicit_layout", 1},
- {"VK_KHR_copy_commands2", 1},
- {"VK_EXT_image_compression_control", 1},
- {"VK_EXT_attachment_feedback_loop_layout", 2},
- {"VK_EXT_4444_formats", 1},
- {"VK_EXT_device_fault", 2},
- {"VK_ARM_rasterization_order_attachment_access", 1},
- {"VK_EXT_rgba10x6_formats", 1},
- {"VK_NV_acquire_winrt_display", 1},
- {"VK_VALVE_mutable_descriptor_type", 1},
- {"VK_EXT_vertex_input_dynamic_state", 2},
- {"VK_EXT_physical_device_drm", 1},
- {"VK_EXT_device_address_binding_report", 1},
- {"VK_EXT_depth_clip_control", 1},
- {"VK_EXT_primitive_topology_list_restart", 1},
- {"VK_KHR_format_feature_flags2", 2},
- {"VK_EXT_present_mode_fifo_latest_ready", 1},
- {"VK_FUCHSIA_external_memory", 1},
- {"VK_FUCHSIA_external_semaphore", 1},
- {"VK_FUCHSIA_buffer_collection", 2},
- {"VK_HUAWEI_subpass_shading", 3},
- {"VK_HUAWEI_invocation_mask", 1},
- {"VK_NV_external_memory_rdma", 1},
- {"VK_EXT_pipeline_properties", 1},
- {"VK_EXT_frame_boundary", 1},
- {"VK_EXT_multisampled_render_to_single_sampled", 1},
- {"VK_EXT_extended_dynamic_state2", 1},
- {"VK_EXT_color_write_enable", 1},
- {"VK_EXT_primitives_generated_query", 1},
- {"VK_KHR_ray_tracing_maintenance1", 1},
- {"VK_KHR_shader_untyped_pointers", 1},
- {"VK_EXT_global_priority_query", 1},
- {"VK_VALVE_video_encode_rgb_conversion", 1},
- {"VK_EXT_image_view_min_lod", 1},
- {"VK_EXT_multi_draw", 1},
- {"VK_EXT_image_2d_view_of_3d", 1},
- {"VK_EXT_shader_tile_image", 1},
- {"VK_EXT_opacity_micromap", 2},
- {"VK_NV_displacement_micromap", 2},
- {"VK_EXT_load_store_op_none", 1},
- {"VK_HUAWEI_cluster_culling_shader", 3},
- {"VK_EXT_border_color_swizzle", 1},
- {"VK_EXT_pageable_device_local_memory", 1},
- {"VK_KHR_maintenance4", 2},
- {"VK_ARM_shader_core_properties", 1},
- {"VK_KHR_shader_subgroup_rotate", 2},
- {"VK_ARM_scheduling_controls", 1},
- {"VK_EXT_image_sliced_view_of_3d", 1},
- {"VK_VALVE_descriptor_set_host_mapping", 1},
- {"VK_EXT_depth_clamp_zero_one", 1},
- {"VK_EXT_non_seamless_cube_map", 1},
- {"VK_ARM_render_pass_striped", 1},
- {"VK_QCOM_fragment_density_map_offset", 3},
- {"VK_NV_copy_memory_indirect", 1},
- {"VK_NV_memory_decompression", 1},
- {"VK_NV_device_generated_commands_compute", 2},
- {"VK_NV_ray_tracing_linear_swept_spheres", 1},
- {"VK_NV_linear_color_attachment", 1},
- {"VK_KHR_shader_maximal_reconvergence", 1},
- {"VK_EXT_image_compression_control_swapchain", 1},
- {"VK_QCOM_image_processing", 1},
- {"VK_EXT_nested_command_buffer", 1},
- {"VK_EXT_external_memory_acquire_unmodified", 1},
- {"VK_EXT_extended_dynamic_state3", 2},
- {"VK_EXT_subpass_merge_feedback", 2},
- {"VK_ARM_tensors", 1},
- {"VK_EXT_shader_module_identifier", 1},
- {"VK_EXT_rasterization_order_attachment_access", 1},
- {"VK_NV_optical_flow", 1},
- {"VK_EXT_legacy_dithering", 2},
- {"VK_EXT_pipeline_protected_access", 1},
- {"VK_ANDROID_external_format_resolve", 1},
- {"VK_KHR_maintenance5", 1},
- {"VK_AMD_anti_lag", 1},
- {"VK_AMDX_dense_geometry_format", 1},
- {"VK_KHR_present_id2", 1},
- {"VK_KHR_present_wait2", 1},
- {"VK_KHR_ray_tracing_position_fetch", 1},
- {"VK_EXT_shader_object", 1},
- {"VK_KHR_pipeline_binary", 1},
- {"VK_QCOM_tile_properties", 1},
- {"VK_SEC_amigo_profiling", 1},
- {"VK_KHR_swapchain_maintenance1", 1},
- {"VK_QCOM_multiview_per_view_viewports", 1},
- {"VK_NV_ray_tracing_invocation_reorder", 1},
- {"VK_NV_cooperative_vector", 4},
- {"VK_NV_extended_sparse_address_space", 1},
- {"VK_EXT_mutable_descriptor_type", 1},
- {"VK_EXT_legacy_vertex_attributes", 1},
- {"VK_ARM_shader_core_builtins", 2},
- {"VK_EXT_pipeline_library_group_handles", 1},
- {"VK_EXT_dynamic_rendering_unused_attachments", 1},
- {"VK_NV_low_latency2", 2},
- {"VK_KHR_cooperative_matrix", 2},
- {"VK_ARM_data_graph", 1},
- {"VK_QCOM_multiview_per_view_render_areas", 1},
- {"VK_KHR_compute_shader_derivatives", 1},
- {"VK_KHR_video_decode_av1", 1},
- {"VK_KHR_video_encode_av1", 1},
- {"VK_KHR_video_decode_vp9", 1},
- {"VK_KHR_video_maintenance1", 1},
- {"VK_NV_per_stage_descriptor_set", 1},
- {"VK_QCOM_image_processing2", 1},
- {"VK_QCOM_filter_cubic_weights", 1},
- {"VK_QCOM_ycbcr_degamma", 1},
- {"VK_QCOM_filter_cubic_clamp", 1},
- {"VK_EXT_attachment_feedback_loop_dynamic_state", 1},
- {"VK_KHR_vertex_attribute_divisor", 1},
- {"VK_KHR_load_store_op_none", 1},
- {"VK_KHR_unified_image_layouts", 1},
- {"VK_KHR_shader_float_controls2", 1},
- {"VK_QNX_external_memory_screen_buffer", 1},
- {"VK_MSFT_layered_driver", 1},
- {"VK_KHR_index_type_uint8", 1},
- {"VK_KHR_line_rasterization", 1},
- {"VK_KHR_calibrated_timestamps", 1},
- {"VK_KHR_shader_expect_assume", 1},
- {"VK_KHR_maintenance6", 1},
- {"VK_NV_descriptor_pool_overallocation", 1},
- {"VK_QCOM_tile_memory_heap", 1},
- {"VK_KHR_copy_memory_indirect", 1},
- {"VK_KHR_video_encode_intra_refresh", 1},
- {"VK_KHR_video_encode_quantization_map", 2},
- {"VK_NV_raw_access_chains", 1},
- {"VK_NV_external_compute_queue", 1},
- {"VK_KHR_shader_relaxed_extended_instruction", 1},
- {"VK_NV_command_buffer_inheritance", 1},
- {"VK_KHR_maintenance7", 1},
- {"VK_NV_shader_atomic_float16_vector", 1},
- {"VK_EXT_shader_replicated_composites", 1},
- {"VK_EXT_shader_float8", 1},
- {"VK_NV_ray_tracing_validation", 1},
- {"VK_NV_cluster_acceleration_structure", 4},
- {"VK_NV_partitioned_acceleration_structure", 1},
- {"VK_EXT_device_generated_commands", 1},
- {"VK_KHR_maintenance8", 1},
- {"VK_MESA_image_alignment_control", 1},
- {"VK_EXT_depth_clamp_control", 1},
- {"VK_KHR_maintenance9", 1},
- {"VK_KHR_video_maintenance2", 1},
- {"VK_HUAWEI_hdr_vivid", 1},
- {"VK_NV_cooperative_matrix2", 1},
- {"VK_ARM_pipeline_opacity_micromap", 1},
- {"VK_EXT_external_memory_metal", 1},
- {"VK_KHR_depth_clamp_zero_one", 1},
- {"VK_EXT_vertex_attribute_robustness", 1},
- {"VK_ARM_format_pack", 1},
- {"VK_VALVE_fragment_density_map_layered", 1},
- {"VK_KHR_robustness2", 1},
- {"VK_NV_present_metering", 1},
- {"VK_EXT_fragment_density_map_offset", 1},
- {"VK_EXT_zero_initialize_device_memory", 1},
- {"VK_KHR_present_mode_fifo_latest_ready", 1},
- {"VK_SEC_pipeline_cache_incremental_mode", 1},
+ {"VK_KHR_swapchain", VK_KHR_SWAPCHAIN_SPEC_VERSION},
+ {"VK_KHR_display_swapchain", VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION},
+ {"VK_KHR_sampler_mirror_clamp_to_edge", VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION},
+ {"VK_KHR_video_queue", VK_KHR_VIDEO_QUEUE_SPEC_VERSION},
+ {"VK_KHR_video_decode_queue", VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION},
+ {"VK_KHR_video_encode_h264", VK_KHR_VIDEO_ENCODE_H264_SPEC_VERSION},
+ {"VK_KHR_video_encode_h265", VK_KHR_VIDEO_ENCODE_H265_SPEC_VERSION},
+ {"VK_KHR_video_decode_h264", VK_KHR_VIDEO_DECODE_H264_SPEC_VERSION},
+ {"VK_KHR_dynamic_rendering", VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION},
+ {"VK_KHR_multiview", VK_KHR_MULTIVIEW_SPEC_VERSION},
+ {"VK_KHR_device_group", VK_KHR_DEVICE_GROUP_SPEC_VERSION},
+ {"VK_KHR_shader_draw_parameters", VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION},
+ {"VK_KHR_maintenance1", VK_KHR_MAINTENANCE_1_SPEC_VERSION},
+ {"VK_KHR_external_memory", VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION},
+#ifdef VK_USE_PLATFORM_WIN32_KHR
+ {"VK_KHR_external_memory_win32", VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION},
+#endif
+ {"VK_KHR_external_memory_fd", VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION},
+#ifdef VK_USE_PLATFORM_WIN32_KHR
+ {"VK_KHR_win32_keyed_mutex", VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION},
+#endif
+ {"VK_KHR_external_semaphore", VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION},
+#ifdef VK_USE_PLATFORM_WIN32_KHR
+ {"VK_KHR_external_semaphore_win32", VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION},
+#endif
+ {"VK_KHR_external_semaphore_fd", VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION},
+ {"VK_KHR_push_descriptor", VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION},
+ {"VK_KHR_shader_float16_int8", VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION},
+ {"VK_KHR_16bit_storage", VK_KHR_16BIT_STORAGE_SPEC_VERSION},
+ {"VK_KHR_incremental_present", VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION},
+ {"VK_KHR_descriptor_update_template", VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION},
+ {"VK_KHR_imageless_framebuffer", VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION},
+ {"VK_KHR_create_renderpass2", VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION},
+ {"VK_KHR_shared_presentable_image", VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION},
+ {"VK_KHR_external_fence", VK_KHR_EXTERNAL_FENCE_SPEC_VERSION},
+#ifdef VK_USE_PLATFORM_WIN32_KHR
+ {"VK_KHR_external_fence_win32", VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION},
+#endif
+ {"VK_KHR_external_fence_fd", VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION},
+ {"VK_KHR_performance_query", VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION},
+ {"VK_KHR_maintenance2", VK_KHR_MAINTENANCE_2_SPEC_VERSION},
+ {"VK_KHR_variable_pointers", VK_KHR_VARIABLE_POINTERS_SPEC_VERSION},
+ {"VK_KHR_dedicated_allocation", VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION},
+ {"VK_KHR_storage_buffer_storage_class", VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION},
+ {"VK_KHR_shader_bfloat16", VK_KHR_SHADER_BFLOAT16_SPEC_VERSION},
+ {"VK_KHR_relaxed_block_layout", VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION},
+ {"VK_KHR_get_memory_requirements2", VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION},
+ {"VK_KHR_image_format_list", VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION},
+ {"VK_KHR_sampler_ycbcr_conversion", VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION},
+ {"VK_KHR_bind_memory2", VK_KHR_BIND_MEMORY_2_SPEC_VERSION},
+ {"VK_KHR_maintenance3", VK_KHR_MAINTENANCE_3_SPEC_VERSION},
+ {"VK_KHR_draw_indirect_count", VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION},
+ {"VK_KHR_shader_subgroup_extended_types", VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION},
+ {"VK_KHR_8bit_storage", VK_KHR_8BIT_STORAGE_SPEC_VERSION},
+ {"VK_KHR_shader_atomic_int64", VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION},
+ {"VK_KHR_shader_clock", VK_KHR_SHADER_CLOCK_SPEC_VERSION},
+ {"VK_KHR_video_decode_h265", VK_KHR_VIDEO_DECODE_H265_SPEC_VERSION},
+ {"VK_KHR_global_priority", VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION},
+ {"VK_KHR_driver_properties", VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION},
+ {"VK_KHR_shader_float_controls", VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION},
+ {"VK_KHR_depth_stencil_resolve", VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION},
+ {"VK_KHR_swapchain_mutable_format", VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION},
+ {"VK_KHR_timeline_semaphore", VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION},
+ {"VK_KHR_vulkan_memory_model", VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION},
+ {"VK_KHR_shader_terminate_invocation", VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION},
+ {"VK_KHR_fragment_shading_rate", VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION},
+ {"VK_KHR_dynamic_rendering_local_read", VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION},
+ {"VK_KHR_shader_quad_control", VK_KHR_SHADER_QUAD_CONTROL_SPEC_VERSION},
+ {"VK_KHR_spirv_1_4", VK_KHR_SPIRV_1_4_SPEC_VERSION},
+ {"VK_KHR_separate_depth_stencil_layouts", VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION},
+ {"VK_KHR_present_wait", VK_KHR_PRESENT_WAIT_SPEC_VERSION},
+ {"VK_KHR_uniform_buffer_standard_layout", VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION},
+ {"VK_KHR_buffer_device_address", VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION},
+ {"VK_KHR_deferred_host_operations", VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION},
+ {"VK_KHR_pipeline_executable_properties", VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION},
+ {"VK_KHR_map_memory2", VK_KHR_MAP_MEMORY_2_SPEC_VERSION},
+ {"VK_KHR_shader_integer_dot_product", VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION},
+ {"VK_KHR_pipeline_library", VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION},
+ {"VK_KHR_shader_non_semantic_info", VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION},
+ {"VK_KHR_present_id", VK_KHR_PRESENT_ID_SPEC_VERSION},
+ {"VK_KHR_video_encode_queue", VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION},
+ {"VK_KHR_synchronization2", VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION},
+ {"VK_KHR_fragment_shader_barycentric", VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION},
+ {"VK_KHR_shader_subgroup_uniform_control_flow", VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION},
+ {"VK_KHR_zero_initialize_workgroup_memory", VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION},
+ {"VK_KHR_workgroup_memory_explicit_layout", VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION},
+ {"VK_KHR_copy_commands2", VK_KHR_COPY_COMMANDS_2_SPEC_VERSION},
+ {"VK_KHR_format_feature_flags2", VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION},
+ {"VK_KHR_ray_tracing_maintenance1", VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION},
+ {"VK_KHR_shader_untyped_pointers", VK_KHR_SHADER_UNTYPED_POINTERS_SPEC_VERSION},
+ {"VK_KHR_maintenance4", VK_KHR_MAINTENANCE_4_SPEC_VERSION},
+ {"VK_KHR_shader_subgroup_rotate", VK_KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION},
+ {"VK_KHR_shader_maximal_reconvergence", VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION},
+ {"VK_KHR_maintenance5", VK_KHR_MAINTENANCE_5_SPEC_VERSION},
+ {"VK_KHR_present_id2", VK_KHR_PRESENT_ID_2_SPEC_VERSION},
+ {"VK_KHR_present_wait2", VK_KHR_PRESENT_WAIT_2_SPEC_VERSION},
+ {"VK_KHR_ray_tracing_position_fetch", VK_KHR_RAY_TRACING_POSITION_FETCH_SPEC_VERSION},
+ {"VK_KHR_pipeline_binary", VK_KHR_PIPELINE_BINARY_SPEC_VERSION},
+ {"VK_KHR_swapchain_maintenance1", VK_KHR_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION},
+ {"VK_KHR_cooperative_matrix", VK_KHR_COOPERATIVE_MATRIX_SPEC_VERSION},
+ {"VK_KHR_compute_shader_derivatives", VK_KHR_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION},
+ {"VK_KHR_video_decode_av1", VK_KHR_VIDEO_DECODE_AV1_SPEC_VERSION},
+ {"VK_KHR_video_encode_av1", VK_KHR_VIDEO_ENCODE_AV1_SPEC_VERSION},
+ {"VK_KHR_video_decode_vp9", VK_KHR_VIDEO_DECODE_VP9_SPEC_VERSION},
+ {"VK_KHR_video_maintenance1", VK_KHR_VIDEO_MAINTENANCE_1_SPEC_VERSION},
+ {"VK_KHR_vertex_attribute_divisor", VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION},
+ {"VK_KHR_load_store_op_none", VK_KHR_LOAD_STORE_OP_NONE_SPEC_VERSION},
+ {"VK_KHR_unified_image_layouts", VK_KHR_UNIFIED_IMAGE_LAYOUTS_SPEC_VERSION},
+ {"VK_KHR_shader_float_controls2", VK_KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION},
+ {"VK_KHR_index_type_uint8", VK_KHR_INDEX_TYPE_UINT8_SPEC_VERSION},
+ {"VK_KHR_line_rasterization", VK_KHR_LINE_RASTERIZATION_SPEC_VERSION},
+ {"VK_KHR_calibrated_timestamps", VK_KHR_CALIBRATED_TIMESTAMPS_SPEC_VERSION},
+ {"VK_KHR_shader_expect_assume", VK_KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION},
+ {"VK_KHR_maintenance6", VK_KHR_MAINTENANCE_6_SPEC_VERSION},
+ {"VK_KHR_copy_memory_indirect", VK_KHR_COPY_MEMORY_INDIRECT_SPEC_VERSION},
+ {"VK_KHR_video_encode_intra_refresh", VK_KHR_VIDEO_ENCODE_INTRA_REFRESH_SPEC_VERSION},
+ {"VK_KHR_video_encode_quantization_map", VK_KHR_VIDEO_ENCODE_QUANTIZATION_MAP_SPEC_VERSION},
+ {"VK_KHR_shader_relaxed_extended_instruction", VK_KHR_SHADER_RELAXED_EXTENDED_INSTRUCTION_SPEC_VERSION},
+ {"VK_KHR_maintenance7", VK_KHR_MAINTENANCE_7_SPEC_VERSION},
+ {"VK_KHR_maintenance8", VK_KHR_MAINTENANCE_8_SPEC_VERSION},
+ {"VK_KHR_maintenance9", VK_KHR_MAINTENANCE_9_SPEC_VERSION},
+ {"VK_KHR_video_maintenance2", VK_KHR_VIDEO_MAINTENANCE_2_SPEC_VERSION},
+ {"VK_KHR_depth_clamp_zero_one", VK_KHR_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION},
+ {"VK_KHR_robustness2", VK_KHR_ROBUSTNESS_2_SPEC_VERSION},
+ {"VK_KHR_present_mode_fifo_latest_ready", VK_KHR_PRESENT_MODE_FIFO_LATEST_READY_SPEC_VERSION},
+ {"VK_NV_glsl_shader", VK_NV_GLSL_SHADER_SPEC_VERSION},
+ {"VK_EXT_depth_range_unrestricted", VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION},
+ {"VK_IMG_filter_cubic", VK_IMG_FILTER_CUBIC_SPEC_VERSION},
+ {"VK_AMD_rasterization_order", VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION},
+ {"VK_AMD_shader_trinary_minmax", VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION},
+ {"VK_AMD_shader_explicit_vertex_parameter", VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION},
+ {"VK_EXT_debug_marker", VK_EXT_DEBUG_MARKER_SPEC_VERSION},
+ {"VK_AMD_gcn_shader", VK_AMD_GCN_SHADER_SPEC_VERSION},
+ {"VK_NV_dedicated_allocation", VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION},
+ {"VK_EXT_transform_feedback", VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION},
+ {"VK_NVX_binary_import", VK_NVX_BINARY_IMPORT_SPEC_VERSION},
+ {"VK_NVX_image_view_handle", VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION},
+ {"VK_AMD_draw_indirect_count", VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION},
+ {"VK_AMD_negative_viewport_height", VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION},
+ {"VK_AMD_gpu_shader_half_float", VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION},
+ {"VK_AMD_shader_ballot", VK_AMD_SHADER_BALLOT_SPEC_VERSION},
+ {"VK_AMD_texture_gather_bias_lod", VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION},
+ {"VK_AMD_shader_info", VK_AMD_SHADER_INFO_SPEC_VERSION},
+ {"VK_AMD_shader_image_load_store_lod", VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION},
+ {"VK_NV_corner_sampled_image", VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION},
+ {"VK_IMG_format_pvrtc", VK_IMG_FORMAT_PVRTC_SPEC_VERSION},
+ {"VK_NV_external_memory", VK_NV_EXTERNAL_MEMORY_SPEC_VERSION},
+#ifdef VK_USE_PLATFORM_WIN32_KHR
+ {"VK_NV_external_memory_win32", VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION},
+#endif
+#ifdef VK_USE_PLATFORM_WIN32_KHR
+ {"VK_NV_win32_keyed_mutex", VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION},
+#endif
+ {"VK_EXT_shader_subgroup_ballot", VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION},
+ {"VK_EXT_shader_subgroup_vote", VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION},
+ {"VK_EXT_texture_compression_astc_hdr", VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION},
+ {"VK_EXT_astc_decode_mode", VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION},
+ {"VK_EXT_pipeline_robustness", VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION},
+ {"VK_EXT_conditional_rendering", VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION},
+ {"VK_NV_clip_space_w_scaling", VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION},
+ {"VK_EXT_display_control", VK_EXT_DISPLAY_CONTROL_SPEC_VERSION},
+ {"VK_GOOGLE_display_timing", VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION},
+ {"VK_NV_sample_mask_override_coverage", VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION},
+ {"VK_NV_geometry_shader_passthrough", VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION},
+ {"VK_NV_viewport_array2", VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION},
+ {"VK_NVX_multiview_per_view_attributes", VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION},
+ {"VK_NV_viewport_swizzle", VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION},
+ {"VK_EXT_discard_rectangles", VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION},
+ {"VK_EXT_conservative_rasterization", VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION},
+ {"VK_EXT_depth_clip_enable", VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION},
+ {"VK_EXT_hdr_metadata", VK_EXT_HDR_METADATA_SPEC_VERSION},
+ {"VK_IMG_relaxed_line_rasterization", VK_IMG_RELAXED_LINE_RASTERIZATION_SPEC_VERSION},
+ {"VK_EXT_external_memory_dma_buf", VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION},
+ {"VK_EXT_queue_family_foreign", VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION},
+#ifdef VK_USE_PLATFORM_ANDROID_KHR
+ {"VK_ANDROID_external_memory_android_hardware_buffer", VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION},
+#endif
+ {"VK_EXT_sampler_filter_minmax", VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION},
+ {"VK_AMD_gpu_shader_int16", VK_AMD_GPU_SHADER_INT16_SPEC_VERSION},
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+ {"VK_AMDX_shader_enqueue", VK_AMDX_SHADER_ENQUEUE_SPEC_VERSION},
+#endif
+ {"VK_AMD_mixed_attachment_samples", VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION},
+ {"VK_AMD_shader_fragment_mask", VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION},
+ {"VK_EXT_inline_uniform_block", VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION},
+ {"VK_EXT_shader_stencil_export", VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION},
+ {"VK_EXT_sample_locations", VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION},
+ {"VK_EXT_blend_operation_advanced", VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION},
+ {"VK_NV_fragment_coverage_to_color", VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION},
+ {"VK_NV_framebuffer_mixed_samples", VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION},
+ {"VK_NV_fill_rectangle", VK_NV_FILL_RECTANGLE_SPEC_VERSION},
+ {"VK_NV_shader_sm_builtins", VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION},
+ {"VK_EXT_post_depth_coverage", VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION},
+ {"VK_EXT_image_drm_format_modifier", VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION},
+ {"VK_EXT_descriptor_indexing", VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION},
+ {"VK_EXT_shader_viewport_index_layer", VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION},
+ {"VK_NV_shading_rate_image", VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION},
+ {"VK_NV_ray_tracing", VK_NV_RAY_TRACING_SPEC_VERSION},
+ {"VK_NV_representative_fragment_test", VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION},
+ {"VK_EXT_filter_cubic", VK_EXT_FILTER_CUBIC_SPEC_VERSION},
+ {"VK_QCOM_render_pass_shader_resolve", VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION},
+ {"VK_EXT_global_priority", VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION},
+ {"VK_EXT_external_memory_host", VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION},
+ {"VK_AMD_buffer_marker", VK_AMD_BUFFER_MARKER_SPEC_VERSION},
+ {"VK_AMD_pipeline_compiler_control", VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION},
+ {"VK_EXT_calibrated_timestamps", VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION},
+ {"VK_AMD_shader_core_properties", VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION},
+ {"VK_AMD_memory_overallocation_behavior", VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION},
+ {"VK_EXT_vertex_attribute_divisor", VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION},
+#ifdef VK_USE_PLATFORM_GGP
+ {"VK_GGP_frame_token", VK_GGP_FRAME_TOKEN_SPEC_VERSION},
+#endif
+ {"VK_EXT_pipeline_creation_feedback", VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION},
+ {"VK_NV_shader_subgroup_partitioned", VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION},
+ {"VK_NV_compute_shader_derivatives", VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION},
+ {"VK_NV_mesh_shader", VK_NV_MESH_SHADER_SPEC_VERSION},
+ {"VK_NV_fragment_shader_barycentric", VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION},
+ {"VK_NV_shader_image_footprint", VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION},
+ {"VK_NV_scissor_exclusive", VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION},
+ {"VK_NV_device_diagnostic_checkpoints", VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION},
+ {"VK_INTEL_shader_integer_functions2", VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION},
+ {"VK_INTEL_performance_query", VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION},
+ {"VK_EXT_pci_bus_info", VK_EXT_PCI_BUS_INFO_SPEC_VERSION},
+ {"VK_AMD_display_native_hdr", VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION},
+ {"VK_EXT_fragment_density_map", VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION},
+ {"VK_EXT_scalar_block_layout", VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION},
+ {"VK_GOOGLE_hlsl_functionality1", VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION},
+ {"VK_GOOGLE_decorate_string", VK_GOOGLE_DECORATE_STRING_SPEC_VERSION},
+ {"VK_EXT_subgroup_size_control", VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION},
+ {"VK_AMD_shader_core_properties2", VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION},
+ {"VK_AMD_device_coherent_memory", VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION},
+ {"VK_EXT_shader_image_atomic_int64", VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION},
+ {"VK_EXT_memory_budget", VK_EXT_MEMORY_BUDGET_SPEC_VERSION},
+ {"VK_EXT_memory_priority", VK_EXT_MEMORY_PRIORITY_SPEC_VERSION},
+ {"VK_NV_dedicated_allocation_image_aliasing", VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION},
+ {"VK_EXT_buffer_device_address", VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION},
+ {"VK_EXT_tooling_info", VK_EXT_TOOLING_INFO_SPEC_VERSION},
+ {"VK_EXT_separate_stencil_usage", VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION},
+ {"VK_NV_cooperative_matrix", VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION},
+ {"VK_NV_coverage_reduction_mode", VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION},
+ {"VK_EXT_fragment_shader_interlock", VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION},
+ {"VK_EXT_ycbcr_image_arrays", VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION},
+ {"VK_EXT_provoking_vertex", VK_EXT_PROVOKING_VERTEX_SPEC_VERSION},
+#ifdef VK_USE_PLATFORM_WIN32_KHR
+ {"VK_EXT_full_screen_exclusive", VK_EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION},
+#endif
+ {"VK_EXT_line_rasterization", VK_EXT_LINE_RASTERIZATION_SPEC_VERSION},
+ {"VK_EXT_shader_atomic_float", VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION},
+ {"VK_EXT_host_query_reset", VK_EXT_HOST_QUERY_RESET_SPEC_VERSION},
+ {"VK_EXT_index_type_uint8", VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION},
+ {"VK_EXT_extended_dynamic_state", VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION},
+ {"VK_EXT_host_image_copy", VK_EXT_HOST_IMAGE_COPY_SPEC_VERSION},
+ {"VK_EXT_map_memory_placed", VK_EXT_MAP_MEMORY_PLACED_SPEC_VERSION},
+ {"VK_EXT_shader_atomic_float2", VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION},
+ {"VK_EXT_swapchain_maintenance1", VK_EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION},
+ {"VK_EXT_shader_demote_to_helper_invocation", VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION},
+ {"VK_NV_device_generated_commands", VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION},
+ {"VK_NV_inherited_viewport_scissor", VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION},
+ {"VK_EXT_texel_buffer_alignment", VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION},
+ {"VK_QCOM_render_pass_transform", VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION},
+ {"VK_EXT_depth_bias_control", VK_EXT_DEPTH_BIAS_CONTROL_SPEC_VERSION},
+ {"VK_EXT_device_memory_report", VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION},
+ {"VK_EXT_robustness2", VK_EXT_ROBUSTNESS_2_SPEC_VERSION},
+ {"VK_EXT_custom_border_color", VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION},
+ {"VK_GOOGLE_user_type", VK_GOOGLE_USER_TYPE_SPEC_VERSION},
+ {"VK_NV_present_barrier", VK_NV_PRESENT_BARRIER_SPEC_VERSION},
+ {"VK_EXT_private_data", VK_EXT_PRIVATE_DATA_SPEC_VERSION},
+ {"VK_EXT_pipeline_creation_cache_control", VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION},
+ {"VK_NV_device_diagnostics_config", VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION},
+ {"VK_QCOM_render_pass_store_ops", VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION},
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+ {"VK_NV_cuda_kernel_launch", VK_NV_CUDA_KERNEL_LAUNCH_SPEC_VERSION},
+#endif
+ {"VK_QCOM_tile_shading", VK_QCOM_TILE_SHADING_SPEC_VERSION},
+ {"VK_NV_low_latency", VK_NV_LOW_LATENCY_SPEC_VERSION},
+#ifdef VK_USE_PLATFORM_METAL_EXT
+ {"VK_EXT_metal_objects", VK_EXT_METAL_OBJECTS_SPEC_VERSION},
+#endif
+ {"VK_EXT_descriptor_buffer", VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION},
+ {"VK_EXT_graphics_pipeline_library", VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION},
+ {"VK_AMD_shader_early_and_late_fragment_tests", VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION},
+ {"VK_NV_fragment_shading_rate_enums", VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION},
+ {"VK_NV_ray_tracing_motion_blur", VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION},
+ {"VK_EXT_ycbcr_2plane_444_formats", VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION},
+ {"VK_EXT_fragment_density_map2", VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION},
+ {"VK_QCOM_rotated_copy_commands", VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION},
+ {"VK_EXT_image_robustness", VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION},
+ {"VK_EXT_image_compression_control", VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION},
+ {"VK_EXT_attachment_feedback_loop_layout", VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION},
+ {"VK_EXT_4444_formats", VK_EXT_4444_FORMATS_SPEC_VERSION},
+ {"VK_EXT_device_fault", VK_EXT_DEVICE_FAULT_SPEC_VERSION},
+ {"VK_ARM_rasterization_order_attachment_access", VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION},
+ {"VK_EXT_rgba10x6_formats", VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION},
+#ifdef VK_USE_PLATFORM_WIN32_KHR
+ {"VK_NV_acquire_winrt_display", VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION},
+#endif
+ {"VK_VALVE_mutable_descriptor_type", VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION},
+ {"VK_EXT_vertex_input_dynamic_state", VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION},
+ {"VK_EXT_physical_device_drm", VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION},
+ {"VK_EXT_device_address_binding_report", VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION},
+ {"VK_EXT_depth_clip_control", VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION},
+ {"VK_EXT_primitive_topology_list_restart", VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION},
+ {"VK_EXT_present_mode_fifo_latest_ready", VK_EXT_PRESENT_MODE_FIFO_LATEST_READY_SPEC_VERSION},
+#ifdef VK_USE_PLATFORM_FUCHSIA
+ {"VK_FUCHSIA_external_memory", VK_FUCHSIA_EXTERNAL_MEMORY_SPEC_VERSION},
+#endif
+#ifdef VK_USE_PLATFORM_FUCHSIA
+ {"VK_FUCHSIA_external_semaphore", VK_FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION},
+#endif
+#ifdef VK_USE_PLATFORM_FUCHSIA
+ {"VK_FUCHSIA_buffer_collection", VK_FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION},
+#endif
+ {"VK_HUAWEI_subpass_shading", VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION},
+ {"VK_HUAWEI_invocation_mask", VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION},
+ {"VK_NV_external_memory_rdma", VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION},
+ {"VK_EXT_pipeline_properties", VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION},
+ {"VK_EXT_frame_boundary", VK_EXT_FRAME_BOUNDARY_SPEC_VERSION},
+ {"VK_EXT_multisampled_render_to_single_sampled", VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION},
+ {"VK_EXT_extended_dynamic_state2", VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION},
+ {"VK_EXT_color_write_enable", VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION},
+ {"VK_EXT_primitives_generated_query", VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION},
+ {"VK_EXT_global_priority_query", VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION},
+ {"VK_VALVE_video_encode_rgb_conversion", VK_VALVE_VIDEO_ENCODE_RGB_CONVERSION_SPEC_VERSION},
+ {"VK_EXT_image_view_min_lod", VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION},
+ {"VK_EXT_multi_draw", VK_EXT_MULTI_DRAW_SPEC_VERSION},
+ {"VK_EXT_image_2d_view_of_3d", VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION},
+ {"VK_EXT_shader_tile_image", VK_EXT_SHADER_TILE_IMAGE_SPEC_VERSION},
+ {"VK_EXT_opacity_micromap", VK_EXT_OPACITY_MICROMAP_SPEC_VERSION},
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+ {"VK_NV_displacement_micromap", VK_NV_DISPLACEMENT_MICROMAP_SPEC_VERSION},
+#endif
+ {"VK_EXT_load_store_op_none", VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION},
+ {"VK_HUAWEI_cluster_culling_shader", VK_HUAWEI_CLUSTER_CULLING_SHADER_SPEC_VERSION},
+ {"VK_EXT_border_color_swizzle", VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION},
+ {"VK_EXT_pageable_device_local_memory", VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION},
+ {"VK_ARM_shader_core_properties", VK_ARM_SHADER_CORE_PROPERTIES_SPEC_VERSION},
+ {"VK_ARM_scheduling_controls", VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION},
+ {"VK_EXT_image_sliced_view_of_3d", VK_EXT_IMAGE_SLICED_VIEW_OF_3D_SPEC_VERSION},
+ {"VK_VALVE_descriptor_set_host_mapping", VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION},
+ {"VK_EXT_depth_clamp_zero_one", VK_EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION},
+ {"VK_EXT_non_seamless_cube_map", VK_EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION},
+ {"VK_ARM_render_pass_striped", VK_ARM_RENDER_PASS_STRIPED_SPEC_VERSION},
+ {"VK_QCOM_fragment_density_map_offset", VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION},
+ {"VK_NV_copy_memory_indirect", VK_NV_COPY_MEMORY_INDIRECT_SPEC_VERSION},
+ {"VK_NV_memory_decompression", VK_NV_MEMORY_DECOMPRESSION_SPEC_VERSION},
+ {"VK_NV_device_generated_commands_compute", VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_SPEC_VERSION},
+ {"VK_NV_ray_tracing_linear_swept_spheres", VK_NV_RAY_TRACING_LINEAR_SWEPT_SPHERES_SPEC_VERSION},
+ {"VK_NV_linear_color_attachment", VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION},
+ {"VK_EXT_image_compression_control_swapchain", VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION},
+ {"VK_QCOM_image_processing", VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION},
+ {"VK_EXT_nested_command_buffer", VK_EXT_NESTED_COMMAND_BUFFER_SPEC_VERSION},
+ {"VK_EXT_external_memory_acquire_unmodified", VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_SPEC_VERSION},
+ {"VK_EXT_extended_dynamic_state3", VK_EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION},
+ {"VK_EXT_subpass_merge_feedback", VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION},
+ {"VK_ARM_tensors", VK_ARM_TENSORS_SPEC_VERSION},
+ {"VK_EXT_shader_module_identifier", VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION},
+ {"VK_EXT_rasterization_order_attachment_access", VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION},
+ {"VK_NV_optical_flow", VK_NV_OPTICAL_FLOW_SPEC_VERSION},
+ {"VK_EXT_legacy_dithering", VK_EXT_LEGACY_DITHERING_SPEC_VERSION},
+ {"VK_EXT_pipeline_protected_access", VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION},
+#ifdef VK_USE_PLATFORM_ANDROID_KHR
+ {"VK_ANDROID_external_format_resolve", VK_ANDROID_EXTERNAL_FORMAT_RESOLVE_SPEC_VERSION},
+#endif
+ {"VK_AMD_anti_lag", VK_AMD_ANTI_LAG_SPEC_VERSION},
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+ {"VK_AMDX_dense_geometry_format", VK_AMDX_DENSE_GEOMETRY_FORMAT_SPEC_VERSION},
+#endif
+ {"VK_EXT_shader_object", VK_EXT_SHADER_OBJECT_SPEC_VERSION},
+ {"VK_QCOM_tile_properties", VK_QCOM_TILE_PROPERTIES_SPEC_VERSION},
+ {"VK_SEC_amigo_profiling", VK_SEC_AMIGO_PROFILING_SPEC_VERSION},
+ {"VK_QCOM_multiview_per_view_viewports", VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION},
+ {"VK_NV_ray_tracing_invocation_reorder", VK_NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION},
+ {"VK_NV_cooperative_vector", VK_NV_COOPERATIVE_VECTOR_SPEC_VERSION},
+ {"VK_NV_extended_sparse_address_space", VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_SPEC_VERSION},
+ {"VK_EXT_mutable_descriptor_type", VK_EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION},
+ {"VK_EXT_legacy_vertex_attributes", VK_EXT_LEGACY_VERTEX_ATTRIBUTES_SPEC_VERSION},
+ {"VK_ARM_shader_core_builtins", VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION},
+ {"VK_EXT_pipeline_library_group_handles", VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION},
+ {"VK_EXT_dynamic_rendering_unused_attachments", VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_SPEC_VERSION},
+ {"VK_NV_low_latency2", VK_NV_LOW_LATENCY_2_SPEC_VERSION},
+ {"VK_ARM_data_graph", VK_ARM_DATA_GRAPH_SPEC_VERSION},
+ {"VK_QCOM_multiview_per_view_render_areas", VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_SPEC_VERSION},
+ {"VK_NV_per_stage_descriptor_set", VK_NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION},
+ {"VK_QCOM_image_processing2", VK_QCOM_IMAGE_PROCESSING_2_SPEC_VERSION},
+ {"VK_QCOM_filter_cubic_weights", VK_QCOM_FILTER_CUBIC_WEIGHTS_SPEC_VERSION},
+ {"VK_QCOM_ycbcr_degamma", VK_QCOM_YCBCR_DEGAMMA_SPEC_VERSION},
+ {"VK_QCOM_filter_cubic_clamp", VK_QCOM_FILTER_CUBIC_CLAMP_SPEC_VERSION},
+ {"VK_EXT_attachment_feedback_loop_dynamic_state", VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_SPEC_VERSION},
+#ifdef VK_USE_PLATFORM_SCREEN_QNX
+ {"VK_QNX_external_memory_screen_buffer", VK_QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_SPEC_VERSION},
+#endif
+ {"VK_MSFT_layered_driver", VK_MSFT_LAYERED_DRIVER_SPEC_VERSION},
+ {"VK_NV_descriptor_pool_overallocation", VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_SPEC_VERSION},
+ {"VK_QCOM_tile_memory_heap", VK_QCOM_TILE_MEMORY_HEAP_SPEC_VERSION},
+ {"VK_NV_raw_access_chains", VK_NV_RAW_ACCESS_CHAINS_SPEC_VERSION},
+ {"VK_NV_external_compute_queue", VK_NV_EXTERNAL_COMPUTE_QUEUE_SPEC_VERSION},
+ {"VK_NV_command_buffer_inheritance", VK_NV_COMMAND_BUFFER_INHERITANCE_SPEC_VERSION},
+ {"VK_NV_shader_atomic_float16_vector", VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_SPEC_VERSION},
+ {"VK_EXT_shader_replicated_composites", VK_EXT_SHADER_REPLICATED_COMPOSITES_SPEC_VERSION},
+ {"VK_EXT_shader_float8", VK_EXT_SHADER_FLOAT8_SPEC_VERSION},
+ {"VK_NV_ray_tracing_validation", VK_NV_RAY_TRACING_VALIDATION_SPEC_VERSION},
+ {"VK_NV_cluster_acceleration_structure", VK_NV_CLUSTER_ACCELERATION_STRUCTURE_SPEC_VERSION},
+ {"VK_NV_partitioned_acceleration_structure", VK_NV_PARTITIONED_ACCELERATION_STRUCTURE_SPEC_VERSION},
+ {"VK_EXT_device_generated_commands", VK_EXT_DEVICE_GENERATED_COMMANDS_SPEC_VERSION},
+ {"VK_MESA_image_alignment_control", VK_MESA_IMAGE_ALIGNMENT_CONTROL_SPEC_VERSION},
+ {"VK_EXT_depth_clamp_control", VK_EXT_DEPTH_CLAMP_CONTROL_SPEC_VERSION},
+ {"VK_HUAWEI_hdr_vivid", VK_HUAWEI_HDR_VIVID_SPEC_VERSION},
+ {"VK_NV_cooperative_matrix2", VK_NV_COOPERATIVE_MATRIX_2_SPEC_VERSION},
+ {"VK_ARM_pipeline_opacity_micromap", VK_ARM_PIPELINE_OPACITY_MICROMAP_SPEC_VERSION},
+#ifdef VK_USE_PLATFORM_METAL_EXT
+ {"VK_EXT_external_memory_metal", VK_EXT_EXTERNAL_MEMORY_METAL_SPEC_VERSION},
+#endif
+ {"VK_EXT_vertex_attribute_robustness", VK_EXT_VERTEX_ATTRIBUTE_ROBUSTNESS_SPEC_VERSION},
+ {"VK_ARM_format_pack", VK_ARM_FORMAT_PACK_SPEC_VERSION},
+ {"VK_VALVE_fragment_density_map_layered", VK_VALVE_FRAGMENT_DENSITY_MAP_LAYERED_SPEC_VERSION},
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+ {"VK_NV_present_metering", VK_NV_PRESENT_METERING_SPEC_VERSION},
+#endif
+ {"VK_EXT_fragment_density_map_offset", VK_EXT_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION},
+ {"VK_EXT_zero_initialize_device_memory", VK_EXT_ZERO_INITIALIZE_DEVICE_MEMORY_SPEC_VERSION},
+ {"VK_SEC_pipeline_cache_incremental_mode", VK_SEC_PIPELINE_CACHE_INCREMENTAL_MODE_SPEC_VERSION},
+ {"VK_KHR_acceleration_structure", VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION},
+ {"VK_KHR_ray_tracing_pipeline", VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION},
+ {"VK_KHR_ray_query", VK_KHR_RAY_QUERY_SPEC_VERSION},
+ {"VK_EXT_mesh_shader", VK_EXT_MESH_SHADER_SPEC_VERSION},
};
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateInstance(
const VkInstanceCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
@@ -1258,7 +1328,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdExecuteCommands(
uint32_t commandBufferCount,
const VkCommandBuffer* pCommandBuffers);
-
static VKAPI_ATTR VkResult VKAPI_CALL EnumerateInstanceVersion(
uint32_t* pApiVersion);
@@ -1404,7 +1473,6 @@ static VKAPI_ATTR void VKAPI_CALL GetDescriptorSetLayoutSupport(
const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
VkDescriptorSetLayoutSupport* pSupport);
-
static VKAPI_ATTR void VKAPI_CALL CmdDrawIndirectCount(
VkCommandBuffer commandBuffer,
VkBuffer buffer,
@@ -1475,7 +1543,6 @@ static VKAPI_ATTR uint64_t VKAPI_CALL GetDeviceMemoryOpaqueCaptureAddress(
VkDevice device,
const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceToolProperties(
VkPhysicalDevice physicalDevice,
uint32_t* pToolCount,
@@ -1656,7 +1723,6 @@ static VKAPI_ATTR void VKAPI_CALL GetDeviceImageSparseMemoryRequirements(
uint32_t* pSparseMemoryRequirementCount,
VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
-
static VKAPI_ATTR void VKAPI_CALL CmdSetLineStipple(
VkCommandBuffer commandBuffer,
uint32_t lineStippleFactor,
@@ -1750,7 +1816,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL TransitionImageLayout(
uint32_t transitionCount,
const VkHostImageLayoutTransitionInfo* pTransitions);
-
static VKAPI_ATTR void VKAPI_CALL DestroySurfaceKHR(
VkInstance instance,
VkSurfaceKHR surface,
@@ -1779,7 +1844,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfacePresentModesKHR(
uint32_t* pPresentModeCount,
VkPresentModeKHR* pPresentModes);
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateSwapchainKHR(
VkDevice device,
const VkSwapchainCreateInfoKHR* pCreateInfo,
@@ -1829,7 +1893,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL AcquireNextImage2KHR(
const VkAcquireNextImageInfoKHR* pAcquireInfo,
uint32_t* pImageIndex);
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceDisplayPropertiesKHR(
VkPhysicalDevice physicalDevice,
uint32_t* pPropertyCount,
@@ -1871,14 +1934,12 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateDisplayPlaneSurfaceKHR(
const VkAllocationCallbacks* pAllocator,
VkSurfaceKHR* pSurface);
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateSharedSwapchainsKHR(
VkDevice device,
uint32_t swapchainCount,
const VkSwapchainCreateInfoKHR* pCreateInfos,
const VkAllocationCallbacks* pAllocator,
VkSwapchainKHR* pSwapchains);
-
#ifdef VK_USE_PLATFORM_XLIB_KHR
static VKAPI_ATTR VkResult VKAPI_CALL CreateXlibSurfaceKHR(
@@ -1895,7 +1956,6 @@ static VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceXlibPresentationSupportKH
#endif /* VK_USE_PLATFORM_XLIB_KHR */
#ifdef VK_USE_PLATFORM_XCB_KHR
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateXcbSurfaceKHR(
VkInstance instance,
const VkXcbSurfaceCreateInfoKHR* pCreateInfo,
@@ -1910,7 +1970,6 @@ static VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceXcbPresentationSupportKHR
#endif /* VK_USE_PLATFORM_XCB_KHR */
#ifdef VK_USE_PLATFORM_WAYLAND_KHR
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateWaylandSurfaceKHR(
VkInstance instance,
const VkWaylandSurfaceCreateInfoKHR* pCreateInfo,
@@ -1924,7 +1983,6 @@ static VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceWaylandPresentationSuppor
#endif /* VK_USE_PLATFORM_WAYLAND_KHR */
#ifdef VK_USE_PLATFORM_ANDROID_KHR
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateAndroidSurfaceKHR(
VkInstance instance,
const VkAndroidSurfaceCreateInfoKHR* pCreateInfo,
@@ -1933,7 +1991,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateAndroidSurfaceKHR(
#endif /* VK_USE_PLATFORM_ANDROID_KHR */
#ifdef VK_USE_PLATFORM_WIN32_KHR
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateWin32SurfaceKHR(
VkInstance instance,
const VkWin32SurfaceCreateInfoKHR* pCreateInfo,
@@ -1944,9 +2001,6 @@ static VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceWin32PresentationSupportK
VkPhysicalDevice physicalDevice,
uint32_t queueFamilyIndex);
#endif /* VK_USE_PLATFORM_WIN32_KHR */
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceVideoCapabilitiesKHR(
VkPhysicalDevice physicalDevice,
const VkVideoProfileInfoKHR* pVideoProfile,
@@ -2009,15 +2063,10 @@ static VKAPI_ATTR void VKAPI_CALL CmdControlVideoCodingKHR(
VkCommandBuffer commandBuffer,
const VkVideoCodingControlInfoKHR* pCodingControlInfo);
-
static VKAPI_ATTR void VKAPI_CALL CmdDecodeVideoKHR(
VkCommandBuffer commandBuffer,
const VkVideoDecodeInfoKHR* pDecodeInfo);
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdBeginRenderingKHR(
VkCommandBuffer commandBuffer,
const VkRenderingInfo* pRenderingInfo);
@@ -2025,8 +2074,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdBeginRenderingKHR(
static VKAPI_ATTR void VKAPI_CALL CmdEndRenderingKHR(
VkCommandBuffer commandBuffer);
-
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFeatures2KHR(
VkPhysicalDevice physicalDevice,
VkPhysicalDeviceFeatures2* pFeatures);
@@ -2060,7 +2107,6 @@ static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceSparseImageFormatProperties2K
uint32_t* pPropertyCount,
VkSparseImageFormatProperties2* pProperties);
-
static VKAPI_ATTR void VKAPI_CALL GetDeviceGroupPeerMemoryFeaturesKHR(
VkDevice device,
uint32_t heapIndex,
@@ -2081,26 +2127,20 @@ static VKAPI_ATTR void VKAPI_CALL CmdDispatchBaseKHR(
uint32_t groupCountY,
uint32_t groupCountZ);
-
-
static VKAPI_ATTR void VKAPI_CALL TrimCommandPoolKHR(
VkDevice device,
VkCommandPool commandPool,
VkCommandPoolTrimFlags flags);
-
static VKAPI_ATTR VkResult VKAPI_CALL EnumeratePhysicalDeviceGroupsKHR(
VkInstance instance,
uint32_t* pPhysicalDeviceGroupCount,
VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalBufferPropertiesKHR(
VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
VkExternalBufferProperties* pExternalBufferProperties);
-
-
#ifdef VK_USE_PLATFORM_WIN32_KHR
static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryWin32HandleKHR(
@@ -2114,8 +2154,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryWin32HandlePropertiesKHR(
HANDLE handle,
VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties);
#endif /* VK_USE_PLATFORM_WIN32_KHR */
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryFdKHR(
VkDevice device,
const VkMemoryGetFdInfoKHR* pGetFdInfo,
@@ -2127,16 +2165,10 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryFdPropertiesKHR(
int fd,
VkMemoryFdPropertiesKHR* pMemoryFdProperties);
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-#endif /* VK_USE_PLATFORM_WIN32_KHR */
-
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalSemaphorePropertiesKHR(
VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
-
-
#ifdef VK_USE_PLATFORM_WIN32_KHR
static VKAPI_ATTR VkResult VKAPI_CALL ImportSemaphoreWin32HandleKHR(
@@ -2148,8 +2180,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetSemaphoreWin32HandleKHR(
const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo,
HANDLE* pHandle);
#endif /* VK_USE_PLATFORM_WIN32_KHR */
-
-
static VKAPI_ATTR VkResult VKAPI_CALL ImportSemaphoreFdKHR(
VkDevice device,
const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
@@ -2159,7 +2189,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetSemaphoreFdKHR(
const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
int* pFd);
-
static VKAPI_ATTR void VKAPI_CALL CmdPushDescriptorSetKHR(
VkCommandBuffer commandBuffer,
VkPipelineBindPoint pipelineBindPoint,
@@ -2175,10 +2204,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdPushDescriptorSetWithTemplateKHR(
uint32_t set,
const void* pData);
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateDescriptorUpdateTemplateKHR(
VkDevice device,
const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
@@ -2196,8 +2221,6 @@ static VKAPI_ATTR void VKAPI_CALL UpdateDescriptorSetWithTemplateKHR(
VkDescriptorUpdateTemplate descriptorUpdateTemplate,
const void* pData);
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateRenderPass2KHR(
VkDevice device,
const VkRenderPassCreateInfo2* pCreateInfo,
@@ -2218,18 +2241,14 @@ static VKAPI_ATTR void VKAPI_CALL CmdEndRenderPass2KHR(
VkCommandBuffer commandBuffer,
const VkSubpassEndInfo* pSubpassEndInfo);
-
static VKAPI_ATTR VkResult VKAPI_CALL GetSwapchainStatusKHR(
VkDevice device,
VkSwapchainKHR swapchain);
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalFencePropertiesKHR(
VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
VkExternalFenceProperties* pExternalFenceProperties);
-
-
#ifdef VK_USE_PLATFORM_WIN32_KHR
static VKAPI_ATTR VkResult VKAPI_CALL ImportFenceWin32HandleKHR(
@@ -2241,8 +2260,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetFenceWin32HandleKHR(
const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo,
HANDLE* pHandle);
#endif /* VK_USE_PLATFORM_WIN32_KHR */
-
-
static VKAPI_ATTR VkResult VKAPI_CALL ImportFenceFdKHR(
VkDevice device,
const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
@@ -2252,7 +2269,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetFenceFdKHR(
const VkFenceGetFdInfoKHR* pGetFdInfo,
int* pFd);
-
static VKAPI_ATTR VkResult VKAPI_CALL EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
VkPhysicalDevice physicalDevice,
uint32_t queueFamilyIndex,
@@ -2272,8 +2288,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL AcquireProfilingLockKHR(
static VKAPI_ATTR void VKAPI_CALL ReleaseProfilingLockKHR(
VkDevice device);
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceCapabilities2KHR(
VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
@@ -2285,8 +2299,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceFormats2KHR(
uint32_t* pSurfaceFormatCount,
VkSurfaceFormat2KHR* pSurfaceFormats);
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceDisplayProperties2KHR(
VkPhysicalDevice physicalDevice,
uint32_t* pPropertyCount,
@@ -2308,11 +2320,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetDisplayPlaneCapabilities2KHR(
const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
VkDisplayPlaneCapabilities2KHR* pCapabilities);
-
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL GetImageMemoryRequirements2KHR(
VkDevice device,
const VkImageMemoryRequirementsInfo2* pInfo,
@@ -2329,8 +2336,6 @@ static VKAPI_ATTR void VKAPI_CALL GetImageSparseMemoryRequirements2KHR(
uint32_t* pSparseMemoryRequirementCount,
VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateSamplerYcbcrConversionKHR(
VkDevice device,
const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
@@ -2342,7 +2347,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroySamplerYcbcrConversionKHR(
VkSamplerYcbcrConversion ycbcrConversion,
const VkAllocationCallbacks* pAllocator);
-
static VKAPI_ATTR VkResult VKAPI_CALL BindBufferMemory2KHR(
VkDevice device,
uint32_t bindInfoCount,
@@ -2353,16 +2357,11 @@ static VKAPI_ATTR VkResult VKAPI_CALL BindImageMemory2KHR(
uint32_t bindInfoCount,
const VkBindImageMemoryInfo* pBindInfos);
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-#endif /* VK_ENABLE_BETA_EXTENSIONS */
-
-
static VKAPI_ATTR void VKAPI_CALL GetDescriptorSetLayoutSupportKHR(
VkDevice device,
const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
VkDescriptorSetLayoutSupport* pSupport);
-
static VKAPI_ATTR void VKAPI_CALL CmdDrawIndirectCountKHR(
VkCommandBuffer commandBuffer,
VkBuffer buffer,
@@ -2381,17 +2380,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDrawIndexedIndirectCountKHR(
uint32_t maxDrawCount,
uint32_t stride);
-
-
-
-
-
-
-
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetSemaphoreCounterValueKHR(
VkDevice device,
VkSemaphore semaphore,
@@ -2406,9 +2394,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL SignalSemaphoreKHR(
VkDevice device,
const VkSemaphoreSignalInfo* pSignalInfo);
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceFragmentShadingRatesKHR(
VkPhysicalDevice physicalDevice,
uint32_t* pFragmentShadingRateCount,
@@ -2419,7 +2404,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetFragmentShadingRateKHR(
const VkExtent2D* pFragmentSize,
const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
-
static VKAPI_ATTR void VKAPI_CALL CmdSetRenderingAttachmentLocationsKHR(
VkCommandBuffer commandBuffer,
const VkRenderingAttachmentLocationInfo* pLocationInfo);
@@ -2428,19 +2412,12 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetRenderingInputAttachmentIndicesKHR(
VkCommandBuffer commandBuffer,
const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo);
-
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL WaitForPresentKHR(
VkDevice device,
VkSwapchainKHR swapchain,
uint64_t presentId,
uint64_t timeout);
-
-
static VKAPI_ATTR VkDeviceAddress VKAPI_CALL GetBufferDeviceAddressKHR(
VkDevice device,
const VkBufferDeviceAddressInfo* pInfo);
@@ -2453,7 +2430,6 @@ static VKAPI_ATTR uint64_t VKAPI_CALL GetDeviceMemoryOpaqueCaptureAddressKHR(
VkDevice device,
const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateDeferredOperationKHR(
VkDevice device,
const VkAllocationCallbacks* pAllocator,
@@ -2476,7 +2452,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL DeferredOperationJoinKHR(
VkDevice device,
VkDeferredOperationKHR operation);
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPipelineExecutablePropertiesKHR(
VkDevice device,
const VkPipelineInfoKHR* pPipelineInfo,
@@ -2495,7 +2470,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPipelineExecutableInternalRepresentatio
uint32_t* pInternalRepresentationCount,
VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
-
static VKAPI_ATTR VkResult VKAPI_CALL MapMemory2KHR(
VkDevice device,
const VkMemoryMapInfo* pMemoryMapInfo,
@@ -2505,11 +2479,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL UnmapMemory2KHR(
VkDevice device,
const VkMemoryUnmapInfo* pMemoryUnmapInfo);
-
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR(
VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo,
@@ -2526,7 +2495,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdEncodeVideoKHR(
VkCommandBuffer commandBuffer,
const VkVideoEncodeInfoKHR* pEncodeInfo);
-
static VKAPI_ATTR void VKAPI_CALL CmdSetEvent2KHR(
VkCommandBuffer commandBuffer,
VkEvent event,
@@ -2559,11 +2527,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL QueueSubmit2KHR(
const VkSubmitInfo2* pSubmits,
VkFence fence);
-
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdCopyBuffer2KHR(
VkCommandBuffer commandBuffer,
const VkCopyBufferInfo2* pCopyBufferInfo);
@@ -2588,15 +2551,10 @@ static VKAPI_ATTR void VKAPI_CALL CmdResolveImage2KHR(
VkCommandBuffer commandBuffer,
const VkResolveImageInfo2* pResolveImageInfo);
-
-
static VKAPI_ATTR void VKAPI_CALL CmdTraceRaysIndirect2KHR(
VkCommandBuffer commandBuffer,
VkDeviceAddress indirectDeviceAddress);
-
-
-
static VKAPI_ATTR void VKAPI_CALL GetDeviceBufferMemoryRequirementsKHR(
VkDevice device,
const VkDeviceBufferMemoryRequirements* pInfo,
@@ -2613,9 +2571,6 @@ static VKAPI_ATTR void VKAPI_CALL GetDeviceImageSparseMemoryRequirementsKHR(
uint32_t* pSparseMemoryRequirementCount,
VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdBindIndexBuffer2KHR(
VkCommandBuffer commandBuffer,
VkBuffer buffer,
@@ -2639,15 +2594,11 @@ static VKAPI_ATTR void VKAPI_CALL GetImageSubresourceLayout2KHR(
const VkImageSubresource2* pSubresource,
VkSubresourceLayout2* pLayout);
-
-
static VKAPI_ATTR VkResult VKAPI_CALL WaitForPresent2KHR(
VkDevice device,
VkSwapchainKHR swapchain,
const VkPresentWait2InfoKHR* pPresentWait2Info);
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreatePipelineBinariesKHR(
VkDevice device,
const VkPipelineBinaryCreateInfoKHR* pCreateInfo,
@@ -2676,35 +2627,20 @@ static VKAPI_ATTR VkResult VKAPI_CALL ReleaseCapturedPipelineDataKHR(
const VkReleaseCapturedPipelineDataInfoKHR* pInfo,
const VkAllocationCallbacks* pAllocator);
-
-
static VKAPI_ATTR VkResult VKAPI_CALL ReleaseSwapchainImagesKHR(
VkDevice device,
const VkReleaseSwapchainImagesInfoKHR* pReleaseInfo);
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCooperativeMatrixPropertiesKHR(
VkPhysicalDevice physicalDevice,
uint32_t* pPropertyCount,
VkCooperativeMatrixPropertiesKHR* pProperties);
-
-
-
-
-
-
-
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetLineStippleKHR(
VkCommandBuffer commandBuffer,
uint32_t lineStippleFactor,
uint16_t lineStipplePattern);
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCalibrateableTimeDomainsKHR(
VkPhysicalDevice physicalDevice,
uint32_t* pTimeDomainCount,
@@ -2717,8 +2653,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetCalibratedTimestampsKHR(
uint64_t* pTimestamps,
uint64_t* pMaxDeviation);
-
-
static VKAPI_ATTR void VKAPI_CALL CmdBindDescriptorSets2KHR(
VkCommandBuffer commandBuffer,
const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo);
@@ -2743,7 +2677,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdBindDescriptorBufferEmbeddedSamplers2EXT(
VkCommandBuffer commandBuffer,
const VkBindDescriptorBufferEmbeddedSamplersInfoEXT* pBindDescriptorBufferEmbeddedSamplersInfo);
-
static VKAPI_ATTR void VKAPI_CALL CmdCopyMemoryIndirectKHR(
VkCommandBuffer commandBuffer,
const VkCopyMemoryIndirectInfoKHR* pCopyMemoryIndirectInfo);
@@ -2752,17 +2685,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdCopyMemoryToImageIndirectKHR(
VkCommandBuffer commandBuffer,
const VkCopyMemoryToImageIndirectInfoKHR* pCopyMemoryToImageIndirectInfo);
-
-
-
-
-
-
-
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateDebugReportCallbackEXT(
VkInstance instance,
const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
@@ -2784,13 +2706,6 @@ static VKAPI_ATTR void VKAPI_CALL DebugReportMessageEXT(
const char* pLayerPrefix,
const char* pMessage);
-
-
-
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL DebugMarkerSetObjectTagEXT(
VkDevice device,
const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
@@ -2810,9 +2725,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDebugMarkerInsertEXT(
VkCommandBuffer commandBuffer,
const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdBindTransformFeedbackBuffersEXT(
VkCommandBuffer commandBuffer,
uint32_t firstBinding,
@@ -2857,7 +2769,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDrawIndirectByteCountEXT(
uint32_t counterOffset,
uint32_t vertexStride);
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateCuModuleNVX(
VkDevice device,
const VkCuModuleCreateInfoNVX* pCreateInfo,
@@ -2884,7 +2795,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdCuLaunchKernelNVX(
VkCommandBuffer commandBuffer,
const VkCuLaunchInfoNVX* pLaunchInfo);
-
static VKAPI_ATTR uint32_t VKAPI_CALL GetImageViewHandleNVX(
VkDevice device,
const VkImageViewHandleInfoNVX* pInfo);
@@ -2898,7 +2808,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetImageViewAddressNVX(
VkImageView imageView,
VkImageViewAddressPropertiesNVX* pProperties);
-
static VKAPI_ATTR void VKAPI_CALL CmdDrawIndirectCountAMD(
VkCommandBuffer commandBuffer,
VkBuffer buffer,
@@ -2917,11 +2826,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDrawIndexedIndirectCountAMD(
uint32_t maxDrawCount,
uint32_t stride);
-
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetShaderInfoAMD(
VkDevice device,
VkPipeline pipeline,
@@ -2929,8 +2833,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetShaderInfoAMD(
VkShaderInfoTypeAMD infoType,
size_t* pInfoSize,
void* pInfo);
-
-
#ifdef VK_USE_PLATFORM_GGP
static VKAPI_ATTR VkResult VKAPI_CALL CreateStreamDescriptorSurfaceGGP(
@@ -2939,10 +2841,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateStreamDescriptorSurfaceGGP(
const VkAllocationCallbacks* pAllocator,
VkSurfaceKHR* pSurface);
#endif /* VK_USE_PLATFORM_GGP */
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceExternalImageFormatPropertiesNV(
VkPhysicalDevice physicalDevice,
VkFormat format,
@@ -2952,8 +2850,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceExternalImageFormatProper
VkImageCreateFlags flags,
VkExternalMemoryHandleTypeFlagsNV externalHandleType,
VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
-
-
#ifdef VK_USE_PLATFORM_WIN32_KHR
static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryWin32HandleNV(
@@ -2963,25 +2859,13 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryWin32HandleNV(
HANDLE* pHandle);
#endif /* VK_USE_PLATFORM_WIN32_KHR */
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-#endif /* VK_USE_PLATFORM_WIN32_KHR */
-
-
#ifdef VK_USE_PLATFORM_VI_NN
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateViSurfaceNN(
VkInstance instance,
const VkViSurfaceCreateInfoNN* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkSurfaceKHR* pSurface);
#endif /* VK_USE_PLATFORM_VI_NN */
-
-
-
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdBeginConditionalRenderingEXT(
VkCommandBuffer commandBuffer,
const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
@@ -2989,18 +2873,15 @@ static VKAPI_ATTR void VKAPI_CALL CmdBeginConditionalRenderingEXT(
static VKAPI_ATTR void VKAPI_CALL CmdEndConditionalRenderingEXT(
VkCommandBuffer commandBuffer);
-
static VKAPI_ATTR void VKAPI_CALL CmdSetViewportWScalingNV(
VkCommandBuffer commandBuffer,
uint32_t firstViewport,
uint32_t viewportCount,
const VkViewportWScalingNV* pViewportWScalings);
-
static VKAPI_ATTR VkResult VKAPI_CALL ReleaseDisplayEXT(
VkPhysicalDevice physicalDevice,
VkDisplayKHR display);
-
#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
static VKAPI_ATTR VkResult VKAPI_CALL AcquireXlibDisplayEXT(
@@ -3014,14 +2895,11 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetRandROutputDisplayEXT(
RROutput rrOutput,
VkDisplayKHR* pDisplay);
#endif /* VK_USE_PLATFORM_XLIB_XRANDR_EXT */
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceCapabilities2EXT(
VkPhysicalDevice physicalDevice,
VkSurfaceKHR surface,
VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
-
static VKAPI_ATTR VkResult VKAPI_CALL DisplayPowerControlEXT(
VkDevice device,
VkDisplayKHR display,
@@ -3046,7 +2924,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetSwapchainCounterEXT(
VkSurfaceCounterFlagBitsEXT counter,
uint64_t* pCounterValue);
-
static VKAPI_ATTR VkResult VKAPI_CALL GetRefreshCycleDurationGOOGLE(
VkDevice device,
VkSwapchainKHR swapchain,
@@ -3058,12 +2935,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPastPresentationTimingGOOGLE(
uint32_t* pPresentationTimingCount,
VkPastPresentationTimingGOOGLE* pPresentationTimings);
-
-
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetDiscardRectangleEXT(
VkCommandBuffer commandBuffer,
uint32_t firstDiscardRectangle,
@@ -3078,17 +2949,11 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetDiscardRectangleModeEXT(
VkCommandBuffer commandBuffer,
VkDiscardRectangleModeEXT discardRectangleMode);
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL SetHdrMetadataEXT(
VkDevice device,
uint32_t swapchainCount,
const VkSwapchainKHR* pSwapchains,
const VkHdrMetadataEXT* pMetadata);
-
-
#ifdef VK_USE_PLATFORM_IOS_MVK
static VKAPI_ATTR VkResult VKAPI_CALL CreateIOSSurfaceMVK(
@@ -3099,17 +2964,12 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateIOSSurfaceMVK(
#endif /* VK_USE_PLATFORM_IOS_MVK */
#ifdef VK_USE_PLATFORM_MACOS_MVK
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateMacOSSurfaceMVK(
VkInstance instance,
const VkMacOSSurfaceCreateInfoMVK* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkSurfaceKHR* pSurface);
#endif /* VK_USE_PLATFORM_MACOS_MVK */
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL SetDebugUtilsObjectNameEXT(
VkDevice device,
const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
@@ -3156,7 +3016,6 @@ static VKAPI_ATTR void VKAPI_CALL SubmitDebugUtilsMessageEXT(
VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
VkDebugUtilsMessageTypeFlagsEXT messageTypes,
const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
-
#ifdef VK_USE_PLATFORM_ANDROID_KHR
static VKAPI_ATTR VkResult VKAPI_CALL GetAndroidHardwareBufferPropertiesANDROID(
@@ -3170,10 +3029,7 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryAndroidHardwareBufferANDROID(
struct AHardwareBuffer** pBuffer);
#endif /* VK_USE_PLATFORM_ANDROID_KHR */
-
-
#ifdef VK_ENABLE_BETA_EXTENSIONS
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateExecutionGraphPipelinesAMDX(
VkDevice device,
VkPipelineCache pipelineCache,
@@ -3217,12 +3073,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDispatchGraphIndirectCountAMDX(
VkDeviceSize scratchSize,
VkDeviceAddress countInfo);
#endif /* VK_ENABLE_BETA_EXTENSIONS */
-
-
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetSampleLocationsEXT(
VkCommandBuffer commandBuffer,
const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
@@ -3232,19 +3082,11 @@ static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceMultisamplePropertiesEXT(
VkSampleCountFlagBits samples,
VkMultisamplePropertiesEXT* pMultisampleProperties);
-
-
-
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetImageDrmFormatModifierPropertiesEXT(
VkDevice device,
VkImage image,
VkImageDrmFormatModifierPropertiesEXT* pProperties);
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateValidationCacheEXT(
VkDevice device,
const VkValidationCacheCreateInfoEXT* pCreateInfo,
@@ -3268,9 +3110,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetValidationCacheDataEXT(
size_t* pDataSize,
void* pData);
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdBindShadingRateImageNV(
VkCommandBuffer commandBuffer,
VkImageView imageView,
@@ -3288,7 +3127,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetCoarseSampleOrderNV(
uint32_t customSampleOrderCount,
const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateAccelerationStructureNV(
VkDevice device,
const VkAccelerationStructureCreateInfoNV* pCreateInfo,
@@ -3387,18 +3225,12 @@ static VKAPI_ATTR VkResult VKAPI_CALL CompileDeferredNV(
VkPipeline pipeline,
uint32_t shader);
-
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryHostPointerPropertiesEXT(
VkDevice device,
VkExternalMemoryHandleTypeFlagBits handleType,
const void* pHostPointer,
VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
-
static VKAPI_ATTR void VKAPI_CALL CmdWriteBufferMarkerAMD(
VkCommandBuffer commandBuffer,
VkPipelineStageFlagBits pipelineStage,
@@ -3413,8 +3245,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdWriteBufferMarker2AMD(
VkDeviceSize dstOffset,
uint32_t marker);
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCalibrateableTimeDomainsEXT(
VkPhysicalDevice physicalDevice,
uint32_t* pTimeDomainCount,
@@ -3427,16 +3257,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetCalibratedTimestampsEXT(
uint64_t* pTimestamps,
uint64_t* pMaxDeviation);
-
-
-
-#ifdef VK_USE_PLATFORM_GGP
-#endif /* VK_USE_PLATFORM_GGP */
-
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksNV(
VkCommandBuffer commandBuffer,
uint32_t taskCount,
@@ -3458,9 +3278,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksIndirectCountNV(
uint32_t maxDrawCount,
uint32_t stride);
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetExclusiveScissorEnableNV(
VkCommandBuffer commandBuffer,
uint32_t firstExclusiveScissor,
@@ -3473,7 +3290,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetExclusiveScissorNV(
uint32_t exclusiveScissorCount,
const VkRect2D* pExclusiveScissors);
-
static VKAPI_ATTR void VKAPI_CALL CmdSetCheckpointNV(
VkCommandBuffer commandBuffer,
const void* pCheckpointMarker);
@@ -3488,8 +3304,6 @@ static VKAPI_ATTR void VKAPI_CALL GetQueueCheckpointData2NV(
uint32_t* pCheckpointDataCount,
VkCheckpointData2NV* pCheckpointData);
-
-
static VKAPI_ATTR VkResult VKAPI_CALL InitializePerformanceApiINTEL(
VkDevice device,
const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
@@ -3527,13 +3341,10 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPerformanceParameterINTEL(
VkPerformanceParameterTypeINTEL parameter,
VkPerformanceValueINTEL* pValue);
-
-
static VKAPI_ATTR void VKAPI_CALL SetLocalDimmingAMD(
VkDevice device,
VkSwapchainKHR swapChain,
VkBool32 localDimmingEnable);
-
#ifdef VK_USE_PLATFORM_FUCHSIA
static VKAPI_ATTR VkResult VKAPI_CALL CreateImagePipeSurfaceFUCHSIA(
@@ -3544,53 +3355,30 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateImagePipeSurfaceFUCHSIA(
#endif /* VK_USE_PLATFORM_FUCHSIA */
#ifdef VK_USE_PLATFORM_METAL_EXT
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateMetalSurfaceEXT(
VkInstance instance,
const VkMetalSurfaceCreateInfoEXT* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkSurfaceKHR* pSurface);
#endif /* VK_USE_PLATFORM_METAL_EXT */
-
-
-
-
-
-
-
-
-
-
-
-
-
static VKAPI_ATTR VkDeviceAddress VKAPI_CALL GetBufferDeviceAddressEXT(
VkDevice device,
const VkBufferDeviceAddressInfo* pInfo);
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceToolPropertiesEXT(
VkPhysicalDevice physicalDevice,
uint32_t* pToolCount,
VkPhysicalDeviceToolProperties* pToolProperties);
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCooperativeMatrixPropertiesNV(
VkPhysicalDevice physicalDevice,
uint32_t* pPropertyCount,
VkCooperativeMatrixPropertiesNV* pProperties);
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
VkPhysicalDevice physicalDevice,
uint32_t* pCombinationCount,
VkFramebufferMixedSamplesCombinationNV* pCombinations);
-
-
-
-
#ifdef VK_USE_PLATFORM_WIN32_KHR
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfacePresentModes2EXT(
@@ -3612,30 +3400,23 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetDeviceGroupSurfacePresentModes2EXT(
const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
VkDeviceGroupPresentModeFlagsKHR* pModes);
#endif /* VK_USE_PLATFORM_WIN32_KHR */
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateHeadlessSurfaceEXT(
VkInstance instance,
const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkSurfaceKHR* pSurface);
-
static VKAPI_ATTR void VKAPI_CALL CmdSetLineStippleEXT(
VkCommandBuffer commandBuffer,
uint32_t lineStippleFactor,
uint16_t lineStipplePattern);
-
-
static VKAPI_ATTR void VKAPI_CALL ResetQueryPoolEXT(
VkDevice device,
VkQueryPool queryPool,
uint32_t firstQuery,
uint32_t queryCount);
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetCullModeEXT(
VkCommandBuffer commandBuffer,
VkCullModeFlags cullMode);
@@ -3695,7 +3476,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetStencilOpEXT(
VkStencilOp depthFailOp,
VkCompareOp compareOp);
-
static VKAPI_ATTR VkResult VKAPI_CALL CopyMemoryToImageEXT(
VkDevice device,
const VkCopyMemoryToImageInfo* pCopyMemoryToImageInfo);
@@ -3719,16 +3499,10 @@ static VKAPI_ATTR void VKAPI_CALL GetImageSubresourceLayout2EXT(
const VkImageSubresource2* pSubresource,
VkSubresourceLayout2* pLayout);
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL ReleaseSwapchainImagesEXT(
VkDevice device,
const VkReleaseSwapchainImagesInfoKHR* pReleaseInfo);
-
-
static VKAPI_ATTR void VKAPI_CALL GetGeneratedCommandsMemoryRequirementsNV(
VkDevice device,
const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,
@@ -3760,16 +3534,10 @@ static VKAPI_ATTR void VKAPI_CALL DestroyIndirectCommandsLayoutNV(
VkIndirectCommandsLayoutNV indirectCommandsLayout,
const VkAllocationCallbacks* pAllocator);
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetDepthBias2EXT(
VkCommandBuffer commandBuffer,
const VkDepthBiasInfoEXT* pDepthBiasInfo);
-
-
static VKAPI_ATTR VkResult VKAPI_CALL AcquireDrmDisplayEXT(
VkPhysicalDevice physicalDevice,
int32_t drmFd,
@@ -3781,11 +3549,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetDrmDisplayEXT(
uint32_t connectorId,
VkDisplayKHR* display);
-
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreatePrivateDataSlotEXT(
VkDevice device,
const VkPrivateDataSlotCreateInfo* pCreateInfo,
@@ -3810,10 +3573,6 @@ static VKAPI_ATTR void VKAPI_CALL GetPrivateDataEXT(
uint64_t objectHandle,
VkPrivateDataSlot privateDataSlot,
uint64_t* pData);
-
-
-
-
#ifdef VK_ENABLE_BETA_EXTENSIONS
static VKAPI_ATTR VkResult VKAPI_CALL CreateCudaModuleNV(
@@ -3848,8 +3607,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdCudaLaunchKernelNV(
VkCommandBuffer commandBuffer,
const VkCudaLaunchInfoNV* pLaunchInfo);
#endif /* VK_ENABLE_BETA_EXTENSIONS */
-
-
static VKAPI_ATTR void VKAPI_CALL CmdDispatchTileQCOM(
VkCommandBuffer commandBuffer,
const VkDispatchTileInfoQCOM* pDispatchTileInfo);
@@ -3861,16 +3618,12 @@ static VKAPI_ATTR void VKAPI_CALL CmdBeginPerTileExecutionQCOM(
static VKAPI_ATTR void VKAPI_CALL CmdEndPerTileExecutionQCOM(
VkCommandBuffer commandBuffer,
const VkPerTileEndInfoQCOM* pPerTileEndInfo);
-
-
#ifdef VK_USE_PLATFORM_METAL_EXT
static VKAPI_ATTR void VKAPI_CALL ExportMetalObjectsEXT(
VkDevice device,
VkExportMetalObjectsInfoEXT* pMetalObjectsInfo);
#endif /* VK_USE_PLATFORM_METAL_EXT */
-
-
static VKAPI_ATTR void VKAPI_CALL GetDescriptorSetLayoutSizeEXT(
VkDevice device,
VkDescriptorSetLayout layout,
@@ -3933,30 +3686,15 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetAccelerationStructureOpaqueCaptureDescr
const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo,
void* pData);
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetFragmentShadingRateEnumNV(
VkCommandBuffer commandBuffer,
VkFragmentShadingRateNV shadingRate,
const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
-
-
-
-
-
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetDeviceFaultInfoEXT(
VkDevice device,
VkDeviceFaultCountsEXT* pFaultCounts,
VkDeviceFaultInfoEXT* pFaultInfo);
-
-
-
#ifdef VK_USE_PLATFORM_WIN32_KHR
static VKAPI_ATTR VkResult VKAPI_CALL AcquireWinrtDisplayNV(
@@ -3970,7 +3708,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetWinrtDisplayNV(
#endif /* VK_USE_PLATFORM_WIN32_KHR */
#ifdef VK_USE_PLATFORM_DIRECTFB_EXT
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateDirectFBSurfaceEXT(
VkInstance instance,
const VkDirectFBSurfaceCreateInfoEXT* pCreateInfo,
@@ -3982,21 +3719,12 @@ static VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceDirectFBPresentationSuppo
uint32_t queueFamilyIndex,
IDirectFB* dfb);
#endif /* VK_USE_PLATFORM_DIRECTFB_EXT */
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetVertexInputEXT(
VkCommandBuffer commandBuffer,
uint32_t vertexBindingDescriptionCount,
const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions,
uint32_t vertexAttributeDescriptionCount,
const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
-
-
-
-
-
-
#ifdef VK_USE_PLATFORM_FUCHSIA
static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryZirconHandleFUCHSIA(
@@ -4009,9 +3737,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryZirconHandlePropertiesFUCHSIA(
VkExternalMemoryHandleTypeFlagBits handleType,
zx_handle_t zirconHandle,
VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties);
-#endif /* VK_USE_PLATFORM_FUCHSIA */
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
static VKAPI_ATTR VkResult VKAPI_CALL ImportSemaphoreZirconHandleFUCHSIA(
VkDevice device,
@@ -4021,9 +3746,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetSemaphoreZirconHandleFUCHSIA(
VkDevice device,
const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
zx_handle_t* pZirconHandle);
-#endif /* VK_USE_PLATFORM_FUCHSIA */
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
static VKAPI_ATTR VkResult VKAPI_CALL CreateBufferCollectionFUCHSIA(
VkDevice device,
@@ -4051,8 +3773,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetBufferCollectionPropertiesFUCHSIA(
VkBufferCollectionFUCHSIA collection,
VkBufferCollectionPropertiesFUCHSIA* pProperties);
#endif /* VK_USE_PLATFORM_FUCHSIA */
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(
VkDevice device,
VkRenderPass renderpass,
@@ -4061,27 +3781,21 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetDeviceSubpassShadingMaxWorkgroupSizeHUA
static VKAPI_ATTR void VKAPI_CALL CmdSubpassShadingHUAWEI(
VkCommandBuffer commandBuffer);
-
static VKAPI_ATTR void VKAPI_CALL CmdBindInvocationMaskHUAWEI(
VkCommandBuffer commandBuffer,
VkImageView imageView,
VkImageLayout imageLayout);
-
static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryRemoteAddressNV(
VkDevice device,
const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo,
VkRemoteAddressNV* pAddress);
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPipelinePropertiesEXT(
VkDevice device,
const VkPipelineInfoEXT* pPipelineInfo,
VkBaseOutStructure* pPipelineProperties);
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetPatchControlPointsEXT(
VkCommandBuffer commandBuffer,
uint32_t patchControlPoints);
@@ -4101,7 +3815,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetLogicOpEXT(
static VKAPI_ATTR void VKAPI_CALL CmdSetPrimitiveRestartEnableEXT(
VkCommandBuffer commandBuffer,
VkBool32 primitiveRestartEnable);
-
#ifdef VK_USE_PLATFORM_SCREEN_QNX
static VKAPI_ATTR VkResult VKAPI_CALL CreateScreenSurfaceQNX(
@@ -4115,18 +3828,11 @@ static VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceScreenPresentationSupport
uint32_t queueFamilyIndex,
struct _screen_window* window);
#endif /* VK_USE_PLATFORM_SCREEN_QNX */
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetColorWriteEnableEXT(
VkCommandBuffer commandBuffer,
uint32_t attachmentCount,
const VkBool32* pColorWriteEnables);
-
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdDrawMultiEXT(
VkCommandBuffer commandBuffer,
uint32_t drawCount,
@@ -4144,9 +3850,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDrawMultiIndexedEXT(
uint32_t stride,
const int32_t* pVertexOffset);
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateMicromapEXT(
VkDevice device,
const VkMicromapCreateInfoEXT* pCreateInfo,
@@ -4224,11 +3927,6 @@ static VKAPI_ATTR void VKAPI_CALL GetMicromapBuildSizesEXT(
const VkMicromapBuildInfoEXT* pBuildInfo,
VkMicromapBuildSizesInfoEXT* pSizeInfo);
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-#endif /* VK_ENABLE_BETA_EXTENSIONS */
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdDrawClusterHUAWEI(
VkCommandBuffer commandBuffer,
uint32_t groupCountX,
@@ -4240,17 +3938,11 @@ static VKAPI_ATTR void VKAPI_CALL CmdDrawClusterIndirectHUAWEI(
VkBuffer buffer,
VkDeviceSize offset);
-
-
static VKAPI_ATTR void VKAPI_CALL SetDeviceMemoryPriorityEXT(
VkDevice device,
VkDeviceMemory memory,
float priority);
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL GetDescriptorSetLayoutHostMappingInfoVALVE(
VkDevice device,
const VkDescriptorSetBindingReferenceVALVE* pBindingReference,
@@ -4261,11 +3953,6 @@ static VKAPI_ATTR void VKAPI_CALL GetDescriptorSetHostMappingVALVE(
VkDescriptorSet descriptorSet,
void** ppData);
-
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdCopyMemoryIndirectNV(
VkCommandBuffer commandBuffer,
VkDeviceAddress copyBufferAddress,
@@ -4281,7 +3968,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdCopyMemoryToImageIndirectNV(
VkImageLayout dstImageLayout,
const VkImageSubresourceLayers* pImageSubresources);
-
static VKAPI_ATTR void VKAPI_CALL CmdDecompressMemoryNV(
VkCommandBuffer commandBuffer,
uint32_t decompressRegionCount,
@@ -4293,7 +3979,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDecompressMemoryIndirectCountNV(
VkDeviceAddress indirectCommandsCountAddress,
uint32_t stride);
-
static VKAPI_ATTR void VKAPI_CALL GetPipelineIndirectMemoryRequirementsNV(
VkDevice device,
const VkComputePipelineCreateInfo* pCreateInfo,
@@ -4308,14 +3993,6 @@ static VKAPI_ATTR VkDeviceAddress VKAPI_CALL GetPipelineIndirectDeviceAddressNV(
VkDevice device,
const VkPipelineIndirectDeviceAddressInfoNV* pInfo);
-
-
-
-
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetDepthClampEnableEXT(
VkCommandBuffer commandBuffer,
VkBool32 depthClampEnable);
@@ -4452,9 +4129,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetCoverageReductionModeNV(
VkCommandBuffer commandBuffer,
VkCoverageReductionModeNV coverageReductionMode);
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateTensorARM(
VkDevice device,
const VkTensorCreateInfoARM* pCreateInfo,
@@ -4511,7 +4185,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetTensorViewOpaqueCaptureDescriptorDataAR
const VkTensorViewCaptureDescriptorDataInfoARM* pInfo,
void* pData);
-
static VKAPI_ATTR void VKAPI_CALL GetShaderModuleIdentifierEXT(
VkDevice device,
VkShaderModule shaderModule,
@@ -4522,8 +4195,6 @@ static VKAPI_ATTR void VKAPI_CALL GetShaderModuleCreateInfoIdentifierEXT(
const VkShaderModuleCreateInfo* pCreateInfo,
VkShaderModuleIdentifierEXT* pIdentifier);
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceOpticalFlowImageFormatsNV(
VkPhysicalDevice physicalDevice,
const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo,
@@ -4553,20 +4224,10 @@ static VKAPI_ATTR void VKAPI_CALL CmdOpticalFlowExecuteNV(
VkOpticalFlowSessionNV session,
const VkOpticalFlowExecuteInfoNV* pExecuteInfo);
-
-
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-#endif /* VK_USE_PLATFORM_ANDROID_KHR */
-
-
static VKAPI_ATTR void VKAPI_CALL AntiLagUpdateAMD(
VkDevice device,
const VkAntiLagDataAMD* pData);
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-#endif /* VK_ENABLE_BETA_EXTENSIONS */
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateShadersEXT(
VkDevice device,
uint32_t createInfoCount,
@@ -4596,7 +4257,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetDepthClampRangeEXT(
VkDepthClampModeEXT depthClampMode,
const VkDepthClampRangeEXT* pDepthClampRange);
-
static VKAPI_ATTR VkResult VKAPI_CALL GetFramebufferTilePropertiesQCOM(
VkDevice device,
VkFramebuffer framebuffer,
@@ -4608,10 +4268,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetDynamicRenderingTilePropertiesQCOM(
const VkRenderingInfo* pRenderingInfo,
VkTilePropertiesQCOM* pProperties);
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCooperativeVectorPropertiesNV(
VkPhysicalDevice physicalDevice,
uint32_t* pPropertyCount,
@@ -4626,14 +4282,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdConvertCooperativeVectorMatrixNV(
uint32_t infoCount,
const VkConvertCooperativeVectorMatrixInfoNV* pInfos);
-
-
-
-
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL SetLatencySleepModeNV(
VkDevice device,
VkSwapchainKHR swapchain,
@@ -4658,7 +4306,6 @@ static VKAPI_ATTR void VKAPI_CALL QueueNotifyOutOfBandNV(
VkQueue queue,
const VkOutOfBandQueueTypeInfoNV* pQueueTypeInfo);
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateDataGraphPipelinesARM(
VkDevice device,
VkDeferredOperationKHR deferredOperation,
@@ -4723,17 +4370,9 @@ static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceQueueFamilyDataGraphProcessin
const VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM* pQueueFamilyDataGraphProcessingEngineInfo,
VkQueueFamilyDataGraphProcessingEnginePropertiesARM* pQueueFamilyDataGraphProcessingEngineProperties);
-
-
-
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetAttachmentFeedbackLoopEnableEXT(
VkCommandBuffer commandBuffer,
VkImageAspectFlags aspectMask);
-
#ifdef VK_USE_PLATFORM_SCREEN_QNX
static VKAPI_ATTR VkResult VKAPI_CALL GetScreenBufferPropertiesQNX(
@@ -4741,17 +4380,10 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetScreenBufferPropertiesQNX(
const struct _screen_buffer* buffer,
VkScreenBufferPropertiesQNX* pProperties);
#endif /* VK_USE_PLATFORM_SCREEN_QNX */
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdBindTileMemoryQCOM(
VkCommandBuffer commandBuffer,
const VkTileMemoryBindInfoQCOM* pTileMemoryBindInfo);
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateExternalComputeQueueNV(
VkDevice device,
const VkExternalComputeQueueCreateInfoNV* pCreateInfo,
@@ -4768,12 +4400,6 @@ static VKAPI_ATTR void VKAPI_CALL GetExternalComputeQueueDataNV(
VkExternalComputeQueueDataParamsNV* params,
void* pData);
-
-
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL GetClusterAccelerationStructureBuildSizesNV(
VkDevice device,
const VkClusterAccelerationStructureInputInfoNV* pInfo,
@@ -4783,7 +4409,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdBuildClusterAccelerationStructureIndirectNV
VkCommandBuffer commandBuffer,
const VkClusterAccelerationStructureCommandsInfoNV* pCommandInfos);
-
static VKAPI_ATTR void VKAPI_CALL GetPartitionedAccelerationStructuresBuildSizesNV(
VkDevice device,
const VkPartitionedAccelerationStructureInstancesInputNV* pInfo,
@@ -4793,7 +4418,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdBuildPartitionedAccelerationStructuresNV(
VkCommandBuffer commandBuffer,
const VkBuildPartitionedAccelerationStructureInfoNV* pBuildInfo);
-
static VKAPI_ATTR void VKAPI_CALL GetGeneratedCommandsMemoryRequirementsEXT(
VkDevice device,
const VkGeneratedCommandsMemoryRequirementsInfoEXT* pInfo,
@@ -4842,9 +4466,6 @@ static VKAPI_ATTR void VKAPI_CALL UpdateIndirectExecutionSetShaderEXT(
VkIndirectExecutionSetEXT indirectExecutionSet,
uint32_t executionSetWriteCount,
const VkWriteIndirectExecutionSetShaderEXT* pExecutionSetWrites);
-
-
-
#ifdef VK_USE_PLATFORM_OHOS
static VKAPI_ATTR VkResult VKAPI_CALL CreateSurfaceOHOS(
@@ -4853,15 +4474,10 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateSurfaceOHOS(
const VkAllocationCallbacks* pAllocator,
VkSurfaceKHR* pSurface);
#endif /* VK_USE_PLATFORM_OHOS */
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV(
VkPhysicalDevice physicalDevice,
uint32_t* pPropertyCount,
VkCooperativeMatrixFlexibleDimensionsPropertiesNV* pProperties);
-
-
#ifdef VK_USE_PLATFORM_METAL_EXT
static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryMetalHandleEXT(
@@ -4875,21 +4491,10 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryMetalHandlePropertiesEXT(
const void* pHandle,
VkMemoryMetalHandlePropertiesEXT* pMemoryMetalHandleProperties);
#endif /* VK_USE_PLATFORM_METAL_EXT */
-
-
-
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-#endif /* VK_ENABLE_BETA_EXTENSIONS */
-
-
static VKAPI_ATTR void VKAPI_CALL CmdEndRendering2EXT(
VkCommandBuffer commandBuffer,
const VkRenderingEndInfoEXT* pRenderingEndInfo);
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateAccelerationStructureKHR(
VkDevice device,
const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
@@ -4982,7 +4587,6 @@ static VKAPI_ATTR void VKAPI_CALL GetAccelerationStructureBuildSizesKHR(
const uint32_t* pMaxPrimitiveCounts,
VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
-
static VKAPI_ATTR void VKAPI_CALL CmdTraceRaysKHR(
VkCommandBuffer commandBuffer,
const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
@@ -5028,8 +4632,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetRayTracingPipelineStackSizeKHR(
VkCommandBuffer commandBuffer,
uint32_t pipelineStackSize);
-
-
static VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksEXT(
VkCommandBuffer commandBuffer,
uint32_t groupCountX,
@@ -5051,7 +4653,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksIndirectCountEXT(
VkDeviceSize countBufferOffset,
uint32_t maxDrawCount,
uint32_t stride);
-
// Map of all APIs to be intercepted by this layer
static const std::unordered_map<std::string, void*> name_to_funcptr_map = {
{"vkCreateInstance", (void*)CreateInstance},
@@ -5945,3 +5546,4 @@ static const std::unordered_map<std::string, void*> name_to_funcptr_map = {
} // namespace vkmock
+
diff --git a/icd/generated/function_definitions.h b/icd/generated/function_definitions.h
index ff50c81d..6f3a76e6 100644
--- a/icd/generated/function_definitions.h
+++ b/icd/generated/function_definitions.h
@@ -20,19 +20,14 @@
*/
#pragma once
-
#include "mock_icd.h"
#include "function_declarations.h"
-
namespace vkmock {
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateInstance(
const VkInstanceCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkInstance* pInstance)
{
-
// TODO: If loader ver <=4 ICD must fail with VK_ERROR_INCOMPATIBLE_DRIVER for all vkCreateInstance calls with
// apiVersion set to > Vulkan 1.0 because the loader is still at interface version <= 4. Otherwise, the
// ICD should behave as normal.
@@ -45,12 +40,10 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateInstance(
// TODO: If emulating specific device caps, will need to add intelligence here
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyInstance(
VkInstance instance,
const VkAllocationCallbacks* pAllocator)
{
-
if (instance) {
for (const auto physical_device : physical_device_map.at(instance)) {
display_map.erase(physical_device);
@@ -60,7 +53,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyInstance(
DestroyDispObjHandle((void*)instance);
}
}
-
static VKAPI_ATTR VkResult VKAPI_CALL EnumeratePhysicalDevices(
VkInstance instance,
uint32_t* pPhysicalDeviceCount,
@@ -77,7 +69,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL EnumeratePhysicalDevices(
}
return result_code;
}
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFeatures(
VkPhysicalDevice physicalDevice,
VkPhysicalDeviceFeatures* pFeatures)
@@ -86,7 +77,6 @@ static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFeatures(
VkBool32 *bool_array = &pFeatures->robustBufferAccess;
SetBoolArrayTrue(bool_array, num_bools);
}
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFormatProperties(
VkPhysicalDevice physicalDevice,
VkFormat format,
@@ -121,7 +111,6 @@ static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFormatProperties(
}
}
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceImageFormatProperties(
VkPhysicalDevice physicalDevice,
VkFormat format,
@@ -146,7 +135,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceImageFormatProperties(
}
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceProperties(
VkPhysicalDevice physicalDevice,
VkPhysicalDeviceProperties* pProperties)
@@ -162,7 +150,6 @@ static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceProperties(
pProperties->limits = SetLimits(&pProperties->limits);
pProperties->sparseProperties = { VK_TRUE, VK_TRUE, VK_TRUE, VK_TRUE, VK_TRUE };
}
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceQueueFamilyProperties(
VkPhysicalDevice physicalDevice,
uint32_t* pQueueFamilyPropertyCount,
@@ -179,7 +166,6 @@ static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceQueueFamilyProperties(
GetPhysicalDeviceQueueFamilyProperties2KHR(physicalDevice, pQueueFamilyPropertyCount, nullptr);
}
}
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceMemoryProperties(
VkPhysicalDevice physicalDevice,
VkPhysicalDeviceMemoryProperties* pMemoryProperties)
@@ -209,12 +195,10 @@ static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceMemoryProperties(
pMemoryProperties->memoryHeaps[1].flags = VK_MEMORY_HEAP_DEVICE_LOCAL_BIT;
pMemoryProperties->memoryHeaps[1].size = 8000000000;
}
-
static VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL GetInstanceProcAddr(
VkInstance instance,
const char* pName)
{
-
if (!negotiate_loader_icd_interface_called) {
loader_interface_version = 0;
}
@@ -225,32 +209,26 @@ static VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL GetInstanceProcAddr(
// Mock should intercept all functions so if we get here just return null
return nullptr;
}
-
static VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL GetDeviceProcAddr(
VkDevice device,
const char* pName)
{
-
return GetInstanceProcAddr(nullptr, pName);
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateDevice(
VkPhysicalDevice physicalDevice,
const VkDeviceCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkDevice* pDevice)
{
-
*pDevice = (VkDevice)CreateDispObjHandle();
// TODO: If emulating specific device caps, will need to add intelligence here
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyDevice(
VkDevice device,
const VkAllocationCallbacks* pAllocator)
{
-
unique_lock_t lock(global_lock);
// First destroy sub-device objects
// Destroy Queues
@@ -275,13 +253,11 @@ static VKAPI_ATTR void VKAPI_CALL DestroyDevice(
DestroyDispObjHandle((void*)device);
// TODO: If emulating specific device caps, will need to add intelligence here
}
-
static VKAPI_ATTR VkResult VKAPI_CALL EnumerateInstanceExtensionProperties(
const char* pLayerName,
uint32_t* pPropertyCount,
VkExtensionProperties* pProperties)
{
-
// If requesting number of extensions, return that
if (!pLayerName) {
if (!pProperties) {
@@ -305,14 +281,12 @@ static VKAPI_ATTR VkResult VKAPI_CALL EnumerateInstanceExtensionProperties(
// If requesting extension properties, fill in data struct for number of extensions
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL EnumerateDeviceExtensionProperties(
VkPhysicalDevice physicalDevice,
const char* pLayerName,
uint32_t* pPropertyCount,
VkExtensionProperties* pProperties)
{
-
// If requesting number of extensions, return that
if (!pLayerName) {
if (!pProperties) {
@@ -337,24 +311,19 @@ static VKAPI_ATTR VkResult VKAPI_CALL EnumerateDeviceExtensionProperties(
// If requesting extension properties, fill in data struct for number of extensions
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL EnumerateInstanceLayerProperties(
uint32_t* pPropertyCount,
VkLayerProperties* pProperties)
{
-
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL EnumerateDeviceLayerProperties(
VkPhysicalDevice physicalDevice,
uint32_t* pPropertyCount,
VkLayerProperties* pProperties)
{
-
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL GetDeviceQueue(
VkDevice device,
uint32_t queueFamilyIndex,
@@ -371,7 +340,6 @@ static VKAPI_ATTR void VKAPI_CALL GetDeviceQueue(
// TODO: If emulating specific device caps, will need to add intelligence here
return;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL QueueSubmit(
VkQueue queue,
uint32_t submitCount,
@@ -390,21 +358,18 @@ static VKAPI_ATTR VkResult VKAPI_CALL QueueSubmit(
}
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL QueueWaitIdle(
VkQueue queue)
{
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL DeviceWaitIdle(
VkDevice device)
{
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL AllocateMemory(
VkDevice device,
const VkMemoryAllocateInfo* pAllocateInfo,
@@ -416,7 +381,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL AllocateMemory(
*pMemory = (VkDeviceMemory)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL FreeMemory(
VkDevice device,
VkDeviceMemory memory,
@@ -427,7 +391,6 @@ static VKAPI_ATTR void VKAPI_CALL FreeMemory(
unique_lock_t lock(global_lock);
allocated_memory_size_map.erase(memory);
}
-
static VKAPI_ATTR VkResult VKAPI_CALL MapMemory(
VkDevice device,
VkDeviceMemory memory,
@@ -448,7 +411,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL MapMemory(
*ppData = map_addr;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL UnmapMemory(
VkDevice device,
VkDeviceMemory memory)
@@ -459,7 +421,6 @@ static VKAPI_ATTR void VKAPI_CALL UnmapMemory(
}
mapped_memory_map.erase(memory);
}
-
static VKAPI_ATTR VkResult VKAPI_CALL FlushMappedMemoryRanges(
VkDevice device,
uint32_t memoryRangeCount,
@@ -468,7 +429,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL FlushMappedMemoryRanges(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL InvalidateMappedMemoryRanges(
VkDevice device,
uint32_t memoryRangeCount,
@@ -477,7 +437,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL InvalidateMappedMemoryRanges(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL GetDeviceMemoryCommitment(
VkDevice device,
VkDeviceMemory memory,
@@ -485,7 +444,6 @@ static VKAPI_ATTR void VKAPI_CALL GetDeviceMemoryCommitment(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR VkResult VKAPI_CALL BindBufferMemory(
VkDevice device,
VkBuffer buffer,
@@ -495,7 +453,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL BindBufferMemory(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL BindImageMemory(
VkDevice device,
VkImage image,
@@ -505,7 +462,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL BindImageMemory(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL GetBufferMemoryRequirements(
VkDevice device,
VkBuffer buffer,
@@ -525,7 +481,6 @@ static VKAPI_ATTR void VKAPI_CALL GetBufferMemoryRequirements(
}
}
}
-
static VKAPI_ATTR void VKAPI_CALL GetImageMemoryRequirements(
VkDevice device,
VkImage image,
@@ -545,7 +500,6 @@ static VKAPI_ATTR void VKAPI_CALL GetImageMemoryRequirements(
// Here we hard-code that the memory type at index 3 doesn't support this image.
pMemoryRequirements->memoryTypeBits = 0xFFFF & ~(0x1 << 3);
}
-
static VKAPI_ATTR void VKAPI_CALL GetImageSparseMemoryRequirements(
VkDevice device,
VkImage image,
@@ -567,7 +521,6 @@ static VKAPI_ATTR void VKAPI_CALL GetImageSparseMemoryRequirements(
}
}
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceSparseImageFormatProperties(
VkPhysicalDevice physicalDevice,
VkFormat format,
@@ -604,7 +557,6 @@ static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceSparseImageFormatProperties(
}
}
}
-
static VKAPI_ATTR VkResult VKAPI_CALL QueueBindSparse(
VkQueue queue,
uint32_t bindInfoCount,
@@ -614,7 +566,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL QueueBindSparse(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateFence(
VkDevice device,
const VkFenceCreateInfo* pCreateInfo,
@@ -625,7 +576,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateFence(
*pFence = (VkFence)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyFence(
VkDevice device,
VkFence fence,
@@ -633,7 +583,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyFence(
{
//Destroy object
}
-
static VKAPI_ATTR VkResult VKAPI_CALL ResetFences(
VkDevice device,
uint32_t fenceCount,
@@ -642,7 +591,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL ResetFences(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetFenceStatus(
VkDevice device,
VkFence fence)
@@ -650,7 +598,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetFenceStatus(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL WaitForFences(
VkDevice device,
uint32_t fenceCount,
@@ -661,7 +608,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL WaitForFences(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateSemaphore(
VkDevice device,
const VkSemaphoreCreateInfo* pCreateInfo,
@@ -672,7 +618,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateSemaphore(
*pSemaphore = (VkSemaphore)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroySemaphore(
VkDevice device,
VkSemaphore semaphore,
@@ -680,7 +625,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroySemaphore(
{
//Destroy object
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateEvent(
VkDevice device,
const VkEventCreateInfo* pCreateInfo,
@@ -691,7 +635,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateEvent(
*pEvent = (VkEvent)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyEvent(
VkDevice device,
VkEvent event,
@@ -699,7 +642,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyEvent(
{
//Destroy object
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetEventStatus(
VkDevice device,
VkEvent event)
@@ -707,7 +649,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetEventStatus(
//Not a CREATE or DESTROY function
return VK_EVENT_SET;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL SetEvent(
VkDevice device,
VkEvent event)
@@ -715,7 +656,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL SetEvent(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL ResetEvent(
VkDevice device,
VkEvent event)
@@ -723,7 +663,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL ResetEvent(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateQueryPool(
VkDevice device,
const VkQueryPoolCreateInfo* pCreateInfo,
@@ -734,7 +673,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateQueryPool(
*pQueryPool = (VkQueryPool)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyQueryPool(
VkDevice device,
VkQueryPool queryPool,
@@ -742,7 +680,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyQueryPool(
{
//Destroy object
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetQueryPoolResults(
VkDevice device,
VkQueryPool queryPool,
@@ -756,7 +693,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetQueryPoolResults(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateBuffer(
VkDevice device,
const VkBufferCreateInfo* pCreateInfo,
@@ -777,7 +713,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateBuffer(
}
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyBuffer(
VkDevice device,
VkBuffer buffer,
@@ -786,7 +721,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyBuffer(
unique_lock_t lock(global_lock);
buffer_map[device].erase(buffer);
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateBufferView(
VkDevice device,
const VkBufferViewCreateInfo* pCreateInfo,
@@ -797,7 +731,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateBufferView(
*pView = (VkBufferView)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyBufferView(
VkDevice device,
VkBufferView bufferView,
@@ -805,7 +738,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyBufferView(
{
//Destroy object
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateImage(
VkDevice device,
const VkImageCreateInfo* pCreateInfo,
@@ -817,7 +749,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateImage(
image_memory_size_map[device][*pImage] = GetImageSizeFromCreateInfo(pCreateInfo);
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyImage(
VkDevice device,
VkImage image,
@@ -826,7 +757,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyImage(
unique_lock_t lock(global_lock);
image_memory_size_map[device].erase(image);
}
-
static VKAPI_ATTR void VKAPI_CALL GetImageSubresourceLayout(
VkDevice device,
VkImage image,
@@ -836,7 +766,6 @@ static VKAPI_ATTR void VKAPI_CALL GetImageSubresourceLayout(
// Need safe values. Callers are computing memory offsets from pLayout, with no return code to flag failure.
*pLayout = VkSubresourceLayout(); // Default constructor zero values.
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateImageView(
VkDevice device,
const VkImageViewCreateInfo* pCreateInfo,
@@ -847,7 +776,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateImageView(
*pView = (VkImageView)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyImageView(
VkDevice device,
VkImageView imageView,
@@ -855,7 +783,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyImageView(
{
//Destroy object
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateShaderModule(
VkDevice device,
const VkShaderModuleCreateInfo* pCreateInfo,
@@ -866,7 +793,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateShaderModule(
*pShaderModule = (VkShaderModule)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyShaderModule(
VkDevice device,
VkShaderModule shaderModule,
@@ -874,7 +800,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyShaderModule(
{
//Destroy object
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreatePipelineCache(
VkDevice device,
const VkPipelineCacheCreateInfo* pCreateInfo,
@@ -885,7 +810,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreatePipelineCache(
*pPipelineCache = (VkPipelineCache)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyPipelineCache(
VkDevice device,
VkPipelineCache pipelineCache,
@@ -893,7 +817,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyPipelineCache(
{
//Destroy object
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPipelineCacheData(
VkDevice device,
VkPipelineCache pipelineCache,
@@ -903,7 +826,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPipelineCacheData(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL MergePipelineCaches(
VkDevice device,
VkPipelineCache dstCache,
@@ -913,7 +835,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL MergePipelineCaches(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateGraphicsPipelines(
VkDevice device,
VkPipelineCache pipelineCache,
@@ -928,7 +849,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateGraphicsPipelines(
}
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateComputePipelines(
VkDevice device,
VkPipelineCache pipelineCache,
@@ -943,7 +863,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateComputePipelines(
}
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyPipeline(
VkDevice device,
VkPipeline pipeline,
@@ -951,7 +870,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyPipeline(
{
//Destroy object
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreatePipelineLayout(
VkDevice device,
const VkPipelineLayoutCreateInfo* pCreateInfo,
@@ -962,7 +880,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreatePipelineLayout(
*pPipelineLayout = (VkPipelineLayout)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyPipelineLayout(
VkDevice device,
VkPipelineLayout pipelineLayout,
@@ -970,7 +887,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyPipelineLayout(
{
//Destroy object
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateSampler(
VkDevice device,
const VkSamplerCreateInfo* pCreateInfo,
@@ -981,7 +897,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateSampler(
*pSampler = (VkSampler)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroySampler(
VkDevice device,
VkSampler sampler,
@@ -989,7 +904,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroySampler(
{
//Destroy object
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateDescriptorSetLayout(
VkDevice device,
const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
@@ -1000,7 +914,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateDescriptorSetLayout(
*pSetLayout = (VkDescriptorSetLayout)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyDescriptorSetLayout(
VkDevice device,
VkDescriptorSetLayout descriptorSetLayout,
@@ -1008,7 +921,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyDescriptorSetLayout(
{
//Destroy object
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateDescriptorPool(
VkDevice device,
const VkDescriptorPoolCreateInfo* pCreateInfo,
@@ -1019,7 +931,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateDescriptorPool(
*pDescriptorPool = (VkDescriptorPool)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyDescriptorPool(
VkDevice device,
VkDescriptorPool descriptorPool,
@@ -1027,7 +938,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyDescriptorPool(
{
//Destroy object
}
-
static VKAPI_ATTR VkResult VKAPI_CALL ResetDescriptorPool(
VkDevice device,
VkDescriptorPool descriptorPool,
@@ -1036,7 +946,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL ResetDescriptorPool(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL AllocateDescriptorSets(
VkDevice device,
const VkDescriptorSetAllocateInfo* pAllocateInfo,
@@ -1048,7 +957,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL AllocateDescriptorSets(
}
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL FreeDescriptorSets(
VkDevice device,
VkDescriptorPool descriptorPool,
@@ -1058,7 +966,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL FreeDescriptorSets(
//Destroy object
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL UpdateDescriptorSets(
VkDevice device,
uint32_t descriptorWriteCount,
@@ -1068,7 +975,6 @@ static VKAPI_ATTR void VKAPI_CALL UpdateDescriptorSets(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateFramebuffer(
VkDevice device,
const VkFramebufferCreateInfo* pCreateInfo,
@@ -1079,7 +985,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateFramebuffer(
*pFramebuffer = (VkFramebuffer)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyFramebuffer(
VkDevice device,
VkFramebuffer framebuffer,
@@ -1087,7 +992,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyFramebuffer(
{
//Destroy object
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateRenderPass(
VkDevice device,
const VkRenderPassCreateInfo* pCreateInfo,
@@ -1098,7 +1002,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateRenderPass(
*pRenderPass = (VkRenderPass)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyRenderPass(
VkDevice device,
VkRenderPass renderPass,
@@ -1106,7 +1009,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyRenderPass(
{
//Destroy object
}
-
static VKAPI_ATTR void VKAPI_CALL GetRenderAreaGranularity(
VkDevice device,
VkRenderPass renderPass,
@@ -1115,7 +1017,6 @@ static VKAPI_ATTR void VKAPI_CALL GetRenderAreaGranularity(
pGranularity->width = 1;
pGranularity->height = 1;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateCommandPool(
VkDevice device,
const VkCommandPoolCreateInfo* pCreateInfo,
@@ -1127,13 +1028,11 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateCommandPool(
command_pool_map[device].insert(*pCommandPool);
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyCommandPool(
VkDevice device,
VkCommandPool commandPool,
const VkAllocationCallbacks* pAllocator)
{
-
// destroy command buffers for this pool
unique_lock_t lock(global_lock);
auto it = command_pool_buffer_map.find(commandPool);
@@ -1145,7 +1044,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyCommandPool(
}
command_pool_map[device].erase(commandPool);
}
-
static VKAPI_ATTR VkResult VKAPI_CALL ResetCommandPool(
VkDevice device,
VkCommandPool commandPool,
@@ -1154,13 +1052,11 @@ static VKAPI_ATTR VkResult VKAPI_CALL ResetCommandPool(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL AllocateCommandBuffers(
VkDevice device,
const VkCommandBufferAllocateInfo* pAllocateInfo,
VkCommandBuffer* pCommandBuffers)
{
-
unique_lock_t lock(global_lock);
for (uint32_t i = 0; i < pAllocateInfo->commandBufferCount; ++i) {
pCommandBuffers[i] = (VkCommandBuffer)CreateDispObjHandle();
@@ -1168,14 +1064,12 @@ static VKAPI_ATTR VkResult VKAPI_CALL AllocateCommandBuffers(
}
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL FreeCommandBuffers(
VkDevice device,
VkCommandPool commandPool,
uint32_t commandBufferCount,
const VkCommandBuffer* pCommandBuffers)
{
-
unique_lock_t lock(global_lock);
for (auto i = 0u; i < commandBufferCount; ++i) {
if (!pCommandBuffers[i]) {
@@ -1193,7 +1087,6 @@ static VKAPI_ATTR void VKAPI_CALL FreeCommandBuffers(
DestroyDispObjHandle((void*) pCommandBuffers[i]);
}
}
-
static VKAPI_ATTR VkResult VKAPI_CALL BeginCommandBuffer(
VkCommandBuffer commandBuffer,
const VkCommandBufferBeginInfo* pBeginInfo)
@@ -1201,14 +1094,12 @@ static VKAPI_ATTR VkResult VKAPI_CALL BeginCommandBuffer(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL EndCommandBuffer(
VkCommandBuffer commandBuffer)
{
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL ResetCommandBuffer(
VkCommandBuffer commandBuffer,
VkCommandBufferResetFlags flags)
@@ -1216,7 +1107,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL ResetCommandBuffer(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBindPipeline(
VkCommandBuffer commandBuffer,
VkPipelineBindPoint pipelineBindPoint,
@@ -1224,7 +1114,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdBindPipeline(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetViewport(
VkCommandBuffer commandBuffer,
uint32_t firstViewport,
@@ -1233,7 +1122,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetViewport(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetScissor(
VkCommandBuffer commandBuffer,
uint32_t firstScissor,
@@ -1242,14 +1130,12 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetScissor(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetLineWidth(
VkCommandBuffer commandBuffer,
float lineWidth)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetDepthBias(
VkCommandBuffer commandBuffer,
float depthBiasConstantFactor,
@@ -1258,14 +1144,12 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetDepthBias(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetBlendConstants(
VkCommandBuffer commandBuffer,
const float blendConstants[4])
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetDepthBounds(
VkCommandBuffer commandBuffer,
float minDepthBounds,
@@ -1273,7 +1157,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetDepthBounds(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetStencilCompareMask(
VkCommandBuffer commandBuffer,
VkStencilFaceFlags faceMask,
@@ -1281,7 +1164,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetStencilCompareMask(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetStencilWriteMask(
VkCommandBuffer commandBuffer,
VkStencilFaceFlags faceMask,
@@ -1289,7 +1171,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetStencilWriteMask(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetStencilReference(
VkCommandBuffer commandBuffer,
VkStencilFaceFlags faceMask,
@@ -1297,7 +1178,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetStencilReference(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBindDescriptorSets(
VkCommandBuffer commandBuffer,
VkPipelineBindPoint pipelineBindPoint,
@@ -1310,7 +1190,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdBindDescriptorSets(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBindIndexBuffer(
VkCommandBuffer commandBuffer,
VkBuffer buffer,
@@ -1319,7 +1198,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdBindIndexBuffer(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBindVertexBuffers(
VkCommandBuffer commandBuffer,
uint32_t firstBinding,
@@ -1329,7 +1207,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdBindVertexBuffers(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdDraw(
VkCommandBuffer commandBuffer,
uint32_t vertexCount,
@@ -1339,7 +1216,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDraw(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdDrawIndexed(
VkCommandBuffer commandBuffer,
uint32_t indexCount,
@@ -1350,7 +1226,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDrawIndexed(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdDrawIndirect(
VkCommandBuffer commandBuffer,
VkBuffer buffer,
@@ -1360,7 +1235,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDrawIndirect(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdDrawIndexedIndirect(
VkCommandBuffer commandBuffer,
VkBuffer buffer,
@@ -1370,7 +1244,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDrawIndexedIndirect(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdDispatch(
VkCommandBuffer commandBuffer,
uint32_t groupCountX,
@@ -1379,7 +1252,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDispatch(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdDispatchIndirect(
VkCommandBuffer commandBuffer,
VkBuffer buffer,
@@ -1387,7 +1259,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDispatchIndirect(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdCopyBuffer(
VkCommandBuffer commandBuffer,
VkBuffer srcBuffer,
@@ -1397,7 +1268,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdCopyBuffer(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdCopyImage(
VkCommandBuffer commandBuffer,
VkImage srcImage,
@@ -1409,7 +1279,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdCopyImage(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBlitImage(
VkCommandBuffer commandBuffer,
VkImage srcImage,
@@ -1422,7 +1291,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdBlitImage(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdCopyBufferToImage(
VkCommandBuffer commandBuffer,
VkBuffer srcBuffer,
@@ -1433,7 +1301,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdCopyBufferToImage(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdCopyImageToBuffer(
VkCommandBuffer commandBuffer,
VkImage srcImage,
@@ -1444,7 +1311,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdCopyImageToBuffer(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdUpdateBuffer(
VkCommandBuffer commandBuffer,
VkBuffer dstBuffer,
@@ -1454,7 +1320,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdUpdateBuffer(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdFillBuffer(
VkCommandBuffer commandBuffer,
VkBuffer dstBuffer,
@@ -1464,7 +1329,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdFillBuffer(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdClearColorImage(
VkCommandBuffer commandBuffer,
VkImage image,
@@ -1475,7 +1339,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdClearColorImage(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdClearDepthStencilImage(
VkCommandBuffer commandBuffer,
VkImage image,
@@ -1486,7 +1349,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdClearDepthStencilImage(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdClearAttachments(
VkCommandBuffer commandBuffer,
uint32_t attachmentCount,
@@ -1496,7 +1358,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdClearAttachments(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdResolveImage(
VkCommandBuffer commandBuffer,
VkImage srcImage,
@@ -1508,7 +1369,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdResolveImage(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetEvent(
VkCommandBuffer commandBuffer,
VkEvent event,
@@ -1516,7 +1376,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetEvent(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdResetEvent(
VkCommandBuffer commandBuffer,
VkEvent event,
@@ -1524,7 +1383,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdResetEvent(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdWaitEvents(
VkCommandBuffer commandBuffer,
uint32_t eventCount,
@@ -1540,7 +1398,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdWaitEvents(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdPipelineBarrier(
VkCommandBuffer commandBuffer,
VkPipelineStageFlags srcStageMask,
@@ -1555,7 +1412,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdPipelineBarrier(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBeginQuery(
VkCommandBuffer commandBuffer,
VkQueryPool queryPool,
@@ -1564,7 +1420,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdBeginQuery(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdEndQuery(
VkCommandBuffer commandBuffer,
VkQueryPool queryPool,
@@ -1572,7 +1427,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdEndQuery(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdResetQueryPool(
VkCommandBuffer commandBuffer,
VkQueryPool queryPool,
@@ -1581,7 +1435,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdResetQueryPool(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdWriteTimestamp(
VkCommandBuffer commandBuffer,
VkPipelineStageFlagBits pipelineStage,
@@ -1590,7 +1443,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdWriteTimestamp(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdCopyQueryPoolResults(
VkCommandBuffer commandBuffer,
VkQueryPool queryPool,
@@ -1603,7 +1455,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdCopyQueryPoolResults(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdPushConstants(
VkCommandBuffer commandBuffer,
VkPipelineLayout layout,
@@ -1614,7 +1465,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdPushConstants(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBeginRenderPass(
VkCommandBuffer commandBuffer,
const VkRenderPassBeginInfo* pRenderPassBegin,
@@ -1622,20 +1472,17 @@ static VKAPI_ATTR void VKAPI_CALL CmdBeginRenderPass(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdNextSubpass(
VkCommandBuffer commandBuffer,
VkSubpassContents contents)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdEndRenderPass(
VkCommandBuffer commandBuffer)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdExecuteCommands(
VkCommandBuffer commandBuffer,
uint32_t commandBufferCount,
@@ -1643,16 +1490,12 @@ static VKAPI_ATTR void VKAPI_CALL CmdExecuteCommands(
{
//Not a CREATE or DESTROY function
}
-
-
static VKAPI_ATTR VkResult VKAPI_CALL EnumerateInstanceVersion(
uint32_t* pApiVersion)
{
-
*pApiVersion = VK_HEADER_VERSION_COMPLETE;
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL BindBufferMemory2(
VkDevice device,
uint32_t bindInfoCount,
@@ -1661,7 +1504,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL BindBufferMemory2(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL BindImageMemory2(
VkDevice device,
uint32_t bindInfoCount,
@@ -1670,7 +1512,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL BindImageMemory2(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL GetDeviceGroupPeerMemoryFeatures(
VkDevice device,
uint32_t heapIndex,
@@ -1680,14 +1521,12 @@ static VKAPI_ATTR void VKAPI_CALL GetDeviceGroupPeerMemoryFeatures(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetDeviceMask(
VkCommandBuffer commandBuffer,
uint32_t deviceMask)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdDispatchBase(
VkCommandBuffer commandBuffer,
uint32_t baseGroupX,
@@ -1699,7 +1538,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDispatchBase(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR VkResult VKAPI_CALL EnumeratePhysicalDeviceGroups(
VkInstance instance,
uint32_t* pPhysicalDeviceGroupCount,
@@ -1707,7 +1545,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL EnumeratePhysicalDeviceGroups(
{
return EnumeratePhysicalDeviceGroupsKHR(instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties);
}
-
static VKAPI_ATTR void VKAPI_CALL GetImageMemoryRequirements2(
VkDevice device,
const VkImageMemoryRequirementsInfo2* pInfo,
@@ -1715,7 +1552,6 @@ static VKAPI_ATTR void VKAPI_CALL GetImageMemoryRequirements2(
{
GetImageMemoryRequirements2KHR(device, pInfo, pMemoryRequirements);
}
-
static VKAPI_ATTR void VKAPI_CALL GetBufferMemoryRequirements2(
VkDevice device,
const VkBufferMemoryRequirementsInfo2* pInfo,
@@ -1723,7 +1559,6 @@ static VKAPI_ATTR void VKAPI_CALL GetBufferMemoryRequirements2(
{
GetBufferMemoryRequirements2KHR(device, pInfo, pMemoryRequirements);
}
-
static VKAPI_ATTR void VKAPI_CALL GetImageSparseMemoryRequirements2(
VkDevice device,
const VkImageSparseMemoryRequirementsInfo2* pInfo,
@@ -1732,21 +1567,18 @@ static VKAPI_ATTR void VKAPI_CALL GetImageSparseMemoryRequirements2(
{
GetImageSparseMemoryRequirements2KHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
}
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFeatures2(
VkPhysicalDevice physicalDevice,
VkPhysicalDeviceFeatures2* pFeatures)
{
GetPhysicalDeviceFeatures2KHR(physicalDevice, pFeatures);
}
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceProperties2(
VkPhysicalDevice physicalDevice,
VkPhysicalDeviceProperties2* pProperties)
{
GetPhysicalDeviceProperties2KHR(physicalDevice, pProperties);
}
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFormatProperties2(
VkPhysicalDevice physicalDevice,
VkFormat format,
@@ -1754,7 +1586,6 @@ static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFormatProperties2(
{
GetPhysicalDeviceFormatProperties2KHR(physicalDevice, format, pFormatProperties);
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceImageFormatProperties2(
VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
@@ -1762,7 +1593,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceImageFormatProperties2(
{
return GetPhysicalDeviceImageFormatProperties2KHR(physicalDevice, pImageFormatInfo, pImageFormatProperties);
}
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceQueueFamilyProperties2(
VkPhysicalDevice physicalDevice,
uint32_t* pQueueFamilyPropertyCount,
@@ -1770,14 +1600,12 @@ static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceQueueFamilyProperties2(
{
GetPhysicalDeviceQueueFamilyProperties2KHR(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
}
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceMemoryProperties2(
VkPhysicalDevice physicalDevice,
VkPhysicalDeviceMemoryProperties2* pMemoryProperties)
{
GetPhysicalDeviceMemoryProperties2KHR(physicalDevice, pMemoryProperties);
}
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceSparseImageFormatProperties2(
VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
@@ -1786,7 +1614,6 @@ static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceSparseImageFormatProperties2(
{
GetPhysicalDeviceSparseImageFormatProperties2KHR(physicalDevice, pFormatInfo, pPropertyCount, pProperties);
}
-
static VKAPI_ATTR void VKAPI_CALL TrimCommandPool(
VkDevice device,
VkCommandPool commandPool,
@@ -1794,7 +1621,6 @@ static VKAPI_ATTR void VKAPI_CALL TrimCommandPool(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL GetDeviceQueue2(
VkDevice device,
const VkDeviceQueueInfo2* pQueueInfo,
@@ -1803,7 +1629,6 @@ static VKAPI_ATTR void VKAPI_CALL GetDeviceQueue2(
GetDeviceQueue(device, pQueueInfo->queueFamilyIndex, pQueueInfo->queueIndex, pQueue);
// TODO: Add further support for GetDeviceQueue2 features
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateSamplerYcbcrConversion(
VkDevice device,
const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
@@ -1814,7 +1639,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateSamplerYcbcrConversion(
*pYcbcrConversion = (VkSamplerYcbcrConversion)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroySamplerYcbcrConversion(
VkDevice device,
VkSamplerYcbcrConversion ycbcrConversion,
@@ -1822,7 +1646,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroySamplerYcbcrConversion(
{
//Destroy object
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateDescriptorUpdateTemplate(
VkDevice device,
const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
@@ -1833,7 +1656,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateDescriptorUpdateTemplate(
*pDescriptorUpdateTemplate = (VkDescriptorUpdateTemplate)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyDescriptorUpdateTemplate(
VkDevice device,
VkDescriptorUpdateTemplate descriptorUpdateTemplate,
@@ -1841,7 +1663,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyDescriptorUpdateTemplate(
{
//Destroy object
}
-
static VKAPI_ATTR void VKAPI_CALL UpdateDescriptorSetWithTemplate(
VkDevice device,
VkDescriptorSet descriptorSet,
@@ -1850,7 +1671,6 @@ static VKAPI_ATTR void VKAPI_CALL UpdateDescriptorSetWithTemplate(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalBufferProperties(
VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
@@ -1875,7 +1695,6 @@ static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalBufferProperties(
pExternalBufferProperties->externalMemoryProperties.compatibleHandleTypes = pExternalBufferInfo->handleType;
}
}
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalFenceProperties(
VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
@@ -1886,7 +1705,6 @@ static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalFenceProperties(
pExternalFenceProperties->compatibleHandleTypes = 0xF;
pExternalFenceProperties->externalFenceFeatures = 0x3;
}
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalSemaphoreProperties(
VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
@@ -1897,7 +1715,6 @@ static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalSemaphoreProperties(
pExternalSemaphoreProperties->compatibleHandleTypes = 0x1F;
pExternalSemaphoreProperties->externalSemaphoreFeatures = 0x3;
}
-
static VKAPI_ATTR void VKAPI_CALL GetDescriptorSetLayoutSupport(
VkDevice device,
const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
@@ -1907,8 +1724,6 @@ static VKAPI_ATTR void VKAPI_CALL GetDescriptorSetLayoutSupport(
pSupport->supported = VK_TRUE;
}
}
-
-
static VKAPI_ATTR void VKAPI_CALL CmdDrawIndirectCount(
VkCommandBuffer commandBuffer,
VkBuffer buffer,
@@ -1920,7 +1735,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDrawIndirectCount(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdDrawIndexedIndirectCount(
VkCommandBuffer commandBuffer,
VkBuffer buffer,
@@ -1932,7 +1746,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDrawIndexedIndirectCount(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateRenderPass2(
VkDevice device,
const VkRenderPassCreateInfo2* pCreateInfo,
@@ -1943,7 +1756,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateRenderPass2(
*pRenderPass = (VkRenderPass)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBeginRenderPass2(
VkCommandBuffer commandBuffer,
const VkRenderPassBeginInfo* pRenderPassBegin,
@@ -1951,7 +1763,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdBeginRenderPass2(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdNextSubpass2(
VkCommandBuffer commandBuffer,
const VkSubpassBeginInfo* pSubpassBeginInfo,
@@ -1959,14 +1770,12 @@ static VKAPI_ATTR void VKAPI_CALL CmdNextSubpass2(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdEndRenderPass2(
VkCommandBuffer commandBuffer,
const VkSubpassEndInfo* pSubpassEndInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL ResetQueryPool(
VkDevice device,
VkQueryPool queryPool,
@@ -1975,7 +1784,6 @@ static VKAPI_ATTR void VKAPI_CALL ResetQueryPool(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetSemaphoreCounterValue(
VkDevice device,
VkSemaphore semaphore,
@@ -1984,7 +1792,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetSemaphoreCounterValue(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL WaitSemaphores(
VkDevice device,
const VkSemaphoreWaitInfo* pWaitInfo,
@@ -1993,7 +1800,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL WaitSemaphores(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL SignalSemaphore(
VkDevice device,
const VkSemaphoreSignalInfo* pSignalInfo)
@@ -2001,7 +1807,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL SignalSemaphore(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkDeviceAddress VKAPI_CALL GetBufferDeviceAddress(
VkDevice device,
const VkBufferDeviceAddressInfo* pInfo)
@@ -2016,7 +1821,6 @@ static VKAPI_ATTR VkDeviceAddress VKAPI_CALL GetBufferDeviceAddress(
}
return address;
}
-
static VKAPI_ATTR uint64_t VKAPI_CALL GetBufferOpaqueCaptureAddress(
VkDevice device,
const VkBufferDeviceAddressInfo* pInfo)
@@ -2024,7 +1828,6 @@ static VKAPI_ATTR uint64_t VKAPI_CALL GetBufferOpaqueCaptureAddress(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR uint64_t VKAPI_CALL GetDeviceMemoryOpaqueCaptureAddress(
VkDevice device,
const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo)
@@ -2032,8 +1835,6 @@ static VKAPI_ATTR uint64_t VKAPI_CALL GetDeviceMemoryOpaqueCaptureAddress(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceToolProperties(
VkPhysicalDevice physicalDevice,
uint32_t* pToolCount,
@@ -2042,7 +1843,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceToolProperties(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreatePrivateDataSlot(
VkDevice device,
const VkPrivateDataSlotCreateInfo* pCreateInfo,
@@ -2053,7 +1853,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreatePrivateDataSlot(
*pPrivateDataSlot = (VkPrivateDataSlot)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyPrivateDataSlot(
VkDevice device,
VkPrivateDataSlot privateDataSlot,
@@ -2061,7 +1860,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyPrivateDataSlot(
{
//Destroy object
}
-
static VKAPI_ATTR VkResult VKAPI_CALL SetPrivateData(
VkDevice device,
VkObjectType objectType,
@@ -2072,7 +1870,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL SetPrivateData(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL GetPrivateData(
VkDevice device,
VkObjectType objectType,
@@ -2082,7 +1879,6 @@ static VKAPI_ATTR void VKAPI_CALL GetPrivateData(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetEvent2(
VkCommandBuffer commandBuffer,
VkEvent event,
@@ -2090,7 +1886,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetEvent2(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdResetEvent2(
VkCommandBuffer commandBuffer,
VkEvent event,
@@ -2098,7 +1893,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdResetEvent2(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdWaitEvents2(
VkCommandBuffer commandBuffer,
uint32_t eventCount,
@@ -2107,14 +1901,12 @@ static VKAPI_ATTR void VKAPI_CALL CmdWaitEvents2(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdPipelineBarrier2(
VkCommandBuffer commandBuffer,
const VkDependencyInfo* pDependencyInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdWriteTimestamp2(
VkCommandBuffer commandBuffer,
VkPipelineStageFlags2 stage,
@@ -2123,7 +1915,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdWriteTimestamp2(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR VkResult VKAPI_CALL QueueSubmit2(
VkQueue queue,
uint32_t submitCount,
@@ -2133,83 +1924,71 @@ static VKAPI_ATTR VkResult VKAPI_CALL QueueSubmit2(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL CmdCopyBuffer2(
VkCommandBuffer commandBuffer,
const VkCopyBufferInfo2* pCopyBufferInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdCopyImage2(
VkCommandBuffer commandBuffer,
const VkCopyImageInfo2* pCopyImageInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdCopyBufferToImage2(
VkCommandBuffer commandBuffer,
const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdCopyImageToBuffer2(
VkCommandBuffer commandBuffer,
const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBlitImage2(
VkCommandBuffer commandBuffer,
const VkBlitImageInfo2* pBlitImageInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdResolveImage2(
VkCommandBuffer commandBuffer,
const VkResolveImageInfo2* pResolveImageInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBeginRendering(
VkCommandBuffer commandBuffer,
const VkRenderingInfo* pRenderingInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdEndRendering(
VkCommandBuffer commandBuffer)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetCullMode(
VkCommandBuffer commandBuffer,
VkCullModeFlags cullMode)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetFrontFace(
VkCommandBuffer commandBuffer,
VkFrontFace frontFace)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetPrimitiveTopology(
VkCommandBuffer commandBuffer,
VkPrimitiveTopology primitiveTopology)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetViewportWithCount(
VkCommandBuffer commandBuffer,
uint32_t viewportCount,
@@ -2217,7 +1996,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetViewportWithCount(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetScissorWithCount(
VkCommandBuffer commandBuffer,
uint32_t scissorCount,
@@ -2225,7 +2003,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetScissorWithCount(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBindVertexBuffers2(
VkCommandBuffer commandBuffer,
uint32_t firstBinding,
@@ -2237,42 +2014,36 @@ static VKAPI_ATTR void VKAPI_CALL CmdBindVertexBuffers2(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetDepthTestEnable(
VkCommandBuffer commandBuffer,
VkBool32 depthTestEnable)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetDepthWriteEnable(
VkCommandBuffer commandBuffer,
VkBool32 depthWriteEnable)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetDepthCompareOp(
VkCommandBuffer commandBuffer,
VkCompareOp depthCompareOp)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetDepthBoundsTestEnable(
VkCommandBuffer commandBuffer,
VkBool32 depthBoundsTestEnable)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetStencilTestEnable(
VkCommandBuffer commandBuffer,
VkBool32 stencilTestEnable)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetStencilOp(
VkCommandBuffer commandBuffer,
VkStencilFaceFlags faceMask,
@@ -2283,28 +2054,24 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetStencilOp(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetRasterizerDiscardEnable(
VkCommandBuffer commandBuffer,
VkBool32 rasterizerDiscardEnable)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetDepthBiasEnable(
VkCommandBuffer commandBuffer,
VkBool32 depthBiasEnable)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetPrimitiveRestartEnable(
VkCommandBuffer commandBuffer,
VkBool32 primitiveRestartEnable)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL GetDeviceBufferMemoryRequirements(
VkDevice device,
const VkDeviceBufferMemoryRequirements* pInfo,
@@ -2317,7 +2084,6 @@ static VKAPI_ATTR void VKAPI_CALL GetDeviceBufferMemoryRequirements(
// Return a size based on the buffer size from the create info.
pMemoryRequirements->memoryRequirements.size = ((pInfo->pCreateInfo->size + 4095) / 4096) * 4096;
}
-
static VKAPI_ATTR void VKAPI_CALL GetDeviceImageMemoryRequirements(
VkDevice device,
const VkDeviceImageMemoryRequirements* pInfo,
@@ -2328,7 +2094,6 @@ static VKAPI_ATTR void VKAPI_CALL GetDeviceImageMemoryRequirements(
// Here we hard-code that the memory type at index 3 doesn't support this image.
pMemoryRequirements->memoryRequirements.memoryTypeBits = 0xFFFF & ~(0x1 << 3);
}
-
static VKAPI_ATTR void VKAPI_CALL GetDeviceImageSparseMemoryRequirements(
VkDevice device,
const VkDeviceImageMemoryRequirements* pInfo,
@@ -2337,8 +2102,6 @@ static VKAPI_ATTR void VKAPI_CALL GetDeviceImageSparseMemoryRequirements(
{
//Not a CREATE or DESTROY function
}
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetLineStipple(
VkCommandBuffer commandBuffer,
uint32_t lineStippleFactor,
@@ -2346,7 +2109,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetLineStipple(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR VkResult VKAPI_CALL MapMemory2(
VkDevice device,
const VkMemoryMapInfo* pMemoryMapInfo,
@@ -2354,14 +2116,12 @@ static VKAPI_ATTR VkResult VKAPI_CALL MapMemory2(
{
return MapMemory2KHR(device, pMemoryMapInfo, ppData);
}
-
static VKAPI_ATTR VkResult VKAPI_CALL UnmapMemory2(
VkDevice device,
const VkMemoryUnmapInfo* pMemoryUnmapInfo)
{
return UnmapMemory2KHR(device, pMemoryUnmapInfo);
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBindIndexBuffer2(
VkCommandBuffer commandBuffer,
VkBuffer buffer,
@@ -2371,7 +2131,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdBindIndexBuffer2(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL GetRenderingAreaGranularity(
VkDevice device,
const VkRenderingAreaInfo* pRenderingAreaInfo,
@@ -2379,7 +2138,6 @@ static VKAPI_ATTR void VKAPI_CALL GetRenderingAreaGranularity(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL GetDeviceImageSubresourceLayout(
VkDevice device,
const VkDeviceImageSubresourceInfo* pInfo,
@@ -2387,7 +2145,6 @@ static VKAPI_ATTR void VKAPI_CALL GetDeviceImageSubresourceLayout(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL GetImageSubresourceLayout2(
VkDevice device,
VkImage image,
@@ -2396,7 +2153,6 @@ static VKAPI_ATTR void VKAPI_CALL GetImageSubresourceLayout2(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdPushDescriptorSet(
VkCommandBuffer commandBuffer,
VkPipelineBindPoint pipelineBindPoint,
@@ -2407,7 +2163,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdPushDescriptorSet(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdPushDescriptorSetWithTemplate(
VkCommandBuffer commandBuffer,
VkDescriptorUpdateTemplate descriptorUpdateTemplate,
@@ -2417,49 +2172,42 @@ static VKAPI_ATTR void VKAPI_CALL CmdPushDescriptorSetWithTemplate(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetRenderingAttachmentLocations(
VkCommandBuffer commandBuffer,
const VkRenderingAttachmentLocationInfo* pLocationInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetRenderingInputAttachmentIndices(
VkCommandBuffer commandBuffer,
const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBindDescriptorSets2(
VkCommandBuffer commandBuffer,
const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdPushConstants2(
VkCommandBuffer commandBuffer,
const VkPushConstantsInfo* pPushConstantsInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdPushDescriptorSet2(
VkCommandBuffer commandBuffer,
const VkPushDescriptorSetInfo* pPushDescriptorSetInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdPushDescriptorSetWithTemplate2(
VkCommandBuffer commandBuffer,
const VkPushDescriptorSetWithTemplateInfo* pPushDescriptorSetWithTemplateInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CopyMemoryToImage(
VkDevice device,
const VkCopyMemoryToImageInfo* pCopyMemoryToImageInfo)
@@ -2467,7 +2215,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CopyMemoryToImage(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CopyImageToMemory(
VkDevice device,
const VkCopyImageToMemoryInfo* pCopyImageToMemoryInfo)
@@ -2475,7 +2222,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CopyImageToMemory(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CopyImageToImage(
VkDevice device,
const VkCopyImageToImageInfo* pCopyImageToImageInfo)
@@ -2483,7 +2229,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CopyImageToImage(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL TransitionImageLayout(
VkDevice device,
uint32_t transitionCount,
@@ -2492,8 +2237,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL TransitionImageLayout(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
static VKAPI_ATTR void VKAPI_CALL DestroySurfaceKHR(
VkInstance instance,
VkSurfaceKHR surface,
@@ -2501,7 +2244,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroySurfaceKHR(
{
//Destroy object
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceSupportKHR(
VkPhysicalDevice physicalDevice,
uint32_t queueFamilyIndex,
@@ -2512,7 +2254,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceSupportKHR(
*pSupported = VK_TRUE;
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceCapabilitiesKHR(
VkPhysicalDevice physicalDevice,
VkSurfaceKHR surface,
@@ -2552,7 +2293,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceCapabilitiesKHR(
VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT;
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceFormatsKHR(
VkPhysicalDevice physicalDevice,
VkSurfaceKHR surface,
@@ -2574,7 +2314,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceFormatsKHR(
}
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfacePresentModesKHR(
VkPhysicalDevice physicalDevice,
VkSurfaceKHR surface,
@@ -2595,8 +2334,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfacePresentModesKHR(
}
return VK_SUCCESS;
}
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateSwapchainKHR(
VkDevice device,
const VkSwapchainCreateInfoKHR* pCreateInfo,
@@ -2610,7 +2347,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateSwapchainKHR(
}
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroySwapchainKHR(
VkDevice device,
VkSwapchainKHR swapchain,
@@ -2619,7 +2355,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroySwapchainKHR(
unique_lock_t lock(global_lock);
swapchain_image_map.clear();
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetSwapchainImagesKHR(
VkDevice device,
VkSwapchainKHR swapchain,
@@ -2639,7 +2374,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetSwapchainImagesKHR(
}
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL AcquireNextImageKHR(
VkDevice device,
VkSwapchainKHR swapchain,
@@ -2651,7 +2385,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL AcquireNextImageKHR(
*pImageIndex = 0;
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL QueuePresentKHR(
VkQueue queue,
const VkPresentInfoKHR* pPresentInfo)
@@ -2659,7 +2392,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL QueuePresentKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetDeviceGroupPresentCapabilitiesKHR(
VkDevice device,
VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities)
@@ -2667,7 +2399,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetDeviceGroupPresentCapabilitiesKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetDeviceGroupSurfacePresentModesKHR(
VkDevice device,
VkSurfaceKHR surface,
@@ -2676,7 +2407,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetDeviceGroupSurfacePresentModesKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDevicePresentRectanglesKHR(
VkPhysicalDevice physicalDevice,
VkSurfaceKHR surface,
@@ -2686,7 +2416,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDevicePresentRectanglesKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL AcquireNextImage2KHR(
VkDevice device,
const VkAcquireNextImageInfoKHR* pAcquireInfo,
@@ -2695,8 +2424,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL AcquireNextImage2KHR(
*pImageIndex = 0;
return VK_SUCCESS;
}
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceDisplayPropertiesKHR(
VkPhysicalDevice physicalDevice,
uint32_t* pPropertyCount,
@@ -2711,7 +2438,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceDisplayPropertiesKHR(
}
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceDisplayPlanePropertiesKHR(
VkPhysicalDevice physicalDevice,
uint32_t* pPropertyCount,
@@ -2720,7 +2446,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceDisplayPlanePropertiesKHR
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetDisplayPlaneSupportedDisplaysKHR(
VkPhysicalDevice physicalDevice,
uint32_t planeIndex,
@@ -2730,7 +2455,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetDisplayPlaneSupportedDisplaysKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetDisplayModePropertiesKHR(
VkPhysicalDevice physicalDevice,
VkDisplayKHR display,
@@ -2740,7 +2464,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetDisplayModePropertiesKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateDisplayModeKHR(
VkPhysicalDevice physicalDevice,
VkDisplayKHR display,
@@ -2752,7 +2475,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateDisplayModeKHR(
*pMode = (VkDisplayModeKHR)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetDisplayPlaneCapabilitiesKHR(
VkPhysicalDevice physicalDevice,
VkDisplayModeKHR mode,
@@ -2762,7 +2484,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetDisplayPlaneCapabilitiesKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateDisplayPlaneSurfaceKHR(
VkInstance instance,
const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
@@ -2773,8 +2494,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateDisplayPlaneSurfaceKHR(
*pSurface = (VkSurfaceKHR)global_unique_handle++;
return VK_SUCCESS;
}
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateSharedSwapchainsKHR(
VkDevice device,
uint32_t swapchainCount,
@@ -2788,9 +2507,7 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateSharedSwapchainsKHR(
}
return VK_SUCCESS;
}
-
#ifdef VK_USE_PLATFORM_XLIB_KHR
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateXlibSurfaceKHR(
VkInstance instance,
const VkXlibSurfaceCreateInfoKHR* pCreateInfo,
@@ -2801,7 +2518,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateXlibSurfaceKHR(
*pSurface = (VkSurfaceKHR)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceXlibPresentationSupportKHR(
VkPhysicalDevice physicalDevice,
uint32_t queueFamilyIndex,
@@ -2814,7 +2530,6 @@ static VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceXlibPresentationSupportKH
#endif /* VK_USE_PLATFORM_XLIB_KHR */
#ifdef VK_USE_PLATFORM_XCB_KHR
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateXcbSurfaceKHR(
VkInstance instance,
const VkXcbSurfaceCreateInfoKHR* pCreateInfo,
@@ -2825,7 +2540,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateXcbSurfaceKHR(
*pSurface = (VkSurfaceKHR)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceXcbPresentationSupportKHR(
VkPhysicalDevice physicalDevice,
uint32_t queueFamilyIndex,
@@ -2838,7 +2552,6 @@ static VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceXcbPresentationSupportKHR
#endif /* VK_USE_PLATFORM_XCB_KHR */
#ifdef VK_USE_PLATFORM_WAYLAND_KHR
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateWaylandSurfaceKHR(
VkInstance instance,
const VkWaylandSurfaceCreateInfoKHR* pCreateInfo,
@@ -2849,7 +2562,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateWaylandSurfaceKHR(
*pSurface = (VkSurfaceKHR)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceWaylandPresentationSupportKHR(
VkPhysicalDevice physicalDevice,
uint32_t queueFamilyIndex,
@@ -2861,7 +2573,6 @@ static VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceWaylandPresentationSuppor
#endif /* VK_USE_PLATFORM_WAYLAND_KHR */
#ifdef VK_USE_PLATFORM_ANDROID_KHR
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateAndroidSurfaceKHR(
VkInstance instance,
const VkAndroidSurfaceCreateInfoKHR* pCreateInfo,
@@ -2875,7 +2586,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateAndroidSurfaceKHR(
#endif /* VK_USE_PLATFORM_ANDROID_KHR */
#ifdef VK_USE_PLATFORM_WIN32_KHR
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateWin32SurfaceKHR(
VkInstance instance,
const VkWin32SurfaceCreateInfoKHR* pCreateInfo,
@@ -2886,7 +2596,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateWin32SurfaceKHR(
*pSurface = (VkSurfaceKHR)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceWin32PresentationSupportKHR(
VkPhysicalDevice physicalDevice,
uint32_t queueFamilyIndex)
@@ -2895,9 +2604,6 @@ static VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceWin32PresentationSupportK
return VK_SUCCESS;
}
#endif /* VK_USE_PLATFORM_WIN32_KHR */
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceVideoCapabilitiesKHR(
VkPhysicalDevice physicalDevice,
const VkVideoProfileInfoKHR* pVideoProfile,
@@ -2905,7 +2611,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceVideoCapabilitiesKHR(
{
return VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceVideoFormatPropertiesKHR(
VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo,
@@ -2914,7 +2619,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceVideoFormatPropertiesKHR(
{
return VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateVideoSessionKHR(
VkDevice device,
const VkVideoSessionCreateInfoKHR* pCreateInfo,
@@ -2925,7 +2629,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateVideoSessionKHR(
*pVideoSession = (VkVideoSessionKHR)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyVideoSessionKHR(
VkDevice device,
VkVideoSessionKHR videoSession,
@@ -2933,7 +2636,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyVideoSessionKHR(
{
//Destroy object
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetVideoSessionMemoryRequirementsKHR(
VkDevice device,
VkVideoSessionKHR videoSession,
@@ -2951,7 +2653,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetVideoSessionMemoryRequirementsKHR(
}
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL BindVideoSessionMemoryKHR(
VkDevice device,
VkVideoSessionKHR videoSession,
@@ -2961,7 +2662,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL BindVideoSessionMemoryKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateVideoSessionParametersKHR(
VkDevice device,
const VkVideoSessionParametersCreateInfoKHR* pCreateInfo,
@@ -2972,7 +2672,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateVideoSessionParametersKHR(
*pVideoSessionParameters = (VkVideoSessionParametersKHR)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL UpdateVideoSessionParametersKHR(
VkDevice device,
VkVideoSessionParametersKHR videoSessionParameters,
@@ -2981,7 +2680,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL UpdateVideoSessionParametersKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyVideoSessionParametersKHR(
VkDevice device,
VkVideoSessionParametersKHR videoSessionParameters,
@@ -2989,55 +2687,41 @@ static VKAPI_ATTR void VKAPI_CALL DestroyVideoSessionParametersKHR(
{
//Destroy object
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBeginVideoCodingKHR(
VkCommandBuffer commandBuffer,
const VkVideoBeginCodingInfoKHR* pBeginInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdEndVideoCodingKHR(
VkCommandBuffer commandBuffer,
const VkVideoEndCodingInfoKHR* pEndCodingInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdControlVideoCodingKHR(
VkCommandBuffer commandBuffer,
const VkVideoCodingControlInfoKHR* pCodingControlInfo)
{
//Not a CREATE or DESTROY function
}
-
-
static VKAPI_ATTR void VKAPI_CALL CmdDecodeVideoKHR(
VkCommandBuffer commandBuffer,
const VkVideoDecodeInfoKHR* pDecodeInfo)
{
//Not a CREATE or DESTROY function
}
-
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdBeginRenderingKHR(
VkCommandBuffer commandBuffer,
const VkRenderingInfo* pRenderingInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdEndRenderingKHR(
VkCommandBuffer commandBuffer)
{
//Not a CREATE or DESTROY function
}
-
-
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFeatures2KHR(
VkPhysicalDevice physicalDevice,
VkPhysicalDeviceFeatures2* pFeatures)
@@ -3085,7 +2769,6 @@ static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFeatures2KHR(
SetBoolArrayTrue(feat_bools, 1);
}
}
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceProperties2KHR(
VkPhysicalDevice physicalDevice,
VkPhysicalDeviceProperties2* pProperties)
@@ -3238,7 +2921,6 @@ static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceProperties2KHR(
}
}
}
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFormatProperties2KHR(
VkPhysicalDevice physicalDevice,
VkFormat format,
@@ -3253,7 +2935,6 @@ static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFormatProperties2KHR(
props_3->optimalTilingFeatures |= VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT_EXT;
}
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceImageFormatProperties2KHR(
VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
@@ -3269,7 +2950,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceImageFormatProperties2KHR
GetPhysicalDeviceImageFormatProperties(physicalDevice, pImageFormatInfo->format, pImageFormatInfo->type, pImageFormatInfo->tiling, pImageFormatInfo->usage, pImageFormatInfo->flags, &pImageFormatProperties->imageFormatProperties);
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceQueueFamilyProperties2KHR(
VkPhysicalDevice physicalDevice,
uint32_t* pQueueFamilyPropertyCount,
@@ -3327,14 +3007,12 @@ static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceQueueFamilyProperties2KHR(
*pQueueFamilyPropertyCount = 3;
}
}
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceMemoryProperties2KHR(
VkPhysicalDevice physicalDevice,
VkPhysicalDeviceMemoryProperties2* pMemoryProperties)
{
GetPhysicalDeviceMemoryProperties(physicalDevice, &pMemoryProperties->memoryProperties);
}
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceSparseImageFormatProperties2KHR(
VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
@@ -3347,8 +3025,6 @@ static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceSparseImageFormatProperties2K
GetPhysicalDeviceSparseImageFormatProperties(physicalDevice, pFormatInfo->format, pFormatInfo->type, pFormatInfo->samples, pFormatInfo->usage, pFormatInfo->tiling, pPropertyCount, nullptr);
}
}
-
-
static VKAPI_ATTR void VKAPI_CALL GetDeviceGroupPeerMemoryFeaturesKHR(
VkDevice device,
uint32_t heapIndex,
@@ -3358,14 +3034,12 @@ static VKAPI_ATTR void VKAPI_CALL GetDeviceGroupPeerMemoryFeaturesKHR(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetDeviceMaskKHR(
VkCommandBuffer commandBuffer,
uint32_t deviceMask)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdDispatchBaseKHR(
VkCommandBuffer commandBuffer,
uint32_t baseGroupX,
@@ -3377,9 +3051,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDispatchBaseKHR(
{
//Not a CREATE or DESTROY function
}
-
-
-
static VKAPI_ATTR void VKAPI_CALL TrimCommandPoolKHR(
VkDevice device,
VkCommandPool commandPool,
@@ -3387,8 +3058,6 @@ static VKAPI_ATTR void VKAPI_CALL TrimCommandPoolKHR(
{
//Not a CREATE or DESTROY function
}
-
-
static VKAPI_ATTR VkResult VKAPI_CALL EnumeratePhysicalDeviceGroupsKHR(
VkInstance instance,
uint32_t* pPhysicalDeviceGroupCount,
@@ -3404,8 +3073,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL EnumeratePhysicalDeviceGroupsKHR(
}
return VK_SUCCESS;
}
-
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalBufferPropertiesKHR(
VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
@@ -3413,10 +3080,7 @@ static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalBufferPropertiesKHR(
{
GetPhysicalDeviceExternalBufferProperties(physicalDevice, pExternalBufferInfo, pExternalBufferProperties);
}
-
-
#ifdef VK_USE_PLATFORM_WIN32_KHR
-
static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryWin32HandleKHR(
VkDevice device,
const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo,
@@ -3425,7 +3089,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryWin32HandleKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryWin32HandlePropertiesKHR(
VkDevice device,
VkExternalMemoryHandleTypeFlagBits handleType,
@@ -3436,8 +3099,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryWin32HandlePropertiesKHR(
return VK_SUCCESS;
}
#endif /* VK_USE_PLATFORM_WIN32_KHR */
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryFdKHR(
VkDevice device,
const VkMemoryGetFdInfoKHR* pGetFdInfo,
@@ -3446,7 +3107,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryFdKHR(
*pFd = 1;
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryFdPropertiesKHR(
VkDevice device,
VkExternalMemoryHandleTypeFlagBits handleType,
@@ -3456,11 +3116,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryFdPropertiesKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-#endif /* VK_USE_PLATFORM_WIN32_KHR */
-
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalSemaphorePropertiesKHR(
VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
@@ -3468,10 +3123,7 @@ static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalSemaphorePropertiesKH
{
GetPhysicalDeviceExternalSemaphoreProperties(physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties);
}
-
-
#ifdef VK_USE_PLATFORM_WIN32_KHR
-
static VKAPI_ATTR VkResult VKAPI_CALL ImportSemaphoreWin32HandleKHR(
VkDevice device,
const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo)
@@ -3479,7 +3131,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL ImportSemaphoreWin32HandleKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetSemaphoreWin32HandleKHR(
VkDevice device,
const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo,
@@ -3489,8 +3140,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetSemaphoreWin32HandleKHR(
return VK_SUCCESS;
}
#endif /* VK_USE_PLATFORM_WIN32_KHR */
-
-
static VKAPI_ATTR VkResult VKAPI_CALL ImportSemaphoreFdKHR(
VkDevice device,
const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo)
@@ -3498,7 +3147,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL ImportSemaphoreFdKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetSemaphoreFdKHR(
VkDevice device,
const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
@@ -3507,8 +3155,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetSemaphoreFdKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
static VKAPI_ATTR void VKAPI_CALL CmdPushDescriptorSetKHR(
VkCommandBuffer commandBuffer,
VkPipelineBindPoint pipelineBindPoint,
@@ -3519,7 +3165,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdPushDescriptorSetKHR(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdPushDescriptorSetWithTemplateKHR(
VkCommandBuffer commandBuffer,
VkDescriptorUpdateTemplate descriptorUpdateTemplate,
@@ -3529,11 +3174,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdPushDescriptorSetWithTemplateKHR(
{
//Not a CREATE or DESTROY function
}
-
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateDescriptorUpdateTemplateKHR(
VkDevice device,
const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
@@ -3544,7 +3184,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateDescriptorUpdateTemplateKHR(
*pDescriptorUpdateTemplate = (VkDescriptorUpdateTemplate)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyDescriptorUpdateTemplateKHR(
VkDevice device,
VkDescriptorUpdateTemplate descriptorUpdateTemplate,
@@ -3552,7 +3191,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyDescriptorUpdateTemplateKHR(
{
//Destroy object
}
-
static VKAPI_ATTR void VKAPI_CALL UpdateDescriptorSetWithTemplateKHR(
VkDevice device,
VkDescriptorSet descriptorSet,
@@ -3561,9 +3199,6 @@ static VKAPI_ATTR void VKAPI_CALL UpdateDescriptorSetWithTemplateKHR(
{
//Not a CREATE or DESTROY function
}
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateRenderPass2KHR(
VkDevice device,
const VkRenderPassCreateInfo2* pCreateInfo,
@@ -3574,7 +3209,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateRenderPass2KHR(
*pRenderPass = (VkRenderPass)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBeginRenderPass2KHR(
VkCommandBuffer commandBuffer,
const VkRenderPassBeginInfo* pRenderPassBegin,
@@ -3582,7 +3216,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdBeginRenderPass2KHR(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdNextSubpass2KHR(
VkCommandBuffer commandBuffer,
const VkSubpassBeginInfo* pSubpassBeginInfo,
@@ -3590,15 +3223,12 @@ static VKAPI_ATTR void VKAPI_CALL CmdNextSubpass2KHR(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdEndRenderPass2KHR(
VkCommandBuffer commandBuffer,
const VkSubpassEndInfo* pSubpassEndInfo)
{
//Not a CREATE or DESTROY function
}
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetSwapchainStatusKHR(
VkDevice device,
VkSwapchainKHR swapchain)
@@ -3606,8 +3236,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetSwapchainStatusKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalFencePropertiesKHR(
VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
@@ -3615,10 +3243,7 @@ static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalFencePropertiesKHR(
{
GetPhysicalDeviceExternalFenceProperties(physicalDevice, pExternalFenceInfo, pExternalFenceProperties);
}
-
-
#ifdef VK_USE_PLATFORM_WIN32_KHR
-
static VKAPI_ATTR VkResult VKAPI_CALL ImportFenceWin32HandleKHR(
VkDevice device,
const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo)
@@ -3626,7 +3251,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL ImportFenceWin32HandleKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetFenceWin32HandleKHR(
VkDevice device,
const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo,
@@ -3636,8 +3260,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetFenceWin32HandleKHR(
return VK_SUCCESS;
}
#endif /* VK_USE_PLATFORM_WIN32_KHR */
-
-
static VKAPI_ATTR VkResult VKAPI_CALL ImportFenceFdKHR(
VkDevice device,
const VkImportFenceFdInfoKHR* pImportFenceFdInfo)
@@ -3645,7 +3267,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL ImportFenceFdKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetFenceFdKHR(
VkDevice device,
const VkFenceGetFdInfoKHR* pGetFdInfo,
@@ -3654,8 +3275,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetFenceFdKHR(
*pFd = 0x42;
return VK_SUCCESS;
}
-
-
static VKAPI_ATTR VkResult VKAPI_CALL EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
VkPhysicalDevice physicalDevice,
uint32_t queueFamilyIndex,
@@ -3692,7 +3311,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL EnumeratePhysicalDeviceQueueFamilyPerforma
}
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
VkPhysicalDevice physicalDevice,
const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
@@ -3703,7 +3321,6 @@ static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceQueueFamilyPerformanceQueryPa
*pNumPasses = 1;
}
}
-
static VKAPI_ATTR VkResult VKAPI_CALL AcquireProfilingLockKHR(
VkDevice device,
const VkAcquireProfilingLockInfoKHR* pInfo)
@@ -3711,15 +3328,11 @@ static VKAPI_ATTR VkResult VKAPI_CALL AcquireProfilingLockKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL ReleaseProfilingLockKHR(
VkDevice device)
{
//Not a CREATE or DESTROY function
}
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceCapabilities2KHR(
VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
@@ -3740,7 +3353,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceCapabilities2KHR(
}
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceFormats2KHR(
VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
@@ -3764,9 +3376,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceFormats2KHR(
}
return VK_SUCCESS;
}
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceDisplayProperties2KHR(
VkPhysicalDevice physicalDevice,
uint32_t* pPropertyCount,
@@ -3775,7 +3384,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceDisplayProperties2KHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceDisplayPlaneProperties2KHR(
VkPhysicalDevice physicalDevice,
uint32_t* pPropertyCount,
@@ -3784,7 +3392,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceDisplayPlaneProperties2KH
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetDisplayModeProperties2KHR(
VkPhysicalDevice physicalDevice,
VkDisplayKHR display,
@@ -3794,7 +3401,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetDisplayModeProperties2KHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetDisplayPlaneCapabilities2KHR(
VkPhysicalDevice physicalDevice,
const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
@@ -3803,12 +3409,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetDisplayPlaneCapabilities2KHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL GetImageMemoryRequirements2KHR(
VkDevice device,
const VkImageMemoryRequirementsInfo2* pInfo,
@@ -3816,7 +3416,6 @@ static VKAPI_ATTR void VKAPI_CALL GetImageMemoryRequirements2KHR(
{
GetImageMemoryRequirements(device, pInfo->image, &pMemoryRequirements->memoryRequirements);
}
-
static VKAPI_ATTR void VKAPI_CALL GetBufferMemoryRequirements2KHR(
VkDevice device,
const VkBufferMemoryRequirementsInfo2* pInfo,
@@ -3824,7 +3423,6 @@ static VKAPI_ATTR void VKAPI_CALL GetBufferMemoryRequirements2KHR(
{
GetBufferMemoryRequirements(device, pInfo->buffer, &pMemoryRequirements->memoryRequirements);
}
-
static VKAPI_ATTR void VKAPI_CALL GetImageSparseMemoryRequirements2KHR(
VkDevice device,
const VkImageSparseMemoryRequirementsInfo2* pInfo,
@@ -3837,9 +3435,6 @@ static VKAPI_ATTR void VKAPI_CALL GetImageSparseMemoryRequirements2KHR(
GetImageSparseMemoryRequirements(device, pInfo->image, pSparseMemoryRequirementCount, nullptr);
}
}
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateSamplerYcbcrConversionKHR(
VkDevice device,
const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
@@ -3850,7 +3445,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateSamplerYcbcrConversionKHR(
*pYcbcrConversion = (VkSamplerYcbcrConversion)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroySamplerYcbcrConversionKHR(
VkDevice device,
VkSamplerYcbcrConversion ycbcrConversion,
@@ -3858,8 +3452,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroySamplerYcbcrConversionKHR(
{
//Destroy object
}
-
-
static VKAPI_ATTR VkResult VKAPI_CALL BindBufferMemory2KHR(
VkDevice device,
uint32_t bindInfoCount,
@@ -3868,7 +3460,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL BindBufferMemory2KHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL BindImageMemory2KHR(
VkDevice device,
uint32_t bindInfoCount,
@@ -3877,11 +3468,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL BindImageMemory2KHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-#endif /* VK_ENABLE_BETA_EXTENSIONS */
-
-
static VKAPI_ATTR void VKAPI_CALL GetDescriptorSetLayoutSupportKHR(
VkDevice device,
const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
@@ -3889,8 +3475,6 @@ static VKAPI_ATTR void VKAPI_CALL GetDescriptorSetLayoutSupportKHR(
{
GetDescriptorSetLayoutSupport(device, pCreateInfo, pSupport);
}
-
-
static VKAPI_ATTR void VKAPI_CALL CmdDrawIndirectCountKHR(
VkCommandBuffer commandBuffer,
VkBuffer buffer,
@@ -3902,7 +3486,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDrawIndirectCountKHR(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdDrawIndexedIndirectCountKHR(
VkCommandBuffer commandBuffer,
VkBuffer buffer,
@@ -3914,18 +3497,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDrawIndexedIndirectCountKHR(
{
//Not a CREATE or DESTROY function
}
-
-
-
-
-
-
-
-
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetSemaphoreCounterValueKHR(
VkDevice device,
VkSemaphore semaphore,
@@ -3934,7 +3505,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetSemaphoreCounterValueKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL WaitSemaphoresKHR(
VkDevice device,
const VkSemaphoreWaitInfo* pWaitInfo,
@@ -3943,7 +3513,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL WaitSemaphoresKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL SignalSemaphoreKHR(
VkDevice device,
const VkSemaphoreSignalInfo* pSignalInfo)
@@ -3951,10 +3520,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL SignalSemaphoreKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceFragmentShadingRatesKHR(
VkPhysicalDevice physicalDevice,
uint32_t* pFragmentShadingRateCount,
@@ -3969,7 +3534,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceFragmentShadingRatesKHR(
}
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetFragmentShadingRateKHR(
VkCommandBuffer commandBuffer,
const VkExtent2D* pFragmentSize,
@@ -3977,27 +3541,18 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetFragmentShadingRateKHR(
{
//Not a CREATE or DESTROY function
}
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetRenderingAttachmentLocationsKHR(
VkCommandBuffer commandBuffer,
const VkRenderingAttachmentLocationInfo* pLocationInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetRenderingInputAttachmentIndicesKHR(
VkCommandBuffer commandBuffer,
const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo)
{
//Not a CREATE or DESTROY function
}
-
-
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL WaitForPresentKHR(
VkDevice device,
VkSwapchainKHR swapchain,
@@ -4007,16 +3562,12 @@ static VKAPI_ATTR VkResult VKAPI_CALL WaitForPresentKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
-
static VKAPI_ATTR VkDeviceAddress VKAPI_CALL GetBufferDeviceAddressKHR(
VkDevice device,
const VkBufferDeviceAddressInfo* pInfo)
{
return GetBufferDeviceAddress(device, pInfo);
}
-
static VKAPI_ATTR uint64_t VKAPI_CALL GetBufferOpaqueCaptureAddressKHR(
VkDevice device,
const VkBufferDeviceAddressInfo* pInfo)
@@ -4024,7 +3575,6 @@ static VKAPI_ATTR uint64_t VKAPI_CALL GetBufferOpaqueCaptureAddressKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR uint64_t VKAPI_CALL GetDeviceMemoryOpaqueCaptureAddressKHR(
VkDevice device,
const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo)
@@ -4032,8 +3582,6 @@ static VKAPI_ATTR uint64_t VKAPI_CALL GetDeviceMemoryOpaqueCaptureAddressKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateDeferredOperationKHR(
VkDevice device,
const VkAllocationCallbacks* pAllocator,
@@ -4043,7 +3591,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateDeferredOperationKHR(
*pDeferredOperation = (VkDeferredOperationKHR)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyDeferredOperationKHR(
VkDevice device,
VkDeferredOperationKHR operation,
@@ -4051,7 +3598,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyDeferredOperationKHR(
{
//Destroy object
}
-
static VKAPI_ATTR uint32_t VKAPI_CALL GetDeferredOperationMaxConcurrencyKHR(
VkDevice device,
VkDeferredOperationKHR operation)
@@ -4059,7 +3605,6 @@ static VKAPI_ATTR uint32_t VKAPI_CALL GetDeferredOperationMaxConcurrencyKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetDeferredOperationResultKHR(
VkDevice device,
VkDeferredOperationKHR operation)
@@ -4067,7 +3612,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetDeferredOperationResultKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL DeferredOperationJoinKHR(
VkDevice device,
VkDeferredOperationKHR operation)
@@ -4075,8 +3619,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL DeferredOperationJoinKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPipelineExecutablePropertiesKHR(
VkDevice device,
const VkPipelineInfoKHR* pPipelineInfo,
@@ -4086,7 +3628,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPipelineExecutablePropertiesKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPipelineExecutableStatisticsKHR(
VkDevice device,
const VkPipelineExecutableInfoKHR* pExecutableInfo,
@@ -4096,7 +3637,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPipelineExecutableStatisticsKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPipelineExecutableInternalRepresentationsKHR(
VkDevice device,
const VkPipelineExecutableInfoKHR* pExecutableInfo,
@@ -4106,8 +3646,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPipelineExecutableInternalRepresentatio
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
static VKAPI_ATTR VkResult VKAPI_CALL MapMemory2KHR(
VkDevice device,
const VkMemoryMapInfo* pMemoryMapInfo,
@@ -4115,7 +3653,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL MapMemory2KHR(
{
return MapMemory(device, pMemoryMapInfo->memory, pMemoryMapInfo->offset, pMemoryMapInfo->size, pMemoryMapInfo->flags, ppData);
}
-
static VKAPI_ATTR VkResult VKAPI_CALL UnmapMemory2KHR(
VkDevice device,
const VkMemoryUnmapInfo* pMemoryUnmapInfo)
@@ -4123,12 +3660,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL UnmapMemory2KHR(
UnmapMemory(device, pMemoryUnmapInfo->memory);
return VK_SUCCESS;
}
-
-
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR(
VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo,
@@ -4137,7 +3668,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceVideoEncodeQualityLevelPr
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetEncodedVideoSessionParametersKHR(
VkDevice device,
const VkVideoEncodeSessionParametersGetInfoKHR* pVideoSessionParametersInfo,
@@ -4148,15 +3678,12 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetEncodedVideoSessionParametersKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL CmdEncodeVideoKHR(
VkCommandBuffer commandBuffer,
const VkVideoEncodeInfoKHR* pEncodeInfo)
{
//Not a CREATE or DESTROY function
}
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetEvent2KHR(
VkCommandBuffer commandBuffer,
VkEvent event,
@@ -4164,7 +3691,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetEvent2KHR(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdResetEvent2KHR(
VkCommandBuffer commandBuffer,
VkEvent event,
@@ -4172,7 +3698,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdResetEvent2KHR(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdWaitEvents2KHR(
VkCommandBuffer commandBuffer,
uint32_t eventCount,
@@ -4181,14 +3706,12 @@ static VKAPI_ATTR void VKAPI_CALL CmdWaitEvents2KHR(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdPipelineBarrier2KHR(
VkCommandBuffer commandBuffer,
const VkDependencyInfo* pDependencyInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdWriteTimestamp2KHR(
VkCommandBuffer commandBuffer,
VkPipelineStageFlags2 stage,
@@ -4197,7 +3720,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdWriteTimestamp2KHR(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR VkResult VKAPI_CALL QueueSubmit2KHR(
VkQueue queue,
uint32_t submitCount,
@@ -4207,66 +3729,48 @@ static VKAPI_ATTR VkResult VKAPI_CALL QueueSubmit2KHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdCopyBuffer2KHR(
VkCommandBuffer commandBuffer,
const VkCopyBufferInfo2* pCopyBufferInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdCopyImage2KHR(
VkCommandBuffer commandBuffer,
const VkCopyImageInfo2* pCopyImageInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdCopyBufferToImage2KHR(
VkCommandBuffer commandBuffer,
const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdCopyImageToBuffer2KHR(
VkCommandBuffer commandBuffer,
const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBlitImage2KHR(
VkCommandBuffer commandBuffer,
const VkBlitImageInfo2* pBlitImageInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdResolveImage2KHR(
VkCommandBuffer commandBuffer,
const VkResolveImageInfo2* pResolveImageInfo)
{
//Not a CREATE or DESTROY function
}
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdTraceRaysIndirect2KHR(
VkCommandBuffer commandBuffer,
VkDeviceAddress indirectDeviceAddress)
{
//Not a CREATE or DESTROY function
}
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL GetDeviceBufferMemoryRequirementsKHR(
VkDevice device,
const VkDeviceBufferMemoryRequirements* pInfo,
@@ -4274,7 +3778,6 @@ static VKAPI_ATTR void VKAPI_CALL GetDeviceBufferMemoryRequirementsKHR(
{
GetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements);
}
-
static VKAPI_ATTR void VKAPI_CALL GetDeviceImageMemoryRequirementsKHR(
VkDevice device,
const VkDeviceImageMemoryRequirements* pInfo,
@@ -4282,7 +3785,6 @@ static VKAPI_ATTR void VKAPI_CALL GetDeviceImageMemoryRequirementsKHR(
{
GetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements);
}
-
static VKAPI_ATTR void VKAPI_CALL GetDeviceImageSparseMemoryRequirementsKHR(
VkDevice device,
const VkDeviceImageMemoryRequirements* pInfo,
@@ -4291,10 +3793,6 @@ static VKAPI_ATTR void VKAPI_CALL GetDeviceImageSparseMemoryRequirementsKHR(
{
//Not a CREATE or DESTROY function
}
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdBindIndexBuffer2KHR(
VkCommandBuffer commandBuffer,
VkBuffer buffer,
@@ -4304,7 +3802,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdBindIndexBuffer2KHR(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL GetRenderingAreaGranularityKHR(
VkDevice device,
const VkRenderingAreaInfo* pRenderingAreaInfo,
@@ -4312,7 +3809,6 @@ static VKAPI_ATTR void VKAPI_CALL GetRenderingAreaGranularityKHR(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL GetDeviceImageSubresourceLayoutKHR(
VkDevice device,
const VkDeviceImageSubresourceInfo* pInfo,
@@ -4320,7 +3816,6 @@ static VKAPI_ATTR void VKAPI_CALL GetDeviceImageSubresourceLayoutKHR(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL GetImageSubresourceLayout2KHR(
VkDevice device,
VkImage image,
@@ -4329,9 +3824,6 @@ static VKAPI_ATTR void VKAPI_CALL GetImageSubresourceLayout2KHR(
{
//Not a CREATE or DESTROY function
}
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL WaitForPresent2KHR(
VkDevice device,
VkSwapchainKHR swapchain,
@@ -4340,9 +3832,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL WaitForPresent2KHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreatePipelineBinariesKHR(
VkDevice device,
const VkPipelineBinaryCreateInfoKHR* pCreateInfo,
@@ -4355,7 +3844,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreatePipelineBinariesKHR(
}
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyPipelineBinaryKHR(
VkDevice device,
VkPipelineBinaryKHR pipelineBinary,
@@ -4363,7 +3851,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyPipelineBinaryKHR(
{
//Destroy object
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPipelineKeyKHR(
VkDevice device,
const VkPipelineCreateInfoKHR* pPipelineCreateInfo,
@@ -4372,7 +3859,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPipelineKeyKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPipelineBinaryDataKHR(
VkDevice device,
const VkPipelineBinaryDataInfoKHR* pInfo,
@@ -4383,7 +3869,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPipelineBinaryDataKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL ReleaseCapturedPipelineDataKHR(
VkDevice device,
const VkReleaseCapturedPipelineDataInfoKHR* pInfo,
@@ -4392,9 +3877,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL ReleaseCapturedPipelineDataKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL ReleaseSwapchainImagesKHR(
VkDevice device,
const VkReleaseSwapchainImagesInfoKHR* pReleaseInfo)
@@ -4402,8 +3884,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL ReleaseSwapchainImagesKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCooperativeMatrixPropertiesKHR(
VkPhysicalDevice physicalDevice,
uint32_t* pPropertyCount,
@@ -4428,18 +3908,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCooperativeMatrixProperti
}
return VK_SUCCESS;
}
-
-
-
-
-
-
-
-
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetLineStippleKHR(
VkCommandBuffer commandBuffer,
uint32_t lineStippleFactor,
@@ -4447,8 +3915,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetLineStippleKHR(
{
//Not a CREATE or DESTROY function
}
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCalibrateableTimeDomainsKHR(
VkPhysicalDevice physicalDevice,
uint32_t* pTimeDomainCount,
@@ -4462,7 +3928,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCalibrateableTimeDomainsK
}
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetCalibratedTimestampsKHR(
VkDevice device,
uint32_t timestampCount,
@@ -4473,77 +3938,54 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetCalibratedTimestampsKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdBindDescriptorSets2KHR(
VkCommandBuffer commandBuffer,
const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdPushConstants2KHR(
VkCommandBuffer commandBuffer,
const VkPushConstantsInfo* pPushConstantsInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdPushDescriptorSet2KHR(
VkCommandBuffer commandBuffer,
const VkPushDescriptorSetInfo* pPushDescriptorSetInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdPushDescriptorSetWithTemplate2KHR(
VkCommandBuffer commandBuffer,
const VkPushDescriptorSetWithTemplateInfo* pPushDescriptorSetWithTemplateInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetDescriptorBufferOffsets2EXT(
VkCommandBuffer commandBuffer,
const VkSetDescriptorBufferOffsetsInfoEXT* pSetDescriptorBufferOffsetsInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBindDescriptorBufferEmbeddedSamplers2EXT(
VkCommandBuffer commandBuffer,
const VkBindDescriptorBufferEmbeddedSamplersInfoEXT* pBindDescriptorBufferEmbeddedSamplersInfo)
{
//Not a CREATE or DESTROY function
}
-
-
static VKAPI_ATTR void VKAPI_CALL CmdCopyMemoryIndirectKHR(
VkCommandBuffer commandBuffer,
const VkCopyMemoryIndirectInfoKHR* pCopyMemoryIndirectInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdCopyMemoryToImageIndirectKHR(
VkCommandBuffer commandBuffer,
const VkCopyMemoryToImageIndirectInfoKHR* pCopyMemoryToImageIndirectInfo)
{
//Not a CREATE or DESTROY function
}
-
-
-
-
-
-
-
-
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateDebugReportCallbackEXT(
VkInstance instance,
const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
@@ -4554,7 +3996,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateDebugReportCallbackEXT(
*pCallback = (VkDebugReportCallbackEXT)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyDebugReportCallbackEXT(
VkInstance instance,
VkDebugReportCallbackEXT callback,
@@ -4562,7 +4003,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyDebugReportCallbackEXT(
{
//Destroy object
}
-
static VKAPI_ATTR void VKAPI_CALL DebugReportMessageEXT(
VkInstance instance,
VkDebugReportFlagsEXT flags,
@@ -4575,14 +4015,6 @@ static VKAPI_ATTR void VKAPI_CALL DebugReportMessageEXT(
{
//Not a CREATE or DESTROY function
}
-
-
-
-
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL DebugMarkerSetObjectTagEXT(
VkDevice device,
const VkDebugMarkerObjectTagInfoEXT* pTagInfo)
@@ -4590,7 +4022,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL DebugMarkerSetObjectTagEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL DebugMarkerSetObjectNameEXT(
VkDevice device,
const VkDebugMarkerObjectNameInfoEXT* pNameInfo)
@@ -4598,30 +4029,23 @@ static VKAPI_ATTR VkResult VKAPI_CALL DebugMarkerSetObjectNameEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL CmdDebugMarkerBeginEXT(
VkCommandBuffer commandBuffer,
const VkDebugMarkerMarkerInfoEXT* pMarkerInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdDebugMarkerEndEXT(
VkCommandBuffer commandBuffer)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdDebugMarkerInsertEXT(
VkCommandBuffer commandBuffer,
const VkDebugMarkerMarkerInfoEXT* pMarkerInfo)
{
//Not a CREATE or DESTROY function
}
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdBindTransformFeedbackBuffersEXT(
VkCommandBuffer commandBuffer,
uint32_t firstBinding,
@@ -4632,7 +4056,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdBindTransformFeedbackBuffersEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBeginTransformFeedbackEXT(
VkCommandBuffer commandBuffer,
uint32_t firstCounterBuffer,
@@ -4642,7 +4065,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdBeginTransformFeedbackEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdEndTransformFeedbackEXT(
VkCommandBuffer commandBuffer,
uint32_t firstCounterBuffer,
@@ -4652,7 +4074,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdEndTransformFeedbackEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBeginQueryIndexedEXT(
VkCommandBuffer commandBuffer,
VkQueryPool queryPool,
@@ -4662,7 +4083,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdBeginQueryIndexedEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdEndQueryIndexedEXT(
VkCommandBuffer commandBuffer,
VkQueryPool queryPool,
@@ -4671,7 +4091,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdEndQueryIndexedEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdDrawIndirectByteCountEXT(
VkCommandBuffer commandBuffer,
uint32_t instanceCount,
@@ -4683,8 +4102,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDrawIndirectByteCountEXT(
{
//Not a CREATE or DESTROY function
}
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateCuModuleNVX(
VkDevice device,
const VkCuModuleCreateInfoNVX* pCreateInfo,
@@ -4695,7 +4112,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateCuModuleNVX(
*pModule = (VkCuModuleNVX)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateCuFunctionNVX(
VkDevice device,
const VkCuFunctionCreateInfoNVX* pCreateInfo,
@@ -4706,7 +4122,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateCuFunctionNVX(
*pFunction = (VkCuFunctionNVX)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyCuModuleNVX(
VkDevice device,
VkCuModuleNVX module,
@@ -4714,7 +4129,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyCuModuleNVX(
{
//Destroy object
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyCuFunctionNVX(
VkDevice device,
VkCuFunctionNVX function,
@@ -4722,15 +4136,12 @@ static VKAPI_ATTR void VKAPI_CALL DestroyCuFunctionNVX(
{
//Destroy object
}
-
static VKAPI_ATTR void VKAPI_CALL CmdCuLaunchKernelNVX(
VkCommandBuffer commandBuffer,
const VkCuLaunchInfoNVX* pLaunchInfo)
{
//Not a CREATE or DESTROY function
}
-
-
static VKAPI_ATTR uint32_t VKAPI_CALL GetImageViewHandleNVX(
VkDevice device,
const VkImageViewHandleInfoNVX* pInfo)
@@ -4738,7 +4149,6 @@ static VKAPI_ATTR uint32_t VKAPI_CALL GetImageViewHandleNVX(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR uint64_t VKAPI_CALL GetImageViewHandle64NVX(
VkDevice device,
const VkImageViewHandleInfoNVX* pInfo)
@@ -4746,7 +4156,6 @@ static VKAPI_ATTR uint64_t VKAPI_CALL GetImageViewHandle64NVX(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetImageViewAddressNVX(
VkDevice device,
VkImageView imageView,
@@ -4755,8 +4164,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetImageViewAddressNVX(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
static VKAPI_ATTR void VKAPI_CALL CmdDrawIndirectCountAMD(
VkCommandBuffer commandBuffer,
VkBuffer buffer,
@@ -4768,7 +4175,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDrawIndirectCountAMD(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdDrawIndexedIndirectCountAMD(
VkCommandBuffer commandBuffer,
VkBuffer buffer,
@@ -4780,12 +4186,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDrawIndexedIndirectCountAMD(
{
//Not a CREATE or DESTROY function
}
-
-
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetShaderInfoAMD(
VkDevice device,
VkPipeline pipeline,
@@ -4797,10 +4197,7 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetShaderInfoAMD(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
#ifdef VK_USE_PLATFORM_GGP
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateStreamDescriptorSurfaceGGP(
VkInstance instance,
const VkStreamDescriptorSurfaceCreateInfoGGP* pCreateInfo,
@@ -4812,10 +4209,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateStreamDescriptorSurfaceGGP(
return VK_SUCCESS;
}
#endif /* VK_USE_PLATFORM_GGP */
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceExternalImageFormatPropertiesNV(
VkPhysicalDevice physicalDevice,
VkFormat format,
@@ -4829,10 +4222,7 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceExternalImageFormatProper
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
#ifdef VK_USE_PLATFORM_WIN32_KHR
-
static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryWin32HandleNV(
VkDevice device,
VkDeviceMemory memory,
@@ -4844,12 +4234,7 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryWin32HandleNV(
}
#endif /* VK_USE_PLATFORM_WIN32_KHR */
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-#endif /* VK_USE_PLATFORM_WIN32_KHR */
-
-
#ifdef VK_USE_PLATFORM_VI_NN
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateViSurfaceNN(
VkInstance instance,
const VkViSurfaceCreateInfoNN* pCreateInfo,
@@ -4861,27 +4246,17 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateViSurfaceNN(
return VK_SUCCESS;
}
#endif /* VK_USE_PLATFORM_VI_NN */
-
-
-
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdBeginConditionalRenderingEXT(
VkCommandBuffer commandBuffer,
const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdEndConditionalRenderingEXT(
VkCommandBuffer commandBuffer)
{
//Not a CREATE or DESTROY function
}
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetViewportWScalingNV(
VkCommandBuffer commandBuffer,
uint32_t firstViewport,
@@ -4890,8 +4265,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetViewportWScalingNV(
{
//Not a CREATE or DESTROY function
}
-
-
static VKAPI_ATTR VkResult VKAPI_CALL ReleaseDisplayEXT(
VkPhysicalDevice physicalDevice,
VkDisplayKHR display)
@@ -4899,9 +4272,7 @@ static VKAPI_ATTR VkResult VKAPI_CALL ReleaseDisplayEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
-
static VKAPI_ATTR VkResult VKAPI_CALL AcquireXlibDisplayEXT(
VkPhysicalDevice physicalDevice,
Display* dpy,
@@ -4910,7 +4281,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL AcquireXlibDisplayEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetRandROutputDisplayEXT(
VkPhysicalDevice physicalDevice,
Display* dpy,
@@ -4921,8 +4291,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetRandROutputDisplayEXT(
return VK_SUCCESS;
}
#endif /* VK_USE_PLATFORM_XLIB_XRANDR_EXT */
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceCapabilities2EXT(
VkPhysicalDevice physicalDevice,
VkSurfaceKHR surface,
@@ -4931,8 +4299,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceCapabilities2EXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
static VKAPI_ATTR VkResult VKAPI_CALL DisplayPowerControlEXT(
VkDevice device,
VkDisplayKHR display,
@@ -4941,7 +4307,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL DisplayPowerControlEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL RegisterDeviceEventEXT(
VkDevice device,
const VkDeviceEventInfoEXT* pDeviceEventInfo,
@@ -4951,7 +4316,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL RegisterDeviceEventEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL RegisterDisplayEventEXT(
VkDevice device,
VkDisplayKHR display,
@@ -4963,7 +4327,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL RegisterDisplayEventEXT(
*pFence = (VkFence)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetSwapchainCounterEXT(
VkDevice device,
VkSwapchainKHR swapchain,
@@ -4973,8 +4336,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetSwapchainCounterEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetRefreshCycleDurationGOOGLE(
VkDevice device,
VkSwapchainKHR swapchain,
@@ -4983,7 +4344,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetRefreshCycleDurationGOOGLE(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPastPresentationTimingGOOGLE(
VkDevice device,
VkSwapchainKHR swapchain,
@@ -4993,13 +4353,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPastPresentationTimingGOOGLE(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
-
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetDiscardRectangleEXT(
VkCommandBuffer commandBuffer,
uint32_t firstDiscardRectangle,
@@ -5008,25 +4361,18 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetDiscardRectangleEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetDiscardRectangleEnableEXT(
VkCommandBuffer commandBuffer,
VkBool32 discardRectangleEnable)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetDiscardRectangleModeEXT(
VkCommandBuffer commandBuffer,
VkDiscardRectangleModeEXT discardRectangleMode)
{
//Not a CREATE or DESTROY function
}
-
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL SetHdrMetadataEXT(
VkDevice device,
uint32_t swapchainCount,
@@ -5035,10 +4381,7 @@ static VKAPI_ATTR void VKAPI_CALL SetHdrMetadataEXT(
{
//Not a CREATE or DESTROY function
}
-
-
#ifdef VK_USE_PLATFORM_IOS_MVK
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateIOSSurfaceMVK(
VkInstance instance,
const VkIOSSurfaceCreateInfoMVK* pCreateInfo,
@@ -5052,7 +4395,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateIOSSurfaceMVK(
#endif /* VK_USE_PLATFORM_IOS_MVK */
#ifdef VK_USE_PLATFORM_MACOS_MVK
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateMacOSSurfaceMVK(
VkInstance instance,
const VkMacOSSurfaceCreateInfoMVK* pCreateInfo,
@@ -5064,10 +4406,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateMacOSSurfaceMVK(
return VK_SUCCESS;
}
#endif /* VK_USE_PLATFORM_MACOS_MVK */
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL SetDebugUtilsObjectNameEXT(
VkDevice device,
const VkDebugUtilsObjectNameInfoEXT* pNameInfo)
@@ -5075,7 +4413,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL SetDebugUtilsObjectNameEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL SetDebugUtilsObjectTagEXT(
VkDevice device,
const VkDebugUtilsObjectTagInfoEXT* pTagInfo)
@@ -5083,47 +4420,40 @@ static VKAPI_ATTR VkResult VKAPI_CALL SetDebugUtilsObjectTagEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL QueueBeginDebugUtilsLabelEXT(
VkQueue queue,
const VkDebugUtilsLabelEXT* pLabelInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL QueueEndDebugUtilsLabelEXT(
VkQueue queue)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL QueueInsertDebugUtilsLabelEXT(
VkQueue queue,
const VkDebugUtilsLabelEXT* pLabelInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBeginDebugUtilsLabelEXT(
VkCommandBuffer commandBuffer,
const VkDebugUtilsLabelEXT* pLabelInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdEndDebugUtilsLabelEXT(
VkCommandBuffer commandBuffer)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdInsertDebugUtilsLabelEXT(
VkCommandBuffer commandBuffer,
const VkDebugUtilsLabelEXT* pLabelInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateDebugUtilsMessengerEXT(
VkInstance instance,
const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
@@ -5134,7 +4464,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateDebugUtilsMessengerEXT(
*pMessenger = (VkDebugUtilsMessengerEXT)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyDebugUtilsMessengerEXT(
VkInstance instance,
VkDebugUtilsMessengerEXT messenger,
@@ -5142,7 +4471,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyDebugUtilsMessengerEXT(
{
//Destroy object
}
-
static VKAPI_ATTR void VKAPI_CALL SubmitDebugUtilsMessageEXT(
VkInstance instance,
VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
@@ -5151,9 +4479,7 @@ static VKAPI_ATTR void VKAPI_CALL SubmitDebugUtilsMessageEXT(
{
//Not a CREATE or DESTROY function
}
-
#ifdef VK_USE_PLATFORM_ANDROID_KHR
-
static VKAPI_ATTR VkResult VKAPI_CALL GetAndroidHardwareBufferPropertiesANDROID(
VkDevice device,
const struct AHardwareBuffer* buffer,
@@ -5175,7 +4501,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetAndroidHardwareBufferPropertiesANDROID(
}
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryAndroidHardwareBufferANDROID(
VkDevice device,
const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo,
@@ -5186,10 +4511,7 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryAndroidHardwareBufferANDROID(
}
#endif /* VK_USE_PLATFORM_ANDROID_KHR */
-
-
#ifdef VK_ENABLE_BETA_EXTENSIONS
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateExecutionGraphPipelinesAMDX(
VkDevice device,
VkPipelineCache pipelineCache,
@@ -5204,7 +4526,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateExecutionGraphPipelinesAMDX(
}
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetExecutionGraphPipelineScratchSizeAMDX(
VkDevice device,
VkPipeline executionGraph,
@@ -5213,7 +4534,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetExecutionGraphPipelineScratchSizeAMDX(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetExecutionGraphPipelineNodeIndexAMDX(
VkDevice device,
VkPipeline executionGraph,
@@ -5223,7 +4543,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetExecutionGraphPipelineNodeIndexAMDX(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL CmdInitializeGraphScratchMemoryAMDX(
VkCommandBuffer commandBuffer,
VkPipeline executionGraph,
@@ -5232,7 +4551,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdInitializeGraphScratchMemoryAMDX(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdDispatchGraphAMDX(
VkCommandBuffer commandBuffer,
VkDeviceAddress scratch,
@@ -5241,7 +4559,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDispatchGraphAMDX(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdDispatchGraphIndirectAMDX(
VkCommandBuffer commandBuffer,
VkDeviceAddress scratch,
@@ -5250,7 +4567,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDispatchGraphIndirectAMDX(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdDispatchGraphIndirectCountAMDX(
VkCommandBuffer commandBuffer,
VkDeviceAddress scratch,
@@ -5260,19 +4576,12 @@ static VKAPI_ATTR void VKAPI_CALL CmdDispatchGraphIndirectCountAMDX(
//Not a CREATE or DESTROY function
}
#endif /* VK_ENABLE_BETA_EXTENSIONS */
-
-
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetSampleLocationsEXT(
VkCommandBuffer commandBuffer,
const VkSampleLocationsInfoEXT* pSampleLocationsInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceMultisamplePropertiesEXT(
VkPhysicalDevice physicalDevice,
VkSampleCountFlagBits samples,
@@ -5283,14 +4592,6 @@ static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceMultisamplePropertiesEXT(
pMultisampleProperties->maxSampleLocationGridSize = {32, 32};
}
}
-
-
-
-
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetImageDrmFormatModifierPropertiesEXT(
VkDevice device,
VkImage image,
@@ -5299,8 +4600,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetImageDrmFormatModifierPropertiesEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateValidationCacheEXT(
VkDevice device,
const VkValidationCacheCreateInfoEXT* pCreateInfo,
@@ -5311,7 +4610,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateValidationCacheEXT(
*pValidationCache = (VkValidationCacheEXT)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyValidationCacheEXT(
VkDevice device,
VkValidationCacheEXT validationCache,
@@ -5319,7 +4617,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyValidationCacheEXT(
{
//Destroy object
}
-
static VKAPI_ATTR VkResult VKAPI_CALL MergeValidationCachesEXT(
VkDevice device,
VkValidationCacheEXT dstCache,
@@ -5329,7 +4626,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL MergeValidationCachesEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetValidationCacheDataEXT(
VkDevice device,
VkValidationCacheEXT validationCache,
@@ -5339,10 +4635,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetValidationCacheDataEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdBindShadingRateImageNV(
VkCommandBuffer commandBuffer,
VkImageView imageView,
@@ -5350,7 +4642,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdBindShadingRateImageNV(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetViewportShadingRatePaletteNV(
VkCommandBuffer commandBuffer,
uint32_t firstViewport,
@@ -5359,7 +4650,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetViewportShadingRatePaletteNV(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetCoarseSampleOrderNV(
VkCommandBuffer commandBuffer,
VkCoarseSampleOrderTypeNV sampleOrderType,
@@ -5368,8 +4658,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetCoarseSampleOrderNV(
{
//Not a CREATE or DESTROY function
}
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateAccelerationStructureNV(
VkDevice device,
const VkAccelerationStructureCreateInfoNV* pCreateInfo,
@@ -5380,7 +4668,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateAccelerationStructureNV(
*pAccelerationStructure = (VkAccelerationStructureNV)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyAccelerationStructureNV(
VkDevice device,
VkAccelerationStructureNV accelerationStructure,
@@ -5388,7 +4675,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyAccelerationStructureNV(
{
//Destroy object
}
-
static VKAPI_ATTR void VKAPI_CALL GetAccelerationStructureMemoryRequirementsNV(
VkDevice device,
const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
@@ -5399,7 +4685,6 @@ static VKAPI_ATTR void VKAPI_CALL GetAccelerationStructureMemoryRequirementsNV(
pMemoryRequirements->memoryRequirements.alignment = 1;
pMemoryRequirements->memoryRequirements.memoryTypeBits = 0xFFFF;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL BindAccelerationStructureMemoryNV(
VkDevice device,
uint32_t bindInfoCount,
@@ -5408,7 +4693,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL BindAccelerationStructureMemoryNV(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBuildAccelerationStructureNV(
VkCommandBuffer commandBuffer,
const VkAccelerationStructureInfoNV* pInfo,
@@ -5422,7 +4706,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdBuildAccelerationStructureNV(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdCopyAccelerationStructureNV(
VkCommandBuffer commandBuffer,
VkAccelerationStructureNV dst,
@@ -5431,7 +4714,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdCopyAccelerationStructureNV(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdTraceRaysNV(
VkCommandBuffer commandBuffer,
VkBuffer raygenShaderBindingTableBuffer,
@@ -5451,7 +4733,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdTraceRaysNV(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateRayTracingPipelinesNV(
VkDevice device,
VkPipelineCache pipelineCache,
@@ -5466,7 +4747,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateRayTracingPipelinesNV(
}
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetRayTracingShaderGroupHandlesKHR(
VkDevice device,
VkPipeline pipeline,
@@ -5478,7 +4758,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetRayTracingShaderGroupHandlesKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetRayTracingShaderGroupHandlesNV(
VkDevice device,
VkPipeline pipeline,
@@ -5490,7 +4769,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetRayTracingShaderGroupHandlesNV(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetAccelerationStructureHandleNV(
VkDevice device,
VkAccelerationStructureNV accelerationStructure,
@@ -5500,7 +4778,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetAccelerationStructureHandleNV(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL CmdWriteAccelerationStructuresPropertiesNV(
VkCommandBuffer commandBuffer,
uint32_t accelerationStructureCount,
@@ -5511,7 +4788,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdWriteAccelerationStructuresPropertiesNV(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CompileDeferredNV(
VkDevice device,
VkPipeline pipeline,
@@ -5520,12 +4796,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CompileDeferredNV(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryHostPointerPropertiesEXT(
VkDevice device,
VkExternalMemoryHandleTypeFlagBits handleType,
@@ -5535,8 +4805,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryHostPointerPropertiesEXT(
pMemoryHostPointerProperties->memoryTypeBits = 1 << 5; // DEVICE_LOCAL only type
return VK_SUCCESS;
}
-
-
static VKAPI_ATTR void VKAPI_CALL CmdWriteBufferMarkerAMD(
VkCommandBuffer commandBuffer,
VkPipelineStageFlagBits pipelineStage,
@@ -5546,7 +4814,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdWriteBufferMarkerAMD(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdWriteBufferMarker2AMD(
VkCommandBuffer commandBuffer,
VkPipelineStageFlags2 stage,
@@ -5556,9 +4823,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdWriteBufferMarker2AMD(
{
//Not a CREATE or DESTROY function
}
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCalibrateableTimeDomainsEXT(
VkPhysicalDevice physicalDevice,
uint32_t* pTimeDomainCount,
@@ -5572,7 +4836,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCalibrateableTimeDomainsE
}
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetCalibratedTimestampsEXT(
VkDevice device,
uint32_t timestampCount,
@@ -5583,17 +4846,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetCalibratedTimestampsEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
-
-
-#ifdef VK_USE_PLATFORM_GGP
-#endif /* VK_USE_PLATFORM_GGP */
-
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksNV(
VkCommandBuffer commandBuffer,
uint32_t taskCount,
@@ -5601,7 +4853,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksNV(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksIndirectNV(
VkCommandBuffer commandBuffer,
VkBuffer buffer,
@@ -5611,7 +4862,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksIndirectNV(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksIndirectCountNV(
VkCommandBuffer commandBuffer,
VkBuffer buffer,
@@ -5623,10 +4873,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksIndirectCountNV(
{
//Not a CREATE or DESTROY function
}
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetExclusiveScissorEnableNV(
VkCommandBuffer commandBuffer,
uint32_t firstExclusiveScissor,
@@ -5635,7 +4881,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetExclusiveScissorEnableNV(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetExclusiveScissorNV(
VkCommandBuffer commandBuffer,
uint32_t firstExclusiveScissor,
@@ -5644,15 +4889,12 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetExclusiveScissorNV(
{
//Not a CREATE or DESTROY function
}
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetCheckpointNV(
VkCommandBuffer commandBuffer,
const void* pCheckpointMarker)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL GetQueueCheckpointDataNV(
VkQueue queue,
uint32_t* pCheckpointDataCount,
@@ -5660,7 +4902,6 @@ static VKAPI_ATTR void VKAPI_CALL GetQueueCheckpointDataNV(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL GetQueueCheckpointData2NV(
VkQueue queue,
uint32_t* pCheckpointDataCount,
@@ -5668,9 +4909,6 @@ static VKAPI_ATTR void VKAPI_CALL GetQueueCheckpointData2NV(
{
//Not a CREATE or DESTROY function
}
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL InitializePerformanceApiINTEL(
VkDevice device,
const VkInitializePerformanceApiInfoINTEL* pInitializeInfo)
@@ -5678,13 +4916,11 @@ static VKAPI_ATTR VkResult VKAPI_CALL InitializePerformanceApiINTEL(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL UninitializePerformanceApiINTEL(
VkDevice device)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CmdSetPerformanceMarkerINTEL(
VkCommandBuffer commandBuffer,
const VkPerformanceMarkerInfoINTEL* pMarkerInfo)
@@ -5692,7 +4928,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CmdSetPerformanceMarkerINTEL(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CmdSetPerformanceStreamMarkerINTEL(
VkCommandBuffer commandBuffer,
const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo)
@@ -5700,7 +4935,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CmdSetPerformanceStreamMarkerINTEL(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CmdSetPerformanceOverrideINTEL(
VkCommandBuffer commandBuffer,
const VkPerformanceOverrideInfoINTEL* pOverrideInfo)
@@ -5708,7 +4942,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CmdSetPerformanceOverrideINTEL(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL AcquirePerformanceConfigurationINTEL(
VkDevice device,
const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
@@ -5717,7 +4950,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL AcquirePerformanceConfigurationINTEL(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL ReleasePerformanceConfigurationINTEL(
VkDevice device,
VkPerformanceConfigurationINTEL configuration)
@@ -5725,7 +4957,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL ReleasePerformanceConfigurationINTEL(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL QueueSetPerformanceConfigurationINTEL(
VkQueue queue,
VkPerformanceConfigurationINTEL configuration)
@@ -5733,7 +4964,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL QueueSetPerformanceConfigurationINTEL(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPerformanceParameterINTEL(
VkDevice device,
VkPerformanceParameterTypeINTEL parameter,
@@ -5742,9 +4972,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPerformanceParameterINTEL(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
-
static VKAPI_ATTR void VKAPI_CALL SetLocalDimmingAMD(
VkDevice device,
VkSwapchainKHR swapChain,
@@ -5752,9 +4979,7 @@ static VKAPI_ATTR void VKAPI_CALL SetLocalDimmingAMD(
{
//Not a CREATE or DESTROY function
}
-
#ifdef VK_USE_PLATFORM_FUCHSIA
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateImagePipeSurfaceFUCHSIA(
VkInstance instance,
const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo,
@@ -5768,7 +4993,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateImagePipeSurfaceFUCHSIA(
#endif /* VK_USE_PLATFORM_FUCHSIA */
#ifdef VK_USE_PLATFORM_METAL_EXT
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateMetalSurfaceEXT(
VkInstance instance,
const VkMetalSurfaceCreateInfoEXT* pCreateInfo,
@@ -5780,27 +5004,12 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateMetalSurfaceEXT(
return VK_SUCCESS;
}
#endif /* VK_USE_PLATFORM_METAL_EXT */
-
-
-
-
-
-
-
-
-
-
-
-
-
static VKAPI_ATTR VkDeviceAddress VKAPI_CALL GetBufferDeviceAddressEXT(
VkDevice device,
const VkBufferDeviceAddressInfo* pInfo)
{
return GetBufferDeviceAddress(device, pInfo);
}
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceToolPropertiesEXT(
VkPhysicalDevice physicalDevice,
uint32_t* pToolCount,
@@ -5809,10 +5018,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceToolPropertiesEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCooperativeMatrixPropertiesNV(
VkPhysicalDevice physicalDevice,
uint32_t* pPropertyCount,
@@ -5821,8 +5026,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCooperativeMatrixProperti
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
VkPhysicalDevice physicalDevice,
uint32_t* pCombinationCount,
@@ -5831,12 +5034,7 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSupportedFramebufferMixed
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
-
-
#ifdef VK_USE_PLATFORM_WIN32_KHR
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfacePresentModes2EXT(
VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
@@ -5846,7 +5044,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfacePresentModes2EXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL AcquireFullScreenExclusiveModeEXT(
VkDevice device,
VkSwapchainKHR swapchain)
@@ -5854,7 +5051,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL AcquireFullScreenExclusiveModeEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL ReleaseFullScreenExclusiveModeEXT(
VkDevice device,
VkSwapchainKHR swapchain)
@@ -5862,7 +5058,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL ReleaseFullScreenExclusiveModeEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetDeviceGroupSurfacePresentModes2EXT(
VkDevice device,
const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
@@ -5872,8 +5067,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetDeviceGroupSurfacePresentModes2EXT(
return VK_SUCCESS;
}
#endif /* VK_USE_PLATFORM_WIN32_KHR */
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateHeadlessSurfaceEXT(
VkInstance instance,
const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
@@ -5884,8 +5077,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateHeadlessSurfaceEXT(
*pSurface = (VkSurfaceKHR)global_unique_handle++;
return VK_SUCCESS;
}
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetLineStippleEXT(
VkCommandBuffer commandBuffer,
uint32_t lineStippleFactor,
@@ -5893,9 +5084,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetLineStippleEXT(
{
//Not a CREATE or DESTROY function
}
-
-
-
static VKAPI_ATTR void VKAPI_CALL ResetQueryPoolEXT(
VkDevice device,
VkQueryPool queryPool,
@@ -5904,30 +5092,24 @@ static VKAPI_ATTR void VKAPI_CALL ResetQueryPoolEXT(
{
//Not a CREATE or DESTROY function
}
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetCullModeEXT(
VkCommandBuffer commandBuffer,
VkCullModeFlags cullMode)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetFrontFaceEXT(
VkCommandBuffer commandBuffer,
VkFrontFace frontFace)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetPrimitiveTopologyEXT(
VkCommandBuffer commandBuffer,
VkPrimitiveTopology primitiveTopology)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetViewportWithCountEXT(
VkCommandBuffer commandBuffer,
uint32_t viewportCount,
@@ -5935,7 +5117,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetViewportWithCountEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetScissorWithCountEXT(
VkCommandBuffer commandBuffer,
uint32_t scissorCount,
@@ -5943,7 +5124,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetScissorWithCountEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBindVertexBuffers2EXT(
VkCommandBuffer commandBuffer,
uint32_t firstBinding,
@@ -5955,42 +5135,36 @@ static VKAPI_ATTR void VKAPI_CALL CmdBindVertexBuffers2EXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetDepthTestEnableEXT(
VkCommandBuffer commandBuffer,
VkBool32 depthTestEnable)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetDepthWriteEnableEXT(
VkCommandBuffer commandBuffer,
VkBool32 depthWriteEnable)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetDepthCompareOpEXT(
VkCommandBuffer commandBuffer,
VkCompareOp depthCompareOp)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetDepthBoundsTestEnableEXT(
VkCommandBuffer commandBuffer,
VkBool32 depthBoundsTestEnable)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetStencilTestEnableEXT(
VkCommandBuffer commandBuffer,
VkBool32 stencilTestEnable)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetStencilOpEXT(
VkCommandBuffer commandBuffer,
VkStencilFaceFlags faceMask,
@@ -6001,8 +5175,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetStencilOpEXT(
{
//Not a CREATE or DESTROY function
}
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CopyMemoryToImageEXT(
VkDevice device,
const VkCopyMemoryToImageInfo* pCopyMemoryToImageInfo)
@@ -6010,7 +5182,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CopyMemoryToImageEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CopyImageToMemoryEXT(
VkDevice device,
const VkCopyImageToMemoryInfo* pCopyImageToMemoryInfo)
@@ -6018,7 +5189,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CopyImageToMemoryEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CopyImageToImageEXT(
VkDevice device,
const VkCopyImageToImageInfo* pCopyImageToImageInfo)
@@ -6026,7 +5196,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CopyImageToImageEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL TransitionImageLayoutEXT(
VkDevice device,
uint32_t transitionCount,
@@ -6035,7 +5204,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL TransitionImageLayoutEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL GetImageSubresourceLayout2EXT(
VkDevice device,
VkImage image,
@@ -6044,11 +5212,6 @@ static VKAPI_ATTR void VKAPI_CALL GetImageSubresourceLayout2EXT(
{
//Not a CREATE or DESTROY function
}
-
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL ReleaseSwapchainImagesEXT(
VkDevice device,
const VkReleaseSwapchainImagesInfoKHR* pReleaseInfo)
@@ -6056,9 +5219,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL ReleaseSwapchainImagesEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
-
static VKAPI_ATTR void VKAPI_CALL GetGeneratedCommandsMemoryRequirementsNV(
VkDevice device,
const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,
@@ -6066,14 +5226,12 @@ static VKAPI_ATTR void VKAPI_CALL GetGeneratedCommandsMemoryRequirementsNV(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdPreprocessGeneratedCommandsNV(
VkCommandBuffer commandBuffer,
const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdExecuteGeneratedCommandsNV(
VkCommandBuffer commandBuffer,
VkBool32 isPreprocessed,
@@ -6081,7 +5239,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdExecuteGeneratedCommandsNV(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBindPipelineShaderGroupNV(
VkCommandBuffer commandBuffer,
VkPipelineBindPoint pipelineBindPoint,
@@ -6090,7 +5247,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdBindPipelineShaderGroupNV(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateIndirectCommandsLayoutNV(
VkDevice device,
const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo,
@@ -6101,7 +5257,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateIndirectCommandsLayoutNV(
*pIndirectCommandsLayout = (VkIndirectCommandsLayoutNV)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyIndirectCommandsLayoutNV(
VkDevice device,
VkIndirectCommandsLayoutNV indirectCommandsLayout,
@@ -6109,20 +5264,12 @@ static VKAPI_ATTR void VKAPI_CALL DestroyIndirectCommandsLayoutNV(
{
//Destroy object
}
-
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetDepthBias2EXT(
VkCommandBuffer commandBuffer,
const VkDepthBiasInfoEXT* pDepthBiasInfo)
{
//Not a CREATE or DESTROY function
}
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL AcquireDrmDisplayEXT(
VkPhysicalDevice physicalDevice,
int32_t drmFd,
@@ -6131,7 +5278,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL AcquireDrmDisplayEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetDrmDisplayEXT(
VkPhysicalDevice physicalDevice,
int32_t drmFd,
@@ -6141,12 +5287,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetDrmDisplayEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreatePrivateDataSlotEXT(
VkDevice device,
const VkPrivateDataSlotCreateInfo* pCreateInfo,
@@ -6157,7 +5297,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreatePrivateDataSlotEXT(
*pPrivateDataSlot = (VkPrivateDataSlot)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyPrivateDataSlotEXT(
VkDevice device,
VkPrivateDataSlot privateDataSlot,
@@ -6165,7 +5304,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyPrivateDataSlotEXT(
{
//Destroy object
}
-
static VKAPI_ATTR VkResult VKAPI_CALL SetPrivateDataEXT(
VkDevice device,
VkObjectType objectType,
@@ -6176,7 +5314,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL SetPrivateDataEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL GetPrivateDataEXT(
VkDevice device,
VkObjectType objectType,
@@ -6186,12 +5323,7 @@ static VKAPI_ATTR void VKAPI_CALL GetPrivateDataEXT(
{
//Not a CREATE or DESTROY function
}
-
-
-
-
#ifdef VK_ENABLE_BETA_EXTENSIONS
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateCudaModuleNV(
VkDevice device,
const VkCudaModuleCreateInfoNV* pCreateInfo,
@@ -6202,7 +5334,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateCudaModuleNV(
*pModule = (VkCudaModuleNV)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetCudaModuleCacheNV(
VkDevice device,
VkCudaModuleNV module,
@@ -6212,7 +5343,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetCudaModuleCacheNV(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateCudaFunctionNV(
VkDevice device,
const VkCudaFunctionCreateInfoNV* pCreateInfo,
@@ -6223,7 +5353,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateCudaFunctionNV(
*pFunction = (VkCudaFunctionNV)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyCudaModuleNV(
VkDevice device,
VkCudaModuleNV module,
@@ -6231,7 +5360,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyCudaModuleNV(
{
//Destroy object
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyCudaFunctionNV(
VkDevice device,
VkCudaFunctionNV function,
@@ -6239,7 +5367,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyCudaFunctionNV(
{
//Destroy object
}
-
static VKAPI_ATTR void VKAPI_CALL CmdCudaLaunchKernelNV(
VkCommandBuffer commandBuffer,
const VkCudaLaunchInfoNV* pLaunchInfo)
@@ -6247,32 +5374,25 @@ static VKAPI_ATTR void VKAPI_CALL CmdCudaLaunchKernelNV(
//Not a CREATE or DESTROY function
}
#endif /* VK_ENABLE_BETA_EXTENSIONS */
-
-
static VKAPI_ATTR void VKAPI_CALL CmdDispatchTileQCOM(
VkCommandBuffer commandBuffer,
const VkDispatchTileInfoQCOM* pDispatchTileInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBeginPerTileExecutionQCOM(
VkCommandBuffer commandBuffer,
const VkPerTileBeginInfoQCOM* pPerTileBeginInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdEndPerTileExecutionQCOM(
VkCommandBuffer commandBuffer,
const VkPerTileEndInfoQCOM* pPerTileEndInfo)
{
//Not a CREATE or DESTROY function
}
-
-
#ifdef VK_USE_PLATFORM_METAL_EXT
-
static VKAPI_ATTR void VKAPI_CALL ExportMetalObjectsEXT(
VkDevice device,
VkExportMetalObjectsInfoEXT* pMetalObjectsInfo)
@@ -6280,8 +5400,6 @@ static VKAPI_ATTR void VKAPI_CALL ExportMetalObjectsEXT(
//Not a CREATE or DESTROY function
}
#endif /* VK_USE_PLATFORM_METAL_EXT */
-
-
static VKAPI_ATTR void VKAPI_CALL GetDescriptorSetLayoutSizeEXT(
VkDevice device,
VkDescriptorSetLayout layout,
@@ -6290,7 +5408,6 @@ static VKAPI_ATTR void VKAPI_CALL GetDescriptorSetLayoutSizeEXT(
// Need to give something non-zero
*pLayoutSizeInBytes = 4;
}
-
static VKAPI_ATTR void VKAPI_CALL GetDescriptorSetLayoutBindingOffsetEXT(
VkDevice device,
VkDescriptorSetLayout layout,
@@ -6299,7 +5416,6 @@ static VKAPI_ATTR void VKAPI_CALL GetDescriptorSetLayoutBindingOffsetEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL GetDescriptorEXT(
VkDevice device,
const VkDescriptorGetInfoEXT* pDescriptorInfo,
@@ -6308,7 +5424,6 @@ static VKAPI_ATTR void VKAPI_CALL GetDescriptorEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBindDescriptorBuffersEXT(
VkCommandBuffer commandBuffer,
uint32_t bufferCount,
@@ -6316,7 +5431,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdBindDescriptorBuffersEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetDescriptorBufferOffsetsEXT(
VkCommandBuffer commandBuffer,
VkPipelineBindPoint pipelineBindPoint,
@@ -6328,7 +5442,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetDescriptorBufferOffsetsEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBindDescriptorBufferEmbeddedSamplersEXT(
VkCommandBuffer commandBuffer,
VkPipelineBindPoint pipelineBindPoint,
@@ -6337,7 +5450,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdBindDescriptorBufferEmbeddedSamplersEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetBufferOpaqueCaptureDescriptorDataEXT(
VkDevice device,
const VkBufferCaptureDescriptorDataInfoEXT* pInfo,
@@ -6346,7 +5458,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetBufferOpaqueCaptureDescriptorDataEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetImageOpaqueCaptureDescriptorDataEXT(
VkDevice device,
const VkImageCaptureDescriptorDataInfoEXT* pInfo,
@@ -6355,7 +5466,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetImageOpaqueCaptureDescriptorDataEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetImageViewOpaqueCaptureDescriptorDataEXT(
VkDevice device,
const VkImageViewCaptureDescriptorDataInfoEXT* pInfo,
@@ -6364,7 +5474,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetImageViewOpaqueCaptureDescriptorDataEXT
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetSamplerOpaqueCaptureDescriptorDataEXT(
VkDevice device,
const VkSamplerCaptureDescriptorDataInfoEXT* pInfo,
@@ -6373,7 +5482,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetSamplerOpaqueCaptureDescriptorDataEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
VkDevice device,
const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo,
@@ -6382,10 +5490,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetAccelerationStructureOpaqueCaptureDescr
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetFragmentShadingRateEnumNV(
VkCommandBuffer commandBuffer,
VkFragmentShadingRateNV shadingRate,
@@ -6393,16 +5497,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetFragmentShadingRateEnumNV(
{
//Not a CREATE or DESTROY function
}
-
-
-
-
-
-
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetDeviceFaultInfoEXT(
VkDevice device,
VkDeviceFaultCountsEXT* pFaultCounts,
@@ -6411,11 +5505,7 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetDeviceFaultInfoEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
-
#ifdef VK_USE_PLATFORM_WIN32_KHR
-
static VKAPI_ATTR VkResult VKAPI_CALL AcquireWinrtDisplayNV(
VkPhysicalDevice physicalDevice,
VkDisplayKHR display)
@@ -6423,7 +5513,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL AcquireWinrtDisplayNV(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetWinrtDisplayNV(
VkPhysicalDevice physicalDevice,
uint32_t deviceRelativeId,
@@ -6435,7 +5524,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetWinrtDisplayNV(
#endif /* VK_USE_PLATFORM_WIN32_KHR */
#ifdef VK_USE_PLATFORM_DIRECTFB_EXT
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateDirectFBSurfaceEXT(
VkInstance instance,
const VkDirectFBSurfaceCreateInfoEXT* pCreateInfo,
@@ -6446,7 +5534,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateDirectFBSurfaceEXT(
*pSurface = (VkSurfaceKHR)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceDirectFBPresentationSupportEXT(
VkPhysicalDevice physicalDevice,
uint32_t queueFamilyIndex,
@@ -6456,9 +5543,6 @@ static VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceDirectFBPresentationSuppo
return VK_SUCCESS;
}
#endif /* VK_USE_PLATFORM_DIRECTFB_EXT */
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetVertexInputEXT(
VkCommandBuffer commandBuffer,
uint32_t vertexBindingDescriptionCount,
@@ -6468,14 +5552,7 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetVertexInputEXT(
{
//Not a CREATE or DESTROY function
}
-
-
-
-
-
-
#ifdef VK_USE_PLATFORM_FUCHSIA
-
static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryZirconHandleFUCHSIA(
VkDevice device,
const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
@@ -6484,7 +5561,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryZirconHandleFUCHSIA(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryZirconHandlePropertiesFUCHSIA(
VkDevice device,
VkExternalMemoryHandleTypeFlagBits handleType,
@@ -6494,10 +5570,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryZirconHandlePropertiesFUCHSIA(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-#endif /* VK_USE_PLATFORM_FUCHSIA */
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-
static VKAPI_ATTR VkResult VKAPI_CALL ImportSemaphoreZirconHandleFUCHSIA(
VkDevice device,
const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo)
@@ -6505,7 +5577,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL ImportSemaphoreZirconHandleFUCHSIA(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetSemaphoreZirconHandleFUCHSIA(
VkDevice device,
const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
@@ -6514,10 +5585,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetSemaphoreZirconHandleFUCHSIA(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-#endif /* VK_USE_PLATFORM_FUCHSIA */
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateBufferCollectionFUCHSIA(
VkDevice device,
const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo,
@@ -6528,7 +5595,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateBufferCollectionFUCHSIA(
*pCollection = (VkBufferCollectionFUCHSIA)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL SetBufferCollectionImageConstraintsFUCHSIA(
VkDevice device,
VkBufferCollectionFUCHSIA collection,
@@ -6537,7 +5603,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL SetBufferCollectionImageConstraintsFUCHSIA
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL SetBufferCollectionBufferConstraintsFUCHSIA(
VkDevice device,
VkBufferCollectionFUCHSIA collection,
@@ -6546,7 +5611,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL SetBufferCollectionBufferConstraintsFUCHSI
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyBufferCollectionFUCHSIA(
VkDevice device,
VkBufferCollectionFUCHSIA collection,
@@ -6554,7 +5618,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyBufferCollectionFUCHSIA(
{
//Destroy object
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetBufferCollectionPropertiesFUCHSIA(
VkDevice device,
VkBufferCollectionFUCHSIA collection,
@@ -6564,8 +5627,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetBufferCollectionPropertiesFUCHSIA(
return VK_SUCCESS;
}
#endif /* VK_USE_PLATFORM_FUCHSIA */
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(
VkDevice device,
VkRenderPass renderpass,
@@ -6574,14 +5635,11 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetDeviceSubpassShadingMaxWorkgroupSizeHUA
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSubpassShadingHUAWEI(
VkCommandBuffer commandBuffer)
{
//Not a CREATE or DESTROY function
}
-
-
static VKAPI_ATTR void VKAPI_CALL CmdBindInvocationMaskHUAWEI(
VkCommandBuffer commandBuffer,
VkImageView imageView,
@@ -6589,8 +5647,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdBindInvocationMaskHUAWEI(
{
//Not a CREATE or DESTROY function
}
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryRemoteAddressNV(
VkDevice device,
const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo,
@@ -6599,8 +5655,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryRemoteAddressNV(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPipelinePropertiesEXT(
VkDevice device,
const VkPipelineInfoEXT* pPipelineInfo,
@@ -6609,47 +5663,37 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPipelinePropertiesEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetPatchControlPointsEXT(
VkCommandBuffer commandBuffer,
uint32_t patchControlPoints)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetRasterizerDiscardEnableEXT(
VkCommandBuffer commandBuffer,
VkBool32 rasterizerDiscardEnable)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetDepthBiasEnableEXT(
VkCommandBuffer commandBuffer,
VkBool32 depthBiasEnable)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetLogicOpEXT(
VkCommandBuffer commandBuffer,
VkLogicOp logicOp)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetPrimitiveRestartEnableEXT(
VkCommandBuffer commandBuffer,
VkBool32 primitiveRestartEnable)
{
//Not a CREATE or DESTROY function
}
-
#ifdef VK_USE_PLATFORM_SCREEN_QNX
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateScreenSurfaceQNX(
VkInstance instance,
const VkScreenSurfaceCreateInfoQNX* pCreateInfo,
@@ -6660,7 +5704,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateScreenSurfaceQNX(
*pSurface = (VkSurfaceKHR)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceScreenPresentationSupportQNX(
VkPhysicalDevice physicalDevice,
uint32_t queueFamilyIndex,
@@ -6670,8 +5713,6 @@ static VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceScreenPresentationSupport
return VK_SUCCESS;
}
#endif /* VK_USE_PLATFORM_SCREEN_QNX */
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetColorWriteEnableEXT(
VkCommandBuffer commandBuffer,
uint32_t attachmentCount,
@@ -6679,12 +5720,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetColor
{
//Not a CREATE or DESTROY function
}
-
-
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdDrawMultiEXT(
VkCommandBuffer commandBuffer,
uint32_t drawCount,
@@ -6695,7 +5730,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDrawMultiEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdDrawMultiIndexedEXT(
VkCommandBuffer commandBuffer,
uint32_t drawCount,
@@ -6707,10 +5741,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDrawMultiIndexedEXT(
{
//Not a CREATE or DESTROY function
}
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateMicromapEXT(
VkDevice device,
const VkMicromapCreateInfoEXT* pCreateInfo,
@@ -6721,7 +5751,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateMicromapEXT(
*pMicromap = (VkMicromapEXT)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyMicromapEXT(
VkDevice device,
VkMicromapEXT micromap,
@@ -6729,7 +5758,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyMicromapEXT(
{
//Destroy object
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBuildMicromapsEXT(
VkCommandBuffer commandBuffer,
uint32_t infoCount,
@@ -6737,7 +5765,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdBuildMicromapsEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR VkResult VKAPI_CALL BuildMicromapsEXT(
VkDevice device,
VkDeferredOperationKHR deferredOperation,
@@ -6747,7 +5774,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL BuildMicromapsEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CopyMicromapEXT(
VkDevice device,
VkDeferredOperationKHR deferredOperation,
@@ -6756,7 +5782,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CopyMicromapEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CopyMicromapToMemoryEXT(
VkDevice device,
VkDeferredOperationKHR deferredOperation,
@@ -6765,7 +5790,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CopyMicromapToMemoryEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CopyMemoryToMicromapEXT(
VkDevice device,
VkDeferredOperationKHR deferredOperation,
@@ -6774,7 +5798,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CopyMemoryToMicromapEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL WriteMicromapsPropertiesEXT(
VkDevice device,
uint32_t micromapCount,
@@ -6787,28 +5810,24 @@ static VKAPI_ATTR VkResult VKAPI_CALL WriteMicromapsPropertiesEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL CmdCopyMicromapEXT(
VkCommandBuffer commandBuffer,
const VkCopyMicromapInfoEXT* pInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdCopyMicromapToMemoryEXT(
VkCommandBuffer commandBuffer,
const VkCopyMicromapToMemoryInfoEXT* pInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdCopyMemoryToMicromapEXT(
VkCommandBuffer commandBuffer,
const VkCopyMemoryToMicromapInfoEXT* pInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdWriteMicromapsPropertiesEXT(
VkCommandBuffer commandBuffer,
uint32_t micromapCount,
@@ -6819,7 +5838,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdWriteMicromapsPropertiesEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL GetDeviceMicromapCompatibilityEXT(
VkDevice device,
const VkMicromapVersionInfoEXT* pVersionInfo,
@@ -6827,7 +5845,6 @@ static VKAPI_ATTR void VKAPI_CALL GetDeviceMicromapCompatibilityEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL GetMicromapBuildSizesEXT(
VkDevice device,
VkAccelerationStructureBuildTypeKHR buildType,
@@ -6836,12 +5853,6 @@ static VKAPI_ATTR void VKAPI_CALL GetMicromapBuildSizesEXT(
{
//Not a CREATE or DESTROY function
}
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-#endif /* VK_ENABLE_BETA_EXTENSIONS */
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdDrawClusterHUAWEI(
VkCommandBuffer commandBuffer,
uint32_t groupCountX,
@@ -6850,7 +5861,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDrawClusterHUAWEI(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdDrawClusterIndirectHUAWEI(
VkCommandBuffer commandBuffer,
VkBuffer buffer,
@@ -6858,9 +5868,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDrawClusterIndirectHUAWEI(
{
//Not a CREATE or DESTROY function
}
-
-
-
static VKAPI_ATTR void VKAPI_CALL SetDeviceMemoryPriorityEXT(
VkDevice device,
VkDeviceMemory memory,
@@ -6868,11 +5875,6 @@ static VKAPI_ATTR void VKAPI_CALL SetDeviceMemoryPriorityEXT(
{
//Not a CREATE or DESTROY function
}
-
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL GetDescriptorSetLayoutHostMappingInfoVALVE(
VkDevice device,
const VkDescriptorSetBindingReferenceVALVE* pBindingReference,
@@ -6880,7 +5882,6 @@ static VKAPI_ATTR void VKAPI_CALL GetDescriptorSetLayoutHostMappingInfoVALVE(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL GetDescriptorSetHostMappingVALVE(
VkDevice device,
VkDescriptorSet descriptorSet,
@@ -6888,12 +5889,6 @@ static VKAPI_ATTR void VKAPI_CALL GetDescriptorSetHostMappingVALVE(
{
//Not a CREATE or DESTROY function
}
-
-
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdCopyMemoryIndirectNV(
VkCommandBuffer commandBuffer,
VkDeviceAddress copyBufferAddress,
@@ -6902,7 +5897,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdCopyMemoryIndirectNV(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdCopyMemoryToImageIndirectNV(
VkCommandBuffer commandBuffer,
VkDeviceAddress copyBufferAddress,
@@ -6914,8 +5908,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdCopyMemoryToImageIndirectNV(
{
//Not a CREATE or DESTROY function
}
-
-
static VKAPI_ATTR void VKAPI_CALL CmdDecompressMemoryNV(
VkCommandBuffer commandBuffer,
uint32_t decompressRegionCount,
@@ -6923,7 +5915,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDecompressMemoryNV(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdDecompressMemoryIndirectCountNV(
VkCommandBuffer commandBuffer,
VkDeviceAddress indirectCommandsAddress,
@@ -6932,8 +5923,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDecompressMemoryIndirectCountNV(
{
//Not a CREATE or DESTROY function
}
-
-
static VKAPI_ATTR void VKAPI_CALL GetPipelineIndirectMemoryRequirementsNV(
VkDevice device,
const VkComputePipelineCreateInfo* pCreateInfo,
@@ -6941,7 +5930,6 @@ static VKAPI_ATTR void VKAPI_CALL GetPipelineIndirectMemoryRequirementsNV(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdUpdatePipelineIndirectBufferNV(
VkCommandBuffer commandBuffer,
VkPipelineBindPoint pipelineBindPoint,
@@ -6949,7 +5937,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdUpdatePipelineIndirectBufferNV(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR VkDeviceAddress VKAPI_CALL GetPipelineIndirectDeviceAddressNV(
VkDevice device,
const VkPipelineIndirectDeviceAddressInfoNV* pInfo)
@@ -6957,36 +5944,24 @@ static VKAPI_ATTR VkDeviceAddress VKAPI_CALL GetPipelineIndirectDeviceAddressNV(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
-
-
-
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetDepthClampEnableEXT(
VkCommandBuffer commandBuffer,
VkBool32 depthClampEnable)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetPolygonModeEXT(
VkCommandBuffer commandBuffer,
VkPolygonMode polygonMode)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetRasterizationSamplesEXT(
VkCommandBuffer commandBuffer,
VkSampleCountFlagBits rasterizationSamples)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetSampleMaskEXT(
VkCommandBuffer commandBuffer,
VkSampleCountFlagBits samples,
@@ -6994,28 +5969,24 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetSampleMaskEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetAlphaToCoverageEnableEXT(
VkCommandBuffer commandBuffer,
VkBool32 alphaToCoverageEnable)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetAlphaToOneEnableEXT(
VkCommandBuffer commandBuffer,
VkBool32 alphaToOneEnable)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetLogicOpEnableEXT(
VkCommandBuffer commandBuffer,
VkBool32 logicOpEnable)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetColorBlendEnableEXT(
VkCommandBuffer commandBuffer,
uint32_t firstAttachment,
@@ -7024,7 +5995,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetColorBlendEnableEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetColorBlendEquationEXT(
VkCommandBuffer commandBuffer,
uint32_t firstAttachment,
@@ -7033,7 +6003,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetColorBlendEquationEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetColorWriteMaskEXT(
VkCommandBuffer commandBuffer,
uint32_t firstAttachment,
@@ -7042,49 +6011,42 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetColorWriteMaskEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetTessellationDomainOriginEXT(
VkCommandBuffer commandBuffer,
VkTessellationDomainOrigin domainOrigin)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetRasterizationStreamEXT(
VkCommandBuffer commandBuffer,
uint32_t rasterizationStream)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetConservativeRasterizationModeEXT(
VkCommandBuffer commandBuffer,
VkConservativeRasterizationModeEXT conservativeRasterizationMode)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetExtraPrimitiveOverestimationSizeEXT(
VkCommandBuffer commandBuffer,
float extraPrimitiveOverestimationSize)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetDepthClipEnableEXT(
VkCommandBuffer commandBuffer,
VkBool32 depthClipEnable)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetSampleLocationsEnableEXT(
VkCommandBuffer commandBuffer,
VkBool32 sampleLocationsEnable)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetColorBlendAdvancedEXT(
VkCommandBuffer commandBuffer,
uint32_t firstAttachment,
@@ -7093,42 +6055,36 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetColorBlendAdvancedEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetProvokingVertexModeEXT(
VkCommandBuffer commandBuffer,
VkProvokingVertexModeEXT provokingVertexMode)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetLineRasterizationModeEXT(
VkCommandBuffer commandBuffer,
VkLineRasterizationModeEXT lineRasterizationMode)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetLineStippleEnableEXT(
VkCommandBuffer commandBuffer,
VkBool32 stippledLineEnable)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetDepthClipNegativeOneToOneEXT(
VkCommandBuffer commandBuffer,
VkBool32 negativeOneToOne)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetViewportWScalingEnableNV(
VkCommandBuffer commandBuffer,
VkBool32 viewportWScalingEnable)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetViewportSwizzleNV(
VkCommandBuffer commandBuffer,
uint32_t firstViewport,
@@ -7137,35 +6093,30 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetViewportSwizzleNV(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetCoverageToColorEnableNV(
VkCommandBuffer commandBuffer,
VkBool32 coverageToColorEnable)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetCoverageToColorLocationNV(
VkCommandBuffer commandBuffer,
uint32_t coverageToColorLocation)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetCoverageModulationModeNV(
VkCommandBuffer commandBuffer,
VkCoverageModulationModeNV coverageModulationMode)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetCoverageModulationTableEnableNV(
VkCommandBuffer commandBuffer,
VkBool32 coverageModulationTableEnable)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetCoverageModulationTableNV(
VkCommandBuffer commandBuffer,
uint32_t coverageModulationTableCount,
@@ -7173,31 +6124,24 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetCoverageModulationTableNV(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetShadingRateImageEnableNV(
VkCommandBuffer commandBuffer,
VkBool32 shadingRateImageEnable)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetRepresentativeFragmentTestEnableNV(
VkCommandBuffer commandBuffer,
VkBool32 representativeFragmentTestEnable)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetCoverageReductionModeNV(
VkCommandBuffer commandBuffer,
VkCoverageReductionModeNV coverageReductionMode)
{
//Not a CREATE or DESTROY function
}
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateTensorARM(
VkDevice device,
const VkTensorCreateInfoARM* pCreateInfo,
@@ -7208,7 +6152,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateTensorARM(
*pTensor = (VkTensorARM)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyTensorARM(
VkDevice device,
VkTensorARM tensor,
@@ -7216,7 +6159,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyTensorARM(
{
//Destroy object
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateTensorViewARM(
VkDevice device,
const VkTensorViewCreateInfoARM* pCreateInfo,
@@ -7227,7 +6169,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateTensorViewARM(
*pView = (VkTensorViewARM)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyTensorViewARM(
VkDevice device,
VkTensorViewARM tensorView,
@@ -7235,7 +6176,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyTensorViewARM(
{
//Destroy object
}
-
static VKAPI_ATTR void VKAPI_CALL GetTensorMemoryRequirementsARM(
VkDevice device,
const VkTensorMemoryRequirementsInfoARM* pInfo,
@@ -7243,7 +6183,6 @@ static VKAPI_ATTR void VKAPI_CALL GetTensorMemoryRequirementsARM(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR VkResult VKAPI_CALL BindTensorMemoryARM(
VkDevice device,
uint32_t bindInfoCount,
@@ -7252,7 +6191,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL BindTensorMemoryARM(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL GetDeviceTensorMemoryRequirementsARM(
VkDevice device,
const VkDeviceTensorMemoryRequirementsARM* pInfo,
@@ -7260,14 +6198,12 @@ static VKAPI_ATTR void VKAPI_CALL GetDeviceTensorMemoryRequirementsARM(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdCopyTensorARM(
VkCommandBuffer commandBuffer,
const VkCopyTensorInfoARM* pCopyTensorInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalTensorPropertiesARM(
VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceExternalTensorInfoARM* pExternalTensorInfo,
@@ -7275,7 +6211,6 @@ static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalTensorPropertiesARM(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetTensorOpaqueCaptureDescriptorDataARM(
VkDevice device,
const VkTensorCaptureDescriptorDataInfoARM* pInfo,
@@ -7284,7 +6219,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetTensorOpaqueCaptureDescriptorDataARM(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetTensorViewOpaqueCaptureDescriptorDataARM(
VkDevice device,
const VkTensorViewCaptureDescriptorDataInfoARM* pInfo,
@@ -7293,8 +6227,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetTensorViewOpaqueCaptureDescriptorDataAR
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
static VKAPI_ATTR void VKAPI_CALL GetShaderModuleIdentifierEXT(
VkDevice device,
VkShaderModule shaderModule,
@@ -7306,7 +6238,6 @@ static VKAPI_ATTR void VKAPI_CALL GetShaderModuleIdentifierEXT(
pIdentifier->identifier[0] = 0x01;
}
}
-
static VKAPI_ATTR void VKAPI_CALL GetShaderModuleCreateInfoIdentifierEXT(
VkDevice device,
const VkShaderModuleCreateInfo* pCreateInfo,
@@ -7314,9 +6245,6 @@ static VKAPI_ATTR void VKAPI_CALL GetShaderModuleCreateInfoIdentifierEXT(
{
//Not a CREATE or DESTROY function
}
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceOpticalFlowImageFormatsNV(
VkPhysicalDevice physicalDevice,
const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo,
@@ -7326,7 +6254,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceOpticalFlowImageFormatsNV
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateOpticalFlowSessionNV(
VkDevice device,
const VkOpticalFlowSessionCreateInfoNV* pCreateInfo,
@@ -7337,7 +6264,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateOpticalFlowSessionNV(
*pSession = (VkOpticalFlowSessionNV)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyOpticalFlowSessionNV(
VkDevice device,
VkOpticalFlowSessionNV session,
@@ -7345,7 +6271,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyOpticalFlowSessionNV(
{
//Destroy object
}
-
static VKAPI_ATTR VkResult VKAPI_CALL BindOpticalFlowSessionImageNV(
VkDevice device,
VkOpticalFlowSessionNV session,
@@ -7356,7 +6281,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL BindOpticalFlowSessionImageNV(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL CmdOpticalFlowExecuteNV(
VkCommandBuffer commandBuffer,
VkOpticalFlowSessionNV session,
@@ -7364,24 +6288,12 @@ static VKAPI_ATTR void VKAPI_CALL CmdOpticalFlowExecuteNV(
{
//Not a CREATE or DESTROY function
}
-
-
-
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-#endif /* VK_USE_PLATFORM_ANDROID_KHR */
-
-
static VKAPI_ATTR void VKAPI_CALL AntiLagUpdateAMD(
VkDevice device,
const VkAntiLagDataAMD* pData)
{
//Not a CREATE or DESTROY function
}
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-#endif /* VK_ENABLE_BETA_EXTENSIONS */
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateShadersEXT(
VkDevice device,
uint32_t createInfoCount,
@@ -7395,7 +6307,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateShadersEXT(
}
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyShaderEXT(
VkDevice device,
VkShaderEXT shader,
@@ -7403,7 +6314,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyShaderEXT(
{
//Destroy object
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetShaderBinaryDataEXT(
VkDevice device,
VkShaderEXT shader,
@@ -7413,7 +6323,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetShaderBinaryDataEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBindShadersEXT(
VkCommandBuffer commandBuffer,
uint32_t stageCount,
@@ -7422,7 +6331,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdBindShadersEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetDepthClampRangeEXT(
VkCommandBuffer commandBuffer,
VkDepthClampModeEXT depthClampMode,
@@ -7430,8 +6338,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetDepthClampRangeEXT(
{
//Not a CREATE or DESTROY function
}
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetFramebufferTilePropertiesQCOM(
VkDevice device,
VkFramebuffer framebuffer,
@@ -7441,7 +6347,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetFramebufferTilePropertiesQCOM(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetDynamicRenderingTilePropertiesQCOM(
VkDevice device,
const VkRenderingInfo* pRenderingInfo,
@@ -7450,11 +6355,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetDynamicRenderingTilePropertiesQCOM(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCooperativeVectorPropertiesNV(
VkPhysicalDevice physicalDevice,
uint32_t* pPropertyCount,
@@ -7463,7 +6363,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCooperativeVectorProperti
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL ConvertCooperativeVectorMatrixNV(
VkDevice device,
const VkConvertCooperativeVectorMatrixInfoNV* pInfo)
@@ -7471,7 +6370,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL ConvertCooperativeVectorMatrixNV(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL CmdConvertCooperativeVectorMatrixNV(
VkCommandBuffer commandBuffer,
uint32_t infoCount,
@@ -7479,15 +6377,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdConvertCooperativeVectorMatrixNV(
{
//Not a CREATE or DESTROY function
}
-
-
-
-
-
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL SetLatencySleepModeNV(
VkDevice device,
VkSwapchainKHR swapchain,
@@ -7496,7 +6385,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL SetLatencySleepModeNV(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL LatencySleepNV(
VkDevice device,
VkSwapchainKHR swapchain,
@@ -7505,7 +6393,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL LatencySleepNV(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL SetLatencyMarkerNV(
VkDevice device,
VkSwapchainKHR swapchain,
@@ -7513,7 +6400,6 @@ static VKAPI_ATTR void VKAPI_CALL SetLatencyMarkerNV(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL GetLatencyTimingsNV(
VkDevice device,
VkSwapchainKHR swapchain,
@@ -7521,15 +6407,12 @@ static VKAPI_ATTR void VKAPI_CALL GetLatencyTimingsNV(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL QueueNotifyOutOfBandNV(
VkQueue queue,
const VkOutOfBandQueueTypeInfoNV* pQueueTypeInfo)
{
//Not a CREATE or DESTROY function
}
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateDataGraphPipelinesARM(
VkDevice device,
VkDeferredOperationKHR deferredOperation,
@@ -7545,7 +6428,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateDataGraphPipelinesARM(
}
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateDataGraphPipelineSessionARM(
VkDevice device,
const VkDataGraphPipelineSessionCreateInfoARM* pCreateInfo,
@@ -7556,7 +6438,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateDataGraphPipelineSessionARM(
*pSession = (VkDataGraphPipelineSessionARM)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetDataGraphPipelineSessionBindPointRequirementsARM(
VkDevice device,
const VkDataGraphPipelineSessionBindPointRequirementsInfoARM* pInfo,
@@ -7566,7 +6447,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetDataGraphPipelineSessionBindPointRequir
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL GetDataGraphPipelineSessionMemoryRequirementsARM(
VkDevice device,
const VkDataGraphPipelineSessionMemoryRequirementsInfoARM* pInfo,
@@ -7574,7 +6454,6 @@ static VKAPI_ATTR void VKAPI_CALL GetDataGraphPipelineSessionMemoryRequirementsA
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR VkResult VKAPI_CALL BindDataGraphPipelineSessionMemoryARM(
VkDevice device,
uint32_t bindInfoCount,
@@ -7583,7 +6462,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL BindDataGraphPipelineSessionMemoryARM(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyDataGraphPipelineSessionARM(
VkDevice device,
VkDataGraphPipelineSessionARM session,
@@ -7591,7 +6469,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyDataGraphPipelineSessionARM(
{
//Destroy object
}
-
static VKAPI_ATTR void VKAPI_CALL CmdDispatchDataGraphARM(
VkCommandBuffer commandBuffer,
VkDataGraphPipelineSessionARM session,
@@ -7599,7 +6476,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDispatchDataGraphARM(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetDataGraphPipelineAvailablePropertiesARM(
VkDevice device,
const VkDataGraphPipelineInfoARM* pPipelineInfo,
@@ -7609,7 +6485,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetDataGraphPipelineAvailablePropertiesARM
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetDataGraphPipelinePropertiesARM(
VkDevice device,
const VkDataGraphPipelineInfoARM* pPipelineInfo,
@@ -7619,7 +6494,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetDataGraphPipelinePropertiesARM(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM(
VkPhysicalDevice physicalDevice,
uint32_t queueFamilyIndex,
@@ -7629,7 +6503,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceQueueFamilyDataGraphPrope
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM(
VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM* pQueueFamilyDataGraphProcessingEngineInfo,
@@ -7637,23 +6510,13 @@ static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceQueueFamilyDataGraphProcessin
{
//Not a CREATE or DESTROY function
}
-
-
-
-
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdSetAttachmentFeedbackLoopEnableEXT(
VkCommandBuffer commandBuffer,
VkImageAspectFlags aspectMask)
{
//Not a CREATE or DESTROY function
}
-
#ifdef VK_USE_PLATFORM_SCREEN_QNX
-
static VKAPI_ATTR VkResult VKAPI_CALL GetScreenBufferPropertiesQNX(
VkDevice device,
const struct _screen_buffer* buffer,
@@ -7663,20 +6526,12 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetScreenBufferPropertiesQNX(
return VK_SUCCESS;
}
#endif /* VK_USE_PLATFORM_SCREEN_QNX */
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdBindTileMemoryQCOM(
VkCommandBuffer commandBuffer,
const VkTileMemoryBindInfoQCOM* pTileMemoryBindInfo)
{
//Not a CREATE or DESTROY function
}
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateExternalComputeQueueNV(
VkDevice device,
const VkExternalComputeQueueCreateInfoNV* pCreateInfo,
@@ -7684,10 +6539,9 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateExternalComputeQueueNV(
VkExternalComputeQueueNV* pExternalQueue)
{
unique_lock_t lock(global_lock);
- *pExternalQueue = (VkExternalComputeQueueNV)CreateDispObjHandle();
+ *pExternalQueue = (VkExternalComputeQueueNV)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyExternalComputeQueueNV(
VkDevice device,
VkExternalComputeQueueNV externalQueue,
@@ -7695,7 +6549,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyExternalComputeQueueNV(
{
//Destroy object
}
-
static VKAPI_ATTR void VKAPI_CALL GetExternalComputeQueueDataNV(
VkExternalComputeQueueNV externalQueue,
VkExternalComputeQueueDataParamsNV* params,
@@ -7703,13 +6556,6 @@ static VKAPI_ATTR void VKAPI_CALL GetExternalComputeQueueDataNV(
{
//Not a CREATE or DESTROY function
}
-
-
-
-
-
-
-
static VKAPI_ATTR void VKAPI_CALL GetClusterAccelerationStructureBuildSizesNV(
VkDevice device,
const VkClusterAccelerationStructureInputInfoNV* pInfo,
@@ -7717,15 +6563,12 @@ static VKAPI_ATTR void VKAPI_CALL GetClusterAccelerationStructureBuildSizesNV(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBuildClusterAccelerationStructureIndirectNV(
VkCommandBuffer commandBuffer,
const VkClusterAccelerationStructureCommandsInfoNV* pCommandInfos)
{
//Not a CREATE or DESTROY function
}
-
-
static VKAPI_ATTR void VKAPI_CALL GetPartitionedAccelerationStructuresBuildSizesNV(
VkDevice device,
const VkPartitionedAccelerationStructureInstancesInputNV* pInfo,
@@ -7733,15 +6576,12 @@ static VKAPI_ATTR void VKAPI_CALL GetPartitionedAccelerationStructuresBuildSizes
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBuildPartitionedAccelerationStructuresNV(
VkCommandBuffer commandBuffer,
const VkBuildPartitionedAccelerationStructureInfoNV* pBuildInfo)
{
//Not a CREATE or DESTROY function
}
-
-
static VKAPI_ATTR void VKAPI_CALL GetGeneratedCommandsMemoryRequirementsEXT(
VkDevice device,
const VkGeneratedCommandsMemoryRequirementsInfoEXT* pInfo,
@@ -7749,7 +6589,6 @@ static VKAPI_ATTR void VKAPI_CALL GetGeneratedCommandsMemoryRequirementsEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdPreprocessGeneratedCommandsEXT(
VkCommandBuffer commandBuffer,
const VkGeneratedCommandsInfoEXT* pGeneratedCommandsInfo,
@@ -7757,7 +6596,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdPreprocessGeneratedCommandsEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdExecuteGeneratedCommandsEXT(
VkCommandBuffer commandBuffer,
VkBool32 isPreprocessed,
@@ -7765,7 +6603,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdExecuteGeneratedCommandsEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateIndirectCommandsLayoutEXT(
VkDevice device,
const VkIndirectCommandsLayoutCreateInfoEXT* pCreateInfo,
@@ -7776,7 +6613,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateIndirectCommandsLayoutEXT(
*pIndirectCommandsLayout = (VkIndirectCommandsLayoutEXT)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyIndirectCommandsLayoutEXT(
VkDevice device,
VkIndirectCommandsLayoutEXT indirectCommandsLayout,
@@ -7784,7 +6620,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyIndirectCommandsLayoutEXT(
{
//Destroy object
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateIndirectExecutionSetEXT(
VkDevice device,
const VkIndirectExecutionSetCreateInfoEXT* pCreateInfo,
@@ -7795,7 +6630,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateIndirectExecutionSetEXT(
*pIndirectExecutionSet = (VkIndirectExecutionSetEXT)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyIndirectExecutionSetEXT(
VkDevice device,
VkIndirectExecutionSetEXT indirectExecutionSet,
@@ -7803,7 +6637,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyIndirectExecutionSetEXT(
{
//Destroy object
}
-
static VKAPI_ATTR void VKAPI_CALL UpdateIndirectExecutionSetPipelineEXT(
VkDevice device,
VkIndirectExecutionSetEXT indirectExecutionSet,
@@ -7812,7 +6645,6 @@ static VKAPI_ATTR void VKAPI_CALL UpdateIndirectExecutionSetPipelineEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL UpdateIndirectExecutionSetShaderEXT(
VkDevice device,
VkIndirectExecutionSetEXT indirectExecutionSet,
@@ -7821,11 +6653,7 @@ static VKAPI_ATTR void VKAPI_CALL UpdateIndirectExecutionSetShaderEXT(
{
//Not a CREATE or DESTROY function
}
-
-
-
#ifdef VK_USE_PLATFORM_OHOS
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateSurfaceOHOS(
VkInstance instance,
const VkSurfaceCreateInfoOHOS* pCreateInfo,
@@ -7837,9 +6665,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateSurfaceOHOS(
return VK_SUCCESS;
}
#endif /* VK_USE_PLATFORM_OHOS */
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV(
VkPhysicalDevice physicalDevice,
uint32_t* pPropertyCount,
@@ -7848,10 +6673,7 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCooperativeMatrixFlexible
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
-
#ifdef VK_USE_PLATFORM_METAL_EXT
-
static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryMetalHandleEXT(
VkDevice device,
const VkMemoryGetMetalHandleInfoEXT* pGetMetalHandleInfo,
@@ -7860,7 +6682,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryMetalHandleEXT(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryMetalHandlePropertiesEXT(
VkDevice device,
VkExternalMemoryHandleTypeFlagBits handleType,
@@ -7871,24 +6692,12 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryMetalHandlePropertiesEXT(
return VK_SUCCESS;
}
#endif /* VK_USE_PLATFORM_METAL_EXT */
-
-
-
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-#endif /* VK_ENABLE_BETA_EXTENSIONS */
-
-
static VKAPI_ATTR void VKAPI_CALL CmdEndRendering2EXT(
VkCommandBuffer commandBuffer,
const VkRenderingEndInfoEXT* pRenderingEndInfo)
{
//Not a CREATE or DESTROY function
}
-
-
-
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateAccelerationStructureKHR(
VkDevice device,
const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
@@ -7899,7 +6708,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateAccelerationStructureKHR(
*pAccelerationStructure = (VkAccelerationStructureKHR)global_unique_handle++;
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL DestroyAccelerationStructureKHR(
VkDevice device,
VkAccelerationStructureKHR accelerationStructure,
@@ -7907,7 +6715,6 @@ static VKAPI_ATTR void VKAPI_CALL DestroyAccelerationStructureKHR(
{
//Destroy object
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBuildAccelerationStructuresKHR(
VkCommandBuffer commandBuffer,
uint32_t infoCount,
@@ -7916,7 +6723,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdBuildAccelerationStructuresKHR(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdBuildAccelerationStructuresIndirectKHR(
VkCommandBuffer commandBuffer,
uint32_t infoCount,
@@ -7927,7 +6733,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdBuildAccelerationStructuresIndirectKHR(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR VkResult VKAPI_CALL BuildAccelerationStructuresKHR(
VkDevice device,
VkDeferredOperationKHR deferredOperation,
@@ -7938,7 +6743,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL BuildAccelerationStructuresKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CopyAccelerationStructureKHR(
VkDevice device,
VkDeferredOperationKHR deferredOperation,
@@ -7947,7 +6751,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CopyAccelerationStructureKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CopyAccelerationStructureToMemoryKHR(
VkDevice device,
VkDeferredOperationKHR deferredOperation,
@@ -7956,7 +6759,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CopyAccelerationStructureToMemoryKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CopyMemoryToAccelerationStructureKHR(
VkDevice device,
VkDeferredOperationKHR deferredOperation,
@@ -7965,7 +6767,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CopyMemoryToAccelerationStructureKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL WriteAccelerationStructuresPropertiesKHR(
VkDevice device,
uint32_t accelerationStructureCount,
@@ -7978,28 +6779,24 @@ static VKAPI_ATTR VkResult VKAPI_CALL WriteAccelerationStructuresPropertiesKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL CmdCopyAccelerationStructureKHR(
VkCommandBuffer commandBuffer,
const VkCopyAccelerationStructureInfoKHR* pInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdCopyAccelerationStructureToMemoryKHR(
VkCommandBuffer commandBuffer,
const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdCopyMemoryToAccelerationStructureKHR(
VkCommandBuffer commandBuffer,
const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo)
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR VkDeviceAddress VKAPI_CALL GetAccelerationStructureDeviceAddressKHR(
VkDevice device,
const VkAccelerationStructureDeviceAddressInfoKHR* pInfo)
@@ -8007,7 +6804,6 @@ static VKAPI_ATTR VkDeviceAddress VKAPI_CALL GetAccelerationStructureDeviceAddre
// arbitrary - need to be aligned to 256 bytes
return 0x262144;
}
-
static VKAPI_ATTR void VKAPI_CALL CmdWriteAccelerationStructuresPropertiesKHR(
VkCommandBuffer commandBuffer,
uint32_t accelerationStructureCount,
@@ -8018,7 +6814,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdWriteAccelerationStructuresPropertiesKHR(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL GetDeviceAccelerationStructureCompatibilityKHR(
VkDevice device,
const VkAccelerationStructureVersionInfoKHR* pVersionInfo,
@@ -8026,7 +6821,6 @@ static VKAPI_ATTR void VKAPI_CALL GetDeviceAccelerationStructureCompatibilityKHR
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL GetAccelerationStructureBuildSizesKHR(
VkDevice device,
VkAccelerationStructureBuildTypeKHR buildType,
@@ -8039,8 +6833,6 @@ static VKAPI_ATTR void VKAPI_CALL GetAccelerationStructureBuildSizesKHR(
pSizeInfo->updateScratchSize = 4;
pSizeInfo->buildScratchSize = 4;
}
-
-
static VKAPI_ATTR void VKAPI_CALL CmdTraceRaysKHR(
VkCommandBuffer commandBuffer,
const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
@@ -8053,7 +6845,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdTraceRaysKHR(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR VkResult VKAPI_CALL CreateRayTracingPipelinesKHR(
VkDevice device,
VkDeferredOperationKHR deferredOperation,
@@ -8069,7 +6860,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL CreateRayTracingPipelinesKHR(
}
return VK_SUCCESS;
}
-
static VKAPI_ATTR VkResult VKAPI_CALL GetRayTracingCaptureReplayShaderGroupHandlesKHR(
VkDevice device,
VkPipeline pipeline,
@@ -8081,7 +6871,6 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetRayTracingCaptureReplayShaderGroupHandl
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL CmdTraceRaysIndirectKHR(
VkCommandBuffer commandBuffer,
const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
@@ -8092,7 +6881,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdTraceRaysIndirectKHR(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR VkDeviceSize VKAPI_CALL GetRayTracingShaderGroupStackSizeKHR(
VkDevice device,
VkPipeline pipeline,
@@ -8102,16 +6890,12 @@ static VKAPI_ATTR VkDeviceSize VKAPI_CALL GetRayTracingShaderGroupStackSizeKHR(
//Not a CREATE or DESTROY function
return VK_SUCCESS;
}
-
static VKAPI_ATTR void VKAPI_CALL CmdSetRayTracingPipelineStackSizeKHR(
VkCommandBuffer commandBuffer,
uint32_t pipelineStackSize)
{
//Not a CREATE or DESTROY function
}
-
-
-
static VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksEXT(
VkCommandBuffer commandBuffer,
uint32_t groupCountX,
@@ -8120,7 +6904,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksIndirectEXT(
VkCommandBuffer commandBuffer,
VkBuffer buffer,
@@ -8130,7 +6913,6 @@ static VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksIndirectEXT(
{
//Not a CREATE or DESTROY function
}
-
static VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksIndirectCountEXT(
VkCommandBuffer commandBuffer,
VkBuffer buffer,
@@ -8145,3 +6927,4 @@ static VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksIndirectCountEXT(
} // namespace vkmock
+
diff --git a/scripts/generate_source.py b/scripts/generate_source.py
index 336e5ffb..82bc213e 100755
--- a/scripts/generate_source.py
+++ b/scripts/generate_source.py
@@ -1,9 +1,10 @@
#!/usr/bin/env python3
-# Copyright (c) 2019-2025 The Khronos Group Inc.
-# Copyright (c) 2019-2025 Valve Corporation
-# Copyright (c) 2019-2025 LunarG, Inc.
-# Copyright (c) 2019-2025 Google Inc.
-# Copyright (c) 2023-2025 RasterGrid Kft.
+# Copyright (c) 2019 The Khronos Group Inc.
+# Copyright (c) 2019 Valve Corporation
+# Copyright (c) 2019 LunarG, Inc.
+# Copyright (c) 2019 Google Inc.
+# Copyright (c) 2021-2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# Copyright (c) 2023-2023 RasterGrid Kft.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -22,118 +23,218 @@
import argparse
import filecmp
import os
-import re
-import json
import shutil
-import subprocess
import sys
+import re
import tempfile
-
+import json
import common_codegen
-# files to exclude from --verify check
-verify_exclude = ['.clang-format']
+from xml.etree import ElementTree
+
+# Because we have special logic to import the Registry from input arguments and the BaseGenerator comes from the registry, we have to delay defining it until *after*
+# the Registry has been imported. Yes this is awkward, but it was the least awkward way to make --verify work.
+generators = {}
+
+def RunGenerators(api: str, registry: str, video_registry: str, directory: str, styleFile: str, targetFilter: str, flatOutput: bool):
+
+ try:
+ common_codegen.RunShellCmd(f'clang-format --version')
+ has_clang_format = True
+ except:
+ has_clang_format = False
+ if not has_clang_format:
+ print("WARNING: Unable to find clang-format!")
+
+ # These live in the Vulkan-Docs repo, but are pulled in via the
+ # Vulkan-Headers/registry folder
+ # At runtime we inject python path to find these helper scripts
+ scripts = os.path.dirname(registry)
+ scripts_directory_path = os.path.dirname(os.path.abspath(__file__))
+ registry_headers_path = os.path.join(scripts_directory_path, scripts)
+ sys.path.insert(0, registry_headers_path)
+ try:
+ from reg import Registry
+ except:
+ print("ModuleNotFoundError: No module named 'reg'") # normal python error message
+ print(f'{registry_headers_path} is not pointing to the Vulkan-Headers registry directory.')
+ print("Inside Vulkan-Headers there is a registry/reg.py file that is used.")
+ sys.exit(1) # Return without call stack so easy to spot error
+
+ from base_generator import BaseGeneratorOptions
+ from generators.mock_icd_generator import MockICDOutputGenerator
+ from generators.vulkan_tools_helper_file_generator import HelperFileOutputGenerator
+ from generators.vulkaninfo_generator import VulkanInfoGenerator
+
+ # These set fields that are needed by both OutputGenerator and BaseGenerator,
+ # but are uniform and don't need to be set at a per-generated file level
+ from base_generator import (SetTargetApiName, SetMergedApiNames)
+ SetTargetApiName(api)
+
+ # Generated directory and dispatch table helper file name may be API specific (e.g. Vulkan SC)
+ mock_icd_generated_directory = 'icd/generated'
+ vulkaninfo_generated_directory = 'vulkaninfo/generated'
+
+ generators.update({
+ 'vk_typemap_helper.h': {
+ 'generator' : HelperFileOutputGenerator,
+ 'genCombined': False,
+ 'directory' : mock_icd_generated_directory,
+ },
+ 'function_declarations.h': {
+ 'generator' : MockICDOutputGenerator,
+ 'genCombined': False,
+ 'directory' : mock_icd_generated_directory,
+ },
+ 'function_definitions.h': {
+ 'generator' : MockICDOutputGenerator,
+ 'genCombined': False,
+ 'directory' : mock_icd_generated_directory,
+ },
+ 'vulkaninfo.hpp': {
+ 'generator' : VulkanInfoGenerator,
+ 'genCombined': False,
+ 'directory' : vulkaninfo_generated_directory,
+ },
+ })
+
+ unknownTargets = [x for x in (targetFilter if targetFilter else []) if x not in generators.keys()]
+ if unknownTargets:
+ print(f'ERROR: No generator options for unknown target(s): {", ".join(unknownTargets)}', file=sys.stderr)
+ return 1
+
+ # Filter if --target is passed in
+ targets = [x for x in generators.keys() if not targetFilter or x in targetFilter]
+
+ for index, target in enumerate(targets, start=1):
+ print(f'[{index}|{len(targets)}] Generating {target}')
+
+ # First grab a class constructor object and create an instance
+ generator = generators[target]['generator']
+ gen = generator()
+
+ # This code and the 'genCombined' generator metadata is used by downstream
+ # users to generate code with all Vulkan APIs merged into the target API variant
+ # (e.g. Vulkan SC) when needed. The constructed apiList is also used to filter
+ # out non-applicable extensions later below.
+ apiList = [api]
+ if api != 'vulkan' and generators[target]['genCombined']:
+ SetMergedApiNames('vulkan')
+ apiList.append('vulkan')
+ else:
+ SetMergedApiNames(None)
+
+ # For people who want to generate all the files in a single director
+ if flatOutput:
+ outDirectory = os.path.abspath(os.path.join(directory))
+ else:
+ outDirectory = os.path.abspath(os.path.join(directory, generators[target]['directory']))
+
+ options = BaseGeneratorOptions(
+ customFileName = target,
+ customDirectory = outDirectory)
+
+ if not os.path.exists(outDirectory):
+ os.makedirs(outDirectory)
+
+ # Create the registry object with the specified generator and generator
+ # options. The options are set before XML loading as they may affect it.
+ reg = Registry(gen, options)
+
+ # Parse the specified registry XML into an ElementTree object
+ tree = ElementTree.parse(registry)
+
+ # Load the XML tree into the registry object
+ reg.loadElementTree(tree)
+
+ # Set the path to the video registry so that videoStd is available
+ reg.genOpts.videoXmlPath = video_registry
+
+ # Finally, use the output generator to create the requested target
+ reg.apiGen()
+
+ # Run clang-format on the file
+ if has_clang_format and styleFile:
+ common_codegen.RunShellCmd(f'clang-format -i --style=file:{styleFile} {os.path.join(outDirectory, target)}')
+
def main(argv):
+
+ # files to exclude from --verify check
+ verify_exclude = ['.clang-format'] # None currently
+
parser = argparse.ArgumentParser(description='Generate source code for this repository')
+ parser.add_argument('registry', metavar='REGISTRY_PATH', help='path to the Vulkan-Headers registry directory')
parser.add_argument('--api',
default='vulkan',
choices=['vulkan', 'vulkansc'],
help='Specify API name to generate')
parser.add_argument('--generated-version', help='sets the header version used to generate the repo')
- parser.add_argument('registry', metavar='REGISTRY_PATH', help='path to the Vulkan-Headers registry directory')
group = parser.add_mutually_exclusive_group()
+ group.add_argument('--target', nargs='+', help='only generate file names passed in')
group.add_argument('-i', '--incremental', action='store_true', help='only update repo files that change')
group.add_argument('-v', '--verify', action='store_true', help='verify repo files match generator output')
+ group.add_argument('-o', action='store', dest='directory', help='Create target and related files in specified directory')
args = parser.parse_args(argv)
- # output paths and the list of files in the path
- files_to_gen = {str(os.path.join('icd','generated')) : ['vk_typemap_helper.h',
- 'function_definitions.h',
- 'function_declarations.h'],
- str(os.path.join('vulkaninfo','generated')): ['vulkaninfo.hpp']}
-
- #base directory for the source repository
- repo_dir = common_codegen.repo_relative('')
-
- # Update the api_version in the respective json files
- if args.generated_version:
- json_files = []
- json_files.append(common_codegen.repo_relative('icd/VkICD_mock_icd.json.in'))
- for json_file in json_files:
- with open(json_file) as f:
- data = json.load(f)
-
- data["ICD"]["api_version"] = args.generated_version
-
- with open(json_file, mode='w', encoding='utf-8', newline='\n') as f:
- f.write(json.dumps(data, indent=4))
-
- # get directory where generators will run if needed
- if args.verify or args.incremental:
- # generate in temp directory so we can compare or copy later
- temp_obj = tempfile.TemporaryDirectory(prefix='VulkanLoader_generated_source_')
- temp_dir = temp_obj.name
- for path in files_to_gen.keys():
- os.makedirs(os.path.join(temp_dir, path))
+ repo_dir = common_codegen.repo_relative('.')
registry = os.path.abspath(os.path.join(args.registry, 'vk.xml'))
- if not os.path.isfile(registry):
+ video_registry = os.path.abspath(os.path.join(args.registry, 'video.xml'))
+ if not os.path.isfile(registry) and not os.path.isfile(registry):
registry = os.path.abspath(os.path.join(args.registry, 'Vulkan-Headers/registry/vk.xml'))
if not os.path.isfile(registry):
print(f'cannot find vk.xml in {args.registry}')
return -1
+ video_registry = os.path.abspath(os.path.join(args.registry, 'Vulkan-Headers/registry/video.xml'))
+ if not os.path.isfile(video_registry):
+ print(f'{video_registry} does not exist')
+ return -1
+
+ # Need pass style file incase running with --verify and it can't find the file automatically in the temp directory
+ style_file = os.path.join(repo_dir, '.clang-format')
- # run each code generator
- for path, filenames in files_to_gen.items():
- for filename in filenames:
- if args.verify or args.incremental:
- output_path = os.path.join(temp_dir, path)
- else:
- output_path = common_codegen.repo_relative(path)
-
- cmd = [common_codegen.repo_relative(os.path.join('scripts','kvt_genvk.py')),
- '-api', args.api,
- '-registry', registry,
- '-quiet', '-directory', output_path, filename]
- print(' '.join(cmd))
- try:
- if args.verify or args.incremental:
- subprocess.check_call([sys.executable] + cmd, cwd=temp_dir)
- else:
- subprocess.check_call([sys.executable] + cmd, cwd=repo_dir)
-
- except Exception as e:
- print('ERROR:', str(e))
- return 1
+ # get directory where generators will run
+ if args.verify or args.incremental:
+ # generate in temp directory so we can compare or copy later
+ temp_obj = tempfile.TemporaryDirectory(prefix='vulkan_tools_codegen_')
+ temp_dir = temp_obj.name
+ gen_dir = temp_dir
+ elif args.directory:
+ gen_dir = args.directory
+ else:
+ # generate directly in the repo
+ gen_dir = repo_dir
+
+ RunGenerators(api=args.api,registry=registry, video_registry=video_registry, directory=gen_dir, styleFile=style_file, targetFilter=args.target, flatOutput=False)
# optional post-generation steps
if args.verify:
# compare contents of temp dir and repo
temp_files = {}
- for path in files_to_gen.keys():
- temp_files[path] = set()
- temp_files[path].update(set(os.listdir(os.path.join(temp_dir, path))))
-
repo_files = {}
- for path in files_to_gen.keys():
- repo_files[path] = set()
- repo_files[path].update(set(os.listdir(os.path.join(repo_dir, path))) - set(verify_exclude))
+ for details in generators.values():
+ if details['directory'] not in temp_files:
+ temp_files[details['directory']] = set()
+ temp_files[details['directory']].update(set(os.listdir(os.path.join(temp_dir, details['directory']))))
+ if details['directory'] not in repo_files:
+ repo_files[details['directory']] = set()
+ repo_files[details['directory']].update(set(os.listdir(os.path.join(repo_dir, details['directory']))) - set(verify_exclude))
+ # compare contents of temp dir and repo
files_match = True
- for path in files_to_gen.keys():
- for filename in sorted((temp_files[path] | repo_files[path])):
- if filename not in repo_files[path]:
- print('ERROR: Missing repo file', filename)
- files_match = False
- elif filename not in temp_files[path]:
- print('ERROR: Missing generator for', filename)
- files_match = False
- elif not filecmp.cmp(os.path.join(temp_dir, path, filename),
- os.path.join(repo_dir, path, filename),
- shallow=False):
- print('ERROR: Repo files do not match generator output for', filename)
- files_match = False
+ for filename, details in generators.items():
+ if filename not in repo_files[details['directory']]:
+ print('ERROR: Missing repo file', filename)
+ files_match = False
+ elif filename not in temp_files[details['directory']]:
+ print('ERROR: Missing generator for', filename)
+ files_match = False
+ elif not filecmp.cmp(os.path.join(temp_dir, details['directory'], filename),
+ os.path.join(repo_dir, details['directory'], filename),
+ shallow=False):
+ print('ERROR: Repo files do not match generator output for', filename)
+ files_match = False
# return code for test scripts
if files_match:
@@ -143,17 +244,27 @@ def main(argv):
elif args.incremental:
# copy missing or differing files from temp directory to repo
- for path in files_to_gen.keys():
- for filename in os.listdir(os.path.join(temp_dir,path)):
- temp_filename = os.path.join(temp_dir, path, filename)
- repo_filename = os.path.join(repo_dir, path, filename)
- if not os.path.exists(repo_filename) or \
- not filecmp.cmp(temp_filename, repo_filename, shallow=False):
- print('update', repo_filename)
- shutil.copyfile(temp_filename, repo_filename)
+ for filename, details in generators.items():
+ temp_filename = os.path.join(temp_dir, details['directory'], filename)
+ repo_filename = os.path.join(repo_dir, details['directory'], filename)
+ if not os.path.exists(repo_filename) or \
+ not filecmp.cmp(temp_filename, repo_filename, shallow=False):
+ print('update', repo_filename)
+ shutil.copyfile(temp_filename, repo_filename)
# write out the header version used to generate the code to a checked in CMake file
if args.generated_version:
+ json_files = []
+ json_files.append(common_codegen.repo_relative('icd/VkICD_mock_icd.json.in'))
+ for json_file in json_files:
+ with open(json_file) as f:
+ data = json.load(f)
+
+ data["ICD"]["api_version"] = args.generated_version
+
+ with open(json_file, mode='w', encoding='utf-8', newline='\n') as f:
+ f.write(json.dumps(data, indent=4))
+
# Update the CMake project version
with open(common_codegen.repo_relative('CMakeLists.txt'), "r+") as f:
data = f.read()
diff --git a/scripts/generators/mock_icd_generator.py b/scripts/generators/mock_icd_generator.py
index f64f4af0..c78253ce 100644
--- a/scripts/generators/mock_icd_generator.py
+++ b/scripts/generators/mock_icd_generator.py
@@ -25,9 +25,7 @@
# in its initial state. Rather it's intended to be a starting point that
# can be copied and customized to assist in creation of a new layer.
-import os,re,sys
-from generator import *
-from common_codegen import *
+from base_generator import BaseGenerator
CUSTOM_C_INTERCEPTS = {
'vkCreateInstance': '''
@@ -1200,323 +1198,80 @@ CUSTOM_C_INTERCEPTS = {
'''
}
-# MockICDGeneratorOptions - subclass of GeneratorOptions.
-#
-# Adds options used by MockICDOutputGenerator objects during Mock
-# ICD generation.
-#
-# Additional members
-# prefixText - list of strings to prefix generated header with
-# (usually a copyright statement + calling convention macros).
-# protectFile - True if multiple inclusion protection should be
-# generated (based on the filename) around the entire header.
-# protectFeature - True if #ifndef..#endif protection should be
-# generated around a feature interface in the header file.
-# genFuncPointers - True if function pointer typedefs should be
-# generated
-# protectProto - If conditional protection should be generated
-# around prototype declarations, set to either '#ifdef'
-# to require opt-in (#ifdef protectProtoStr) or '#ifndef'
-# to require opt-out (#ifndef protectProtoStr). Otherwise
-# set to None.
-# protectProtoStr - #ifdef/#ifndef symbol to use around prototype
-# declarations, if protectProto is set
-# apicall - string to use for the function declaration prefix,
-# such as APICALL on Windows.
-# apientry - string to use for the calling convention macro,
-# in typedefs, such as APIENTRY.
-# apientryp - string to use for the calling convention macro
-# in function pointer typedefs, such as APIENTRYP.
-# indentFuncProto - True if prototype declarations should put each
-# parameter on a separate line
-# indentFuncPointer - True if typedefed function pointers should put each
-# parameter on a separate line
-# alignFuncParam - if nonzero and parameters are being put on a
-# separate line, align parameter names at the specified column
-class MockICDGeneratorOptions(GeneratorOptions):
- def __init__(self,
- conventions = None,
- filename = None,
- directory = '.',
- genpath = None,
- apiname = None,
- profile = None,
- versions = '.*',
- emitversions = '.*',
- defaultExtensions = None,
- addExtensions = None,
- removeExtensions = None,
- emitExtensions = None,
- sortProcedure = regSortFeatures,
- prefixText = "",
- genFuncPointers = True,
- protectFile = True,
- protectFeature = True,
- protectProto = None,
- protectProtoStr = None,
- apicall = '',
- apientry = '',
- apientryp = '',
- indentFuncProto = True,
- indentFuncPointer = False,
- alignFuncParam = 0,
- expandEnumerants = True,
- helper_file_type = ''):
- GeneratorOptions.__init__(self,
- conventions = conventions,
- filename = filename,
- directory = directory,
- genpath = genpath,
- apiname = apiname,
- profile = profile,
- versions = versions,
- emitversions = emitversions,
- defaultExtensions = defaultExtensions,
- addExtensions = addExtensions,
- removeExtensions = removeExtensions,
- emitExtensions = emitExtensions,
- sortProcedure = sortProcedure)
- self.prefixText = prefixText
- self.genFuncPointers = genFuncPointers
- self.protectFile = protectFile
- self.protectFeature = protectFeature
- self.protectProto = protectProto
- self.protectProtoStr = protectProtoStr
- self.apicall = apicall
- self.apientry = apientry
- self.apientryp = apientryp
- self.indentFuncProto = indentFuncProto
- self.indentFuncPointer = indentFuncPointer
- self.alignFuncParam = alignFuncParam
-
-# MockICDOutputGenerator - subclass of OutputGenerator.
+# MockICDOutputGenerator
# Generates a mock vulkan ICD.
# This is intended to be a minimal replacement for a vulkan device in order
-# to enable Vulkan Validation testing.
+# to enable testing of Vulkan applications and layers
#
-# ---- methods ----
-# MockOutputGenerator(errFile, warnFile, diagFile) - args as for
-# OutputGenerator. Defines additional internal state.
-# ---- methods overriding base class ----
-# beginFile(genOpts)
-# endFile()
-# beginFeature(interface, emit)
-# endFeature()
-# genType(typeinfo,name)
-# genStruct(typeinfo,name)
-# genGroup(groupinfo,name)
-# genEnum(enuminfo, name)
-# genCmd(cmdinfo)
-class MockICDOutputGenerator(OutputGenerator):
- """Generate specified API interfaces in a specific style, such as a C header"""
- # This is an ordered list of sections in the header file.
- TYPE_SECTIONS = ['include', 'define', 'basetype', 'handle', 'enum',
- 'group', 'bitmask', 'funcpointer', 'struct']
- ALL_SECTIONS = TYPE_SECTIONS + ['command']
- def __init__(self,
- errFile = sys.stderr,
- warnFile = sys.stderr,
- diagFile = sys.stdout):
- OutputGenerator.__init__(self, errFile, warnFile, diagFile)
- # Internal state - accumulators for different inner block text
- self.sections = dict([(section, []) for section in self.ALL_SECTIONS])
- self.intercepts = []
- self.function_declarations = False
-
- # Check if the parameter passed in is a pointer to an array
- def paramIsArray(self, param):
- return param.attrib.get('len') is not None
-
- # Check if the parameter passed in is a pointer
- def paramIsPointer(self, param):
- ispointer = False
- for elem in param:
- if ((elem.tag != 'type') and (elem.tail is not None)) and '*' in elem.tail:
- ispointer = True
- return ispointer
+class MockICDOutputGenerator(BaseGenerator):
+ def __init__(self):
+ BaseGenerator.__init__(self)
- # Check if an object is a non-dispatchable handle
- def isHandleTypeNonDispatchable(self, handletype):
- handle = self.registry.tree.find("types/type/[name='" + handletype + "'][@category='handle']")
- if handle is not None and handle.find('type').text == 'VK_DEFINE_NON_DISPATCHABLE_HANDLE':
- return True
- else:
- return False
-
- # Check if an object is a dispatchable handle
- def isHandleTypeDispatchable(self, handletype):
- handle = self.registry.tree.find("types/type/[name='" + handletype + "'][@category='handle']")
- if handle is not None and handle.find('type').text == 'VK_DEFINE_HANDLE':
- return True
- else:
- return False
+ # Ignore extensions that ICDs should not implement or are not safe to report
+ self.ignore_exts = ['VK_EXT_validation_cache', 'VK_KHR_portability_subset']
- # Check that the target API is in the supported list for the extension
- def checkExtensionAPISupport(self, supported):
- return self.genOpts.apiname in supported.split(',')
+ # Dispatchable handles
+ self.dispatchable_handles = ['VkInstance','VkPhysicalDevice', 'VkDevice', 'VkCommandBuffer', 'VkQueue']
- def beginFile(self, genOpts):
- OutputGenerator.beginFile(self, genOpts)
- # C-specific
- #
- # Multiple inclusion protection & C++ namespace.
- if (genOpts.protectFile and self.genOpts.filename == "function_declarations.h"):
- self.function_declarations = True
+ def generate_function_declarations(self, out):
- # User-supplied prefix text, if any (list of strings)
- if (genOpts.prefixText):
- for s in genOpts.prefixText:
- write(s, file=self.outFile)
-
- if self.function_declarations:
- self.newline()
- # Include all of the extensions in ICD except specific ignored ones
- device_exts = []
- instance_exts = []
- # Ignore extensions that ICDs should not implement or are not safe to report
- ignore_exts = ['VK_EXT_validation_cache', 'VK_KHR_portability_subset']
- for ext in self.registry.tree.findall("extensions/extension"):
- if self.checkExtensionAPISupport(ext.attrib['supported']): # Only include API-relevant extensions
- if (ext.attrib['name'] not in ignore_exts):
- # Search for extension version enum
- for enum in ext.findall('require/enum'):
- if enum.get('name', '').endswith('_SPEC_VERSION'):
- ext_version = enum.get('value')
- if (ext.attrib.get('type') == 'instance'):
- instance_exts.append(' {"%s", %s},' % (ext.attrib['name'], ext_version))
- else:
- device_exts.append(' {"%s", %s},' % (ext.attrib['name'], ext_version))
- break
- write('#pragma once\n',file=self.outFile)
- write('#include <stdint.h>',file=self.outFile)
- write('#include <cstring>',file=self.outFile)
- write('#include <string>',file=self.outFile)
- write('#include <unordered_map>',file=self.outFile)
- write('#include <vulkan/vulkan.h>',file=self.outFile)
- self.newline()
- write('namespace vkmock {\n', file=self.outFile)
- write('// Map of instance extension name to version', file=self.outFile)
- write('static const std::unordered_map<std::string, uint32_t> instance_extension_map = {', file=self.outFile)
- write('\n'.join(instance_exts), file=self.outFile)
- write('};', file=self.outFile)
- write('// Map of device extension name to version', file=self.outFile)
- write('static const std::unordered_map<std::string, uint32_t> device_extension_map = {', file=self.outFile)
- write('\n'.join(device_exts), file=self.outFile)
- write('};', file=self.outFile)
- else:
- write('#pragma once\n',file=self.outFile)
- write('#include "mock_icd.h"',file=self.outFile)
- write('#include "function_declarations.h"\n',file=self.outFile)
- write('namespace vkmock {', file=self.outFile)
+ out.append('#include <stdint.h>\n')
+ out.append('#include <cstring>\n')
+ out.append('#include <string>\n')
+ out.append('#include <unordered_map>\n')
+ out.append('#include <vulkan/vulkan.h>\n')
+ out.append('\n')
+ out.append('namespace vkmock {\n')
+ out.append('// Map of instance extension name to version\n')
+ out.append('static const std::unordered_map<std::string, uint32_t> instance_extension_map = {\n')
+ for ext in [x for x in self.vk.extensions.values() if x.instance and x.name not in self.ignore_exts]:
+ if ext.protect:
+ out.append(f'#ifdef {ext.protect}\n')
+ out.append(f' {{"{ext.name}", {ext.specVersion}}},\n')
+ if ext.protect:
+ out.append('#endif\n')
+ out.append('};\n')
+ out.append('// Map of device extension name to version\n')
+ out.append('static const std::unordered_map<std::string, uint32_t> device_extension_map = {\n')
+ for ext in [x for x in self.vk.extensions.values() if x.device and x.name not in self.ignore_exts]:
+ if ext.protect:
+ out.append(f'#ifdef {ext.protect}\n')
+ out.append(f' {{"{ext.name}", {ext.specVersion}}},\n')
+ if ext.protect:
+ out.append('#endif\n')
+ out.append('};\n')
+ current_protect = None
+ for name, cmd in self.vk.commands.items():
+ prepend_newline = '\n'
+ if cmd.protect != current_protect:
+ if current_protect is not None:
+ out.append(f'#endif /* {current_protect} */\n')
+ prepend_newline = ''
+ if current_protect is not None and cmd.protect is not None:
+ out.append('\n')
+ if cmd.protect is not None:
+ out.append(f'#ifdef {cmd.protect}\n')
+ current_protect = cmd.protect
+ out.append(f'{prepend_newline}static {cmd.cPrototype.replace(name, name[2:])}\n')
+ if current_protect is not None:
+ out.append('#endif\n')
- def endFile(self):
- # C-specific
- # Finish C++ namespace
- self.newline()
- if self.function_declarations:
# record intercepted procedures
- write('// Map of all APIs to be intercepted by this layer', file=self.outFile)
- write('static const std::unordered_map<std::string, void*> name_to_funcptr_map = {', file=self.outFile)
- write('\n'.join(self.intercepts), file=self.outFile)
- write('};\n', file=self.outFile)
- write('} // namespace vkmock', file=self.outFile)
- self.newline()
+ out.append('// Map of all APIs to be intercepted by this layer\n')
+ out.append('static const std::unordered_map<std::string, void*> name_to_funcptr_map = {\n')
+ for name, cmd in self.vk.commands.items():
+ if cmd.protect:
+ out.append(f'#ifdef {cmd.protect}\n')
+ out.append(f' {{"{name}", (void*){name[2:]}}},\n')
+ if cmd.protect:
+ out.append('#endif\n')
+ out.append('};\n')
- # Finish processing in superclass
- OutputGenerator.endFile(self)
- def beginFeature(self, interface, emit):
- #write('// starting beginFeature', file=self.outFile)
- # Start processing in superclass
- OutputGenerator.beginFeature(self, interface, emit)
- self.featureExtraProtect = GetFeatureProtect(interface)
- # C-specific
- # Accumulate includes, defines, types, enums, function pointer typedefs,
- # end function prototypes separately for this feature. They're only
- # printed in endFeature().
- self.sections = dict([(section, []) for section in self.ALL_SECTIONS])
- #write('// ending beginFeature', file=self.outFile)
- def endFeature(self):
- # C-specific
- # Actually write the interface to the output file.
- #write('// starting endFeature', file=self.outFile)
- if (self.emit):
- self.newline()
- if (self.genOpts.protectFeature):
- write('#ifndef', self.featureName, file=self.outFile)
- # If type declarations are needed by other features based on
- # this one, it may be necessary to suppress the ExtraProtect,
- # or move it below the 'for section...' loop.
- #write('// endFeature looking at self.featureExtraProtect', file=self.outFile)
- if (self.featureExtraProtect != None):
- write('#ifdef', self.featureExtraProtect, file=self.outFile)
- #write('#define', self.featureName, '1', file=self.outFile)
- for section in self.TYPE_SECTIONS:
- #write('// endFeature writing section'+section, file=self.outFile)
- contents = self.sections[section]
- if contents:
- write('\n'.join(contents), file=self.outFile)
- self.newline()
- #write('// endFeature looking at self.sections[command]', file=self.outFile)
- if (self.sections['command']):
- write('\n'.join(self.sections['command']), end=u'', file=self.outFile)
- self.newline()
- if (self.featureExtraProtect != None):
- write('#endif /*', self.featureExtraProtect, '*/', file=self.outFile)
- if (self.genOpts.protectFeature):
- write('#endif /*', self.featureName, '*/', file=self.outFile)
- # Finish processing in superclass
- OutputGenerator.endFeature(self)
- #write('// ending endFeature', file=self.outFile)
- #
- # Append a definition to the specified section
- def appendSection(self, section, text):
- # self.sections[section].append('SECTION: ' + section + '\n')
- self.sections[section].append(text)
- #
- # Type generation
- def genType(self, typeinfo, name, alias):
- pass
- #
- # Struct (e.g. C "struct" type) generation.
- # This is a special case of the <type> tag where the contents are
- # interpreted as a set of <member> tags instead of freeform C
- # C type declarations. The <member> tags are just like <param>
- # tags - they are a declaration of a struct or union member.
- # Only simple member declarations are supported (no nested
- # structs etc.)
- def genStruct(self, typeinfo, typeName, alias):
- OutputGenerator.genStruct(self, typeinfo, typeName, alias)
- body = 'typedef ' + typeinfo.elem.get('category') + ' ' + typeName + ' {\n'
- # paramdecl = self.makeCParamDecl(typeinfo.elem, self.genOpts.alignFuncParam)
- for member in typeinfo.elem.findall('.//member'):
- body += self.makeCParamDecl(member, self.genOpts.alignFuncParam)
- body += ';\n'
- body += '} ' + typeName + ';\n'
- self.appendSection('struct', body)
- #
- # Group (e.g. C "enum" type) generation.
- # These are concatenated together with other types.
- def genGroup(self, groupinfo, groupName, alias):
- pass
- # Enumerant generation
- # <enum> tags may specify their values in several ways, but are usually
- # just integers.
- def genEnum(self, enuminfo, name, alias):
- pass
- #
- # Command generation
- def genCmd(self, cmdinfo, name, alias):
- decls = self.makeCDecls(cmdinfo.elem)
- if self.function_declarations: # In the header declare all intercepts
- self.appendSection('command', '')
- self.appendSection('command', 'static %s' % (decls[0]))
- if (self.featureExtraProtect != None):
- self.intercepts += [ '#ifdef %s' % self.featureExtraProtect ]
- self.intercepts += [ ' {"%s", (void*)%s},' % (name,name[2:]) ]
- if (self.featureExtraProtect != None):
- self.intercepts += [ '#endif' ]
- return
+ def generate_function_definitions(self, out):
+ out.append('#include "mock_icd.h"\n')
+ out.append('#include "function_declarations.h"\n')
+ out.append('namespace vkmock {\n')
manual_functions = [
# Include functions here to be intercepted w/ manually implemented function bodies
@@ -1537,99 +1292,127 @@ class MockICDOutputGenerator(OutputGenerator):
'vkEnumerateDeviceLayerProperties',
'vkEnumerateDeviceExtensionProperties',
]
- if name in manual_functions:
- self.appendSection('command', '')
- if name not in CUSTOM_C_INTERCEPTS:
- self.appendSection('command', '// declare only')
- self.appendSection('command', 'static %s' % (decls[0]))
- self.appendSection('command', '// TODO: Implement custom intercept body')
- else:
- self.appendSection('command', 'static %s' % (decls[0][:-1]))
- self.appendSection('command', '{\n%s}' % (CUSTOM_C_INTERCEPTS[name]))
- self.intercepts += [ ' {"%s", (void*)%s},' % (name,name[2:]) ]
- return
- # record that the function will be intercepted
- if (self.featureExtraProtect != None):
- self.intercepts += [ '#ifdef %s' % self.featureExtraProtect ]
- self.intercepts += [ ' {"%s", (void*)%s},' % (name,name[2:]) ]
- if (self.featureExtraProtect != None):
- self.intercepts += [ '#endif' ]
+ current_protect = None
+ for name, cmd in self.vk.commands.items():
+ if cmd.protect != current_protect:
+ if current_protect is not None:
+ out.append(f'#endif /* {current_protect} */\n')
+ if current_protect is not None and cmd.protect is not None:
+ out.append('\n')
+ if cmd.protect is not None:
+ out.append(f'#ifdef {cmd.protect}\n')
+ current_protect = cmd.protect
+
+ if name in manual_functions:
+ if name not in CUSTOM_C_INTERCEPTS:
+ out.append(f'static {cmd.cPrototype.replace(name, name[2:])}\n')
+ out.append('// TODO: Implement custom intercept body\n')
+ else:
+ out.append(f'static {cmd.cPrototype[:-1].replace(name, name[2:])}\n')
+ out.append(f'{{{CUSTOM_C_INTERCEPTS[name]}}}\n')
+ continue
+
+ out.append(f'static {cmd.cPrototype[:-1].replace(name, name[2:])}\n')
+ if name in CUSTOM_C_INTERCEPTS:
+ out.append(f'{{{CUSTOM_C_INTERCEPTS[name]}}}\n')
+ continue
- OutputGenerator.genCmd(self, cmdinfo, name, alias)
- #
- self.appendSection('command', '')
- self.appendSection('command', 'static %s' % (decls[0][:-1]))
- if name in CUSTOM_C_INTERCEPTS:
- self.appendSection('command', '{%s}' % (CUSTOM_C_INTERCEPTS[name]))
- return
+ # if the name w/ KHR postfix is in the CUSTOM_C_INTERCEPTS
+ # Call the KHR custom version instead of generating separate code
+ khr_name = name + "KHR"
+ if khr_name in CUSTOM_C_INTERCEPTS:
+ return_string = ''
+ if cmd.returnType != 'void':
+ return_string = 'return '
- # Declare result variable, if any.
- resulttype = cmdinfo.elem.find('proto/type')
- if (resulttype != None and resulttype.text == 'void'):
- resulttype = None
- # if the name w/ KHR postfix is in the CUSTOM_C_INTERCEPTS
- # Call the KHR custom version instead of generating separate code
- khr_name = name + "KHR"
- if khr_name in CUSTOM_C_INTERCEPTS:
- return_string = ''
- if resulttype != None:
- return_string = 'return '
- params = cmdinfo.elem.findall('param/name')
- param_names = []
- for param in params:
- param_names.append(param.text)
- self.appendSection('command', '{\n %s%s(%s);\n}' % (return_string, khr_name[2:], ", ".join(param_names)))
- return
- self.appendSection('command', '{')
+ param_names = []
+ for param in cmd.params:
+ param_names.append(param.name)
+ out.append(f'{{\n {return_string}{khr_name[2:]}({", ".join(param_names)});\n}}\n')
+ continue
+ out.append('{\n')
- api_function_name = cmdinfo.elem.attrib.get('name')
- # GET THE TYPE OF FUNCTION
- if any(api_function_name.startswith(ftxt) for ftxt in ('vkCreate', 'vkAllocate')):
- # Get last param
- last_param = cmdinfo.elem.findall('param')[-1]
- lp_txt = last_param.find('name').text
- lp_len = None
- if ('len' in last_param.attrib):
- lp_len = last_param.attrib['len']
- lp_len = lp_len.replace('::', '->')
- lp_type = last_param.find('type').text
- handle_type = 'dispatchable'
- allocator_txt = 'CreateDispObjHandle()';
- if (self.isHandleTypeNonDispatchable(lp_type)):
- handle_type = 'non-' + handle_type
- allocator_txt = 'global_unique_handle++';
- # Need to lock in both cases
- self.appendSection('command', ' unique_lock_t lock(global_lock);')
- if (lp_len != None):
- #print("%s last params (%s) has len %s" % (handle_type, lp_txt, lp_len))
- self.appendSection('command', ' for (uint32_t i = 0; i < %s; ++i) {' % (lp_len))
- self.appendSection('command', ' %s[i] = (%s)%s;' % (lp_txt, lp_type, allocator_txt))
- self.appendSection('command', ' }')
+ # GET THE TYPE OF FUNCTION
+ if any(name.startswith(ftxt) for ftxt in ('vkCreate', 'vkAllocate')):
+ # Get last param
+ last_param = cmd.params[-1]
+ lp_txt = last_param.name
+ lp_len = None
+ if last_param.length is not None:
+ lp_len = last_param.length
+ lp_len = lp_len.replace('::', '->')
+ lp_type = last_param.type
+ handle_type = 'dispatchable'
+ allocator_txt = 'CreateDispObjHandle()'
+ if lp_type not in self.dispatchable_handles:
+ handle_type = 'non-' + handle_type
+ allocator_txt = 'global_unique_handle++'
+ # Need to lock in both cases
+ out.append(' unique_lock_t lock(global_lock);\n')
+ if lp_len is not None:
+ #print("%s last params (%s) has len %s" % (handle_type, lp_txt, lp_len))
+ out.append(f' for (uint32_t i = 0; i < {lp_len}; ++i) {{\n')
+ out.append(f' {lp_txt}[i] = ({lp_type}){allocator_txt};\n')
+ out.append(' }\n')
+ else:
+ #print("Single %s last param is '%s' w/ type '%s'" % (handle_type, lp_txt, lp_type))
+ if 'AllocateMemory' in name:
+ # Store allocation size in case it's mapped
+ out.append(' allocated_memory_size_map[(VkDeviceMemory)global_unique_handle] = pAllocateInfo->allocationSize;\n')
+ out.append(f' *{lp_txt} = ({lp_type}){allocator_txt};\n')
+ elif True in [ftxt in name for ftxt in ['Destroy', 'Free']]:
+ out.append('//Destroy object\n')
+ if 'FreeMemory' in name:
+ # If the memory is mapped, unmap it
+ out.append(' UnmapMemory(device, memory);\n')
+ # Remove from allocation map
+ out.append(' unique_lock_t lock(global_lock);\n')
+ out.append(' allocated_memory_size_map.erase(memory);\n')
else:
- #print("Single %s last param is '%s' w/ type '%s'" % (handle_type, lp_txt, lp_type))
- if 'AllocateMemory' in api_function_name:
- # Store allocation size in case it's mapped
- self.appendSection('command', ' allocated_memory_size_map[(VkDeviceMemory)global_unique_handle] = pAllocateInfo->allocationSize;')
- self.appendSection('command', ' *%s = (%s)%s;' % (lp_txt, lp_type, allocator_txt))
- elif True in [ftxt in api_function_name for ftxt in ['Destroy', 'Free']]:
- self.appendSection('command', '//Destroy object')
- if 'FreeMemory' in api_function_name:
- # If the memory is mapped, unmap it
- self.appendSection('command', ' UnmapMemory(device, memory);')
- # Remove from allocation map
- self.appendSection('command', ' unique_lock_t lock(global_lock);')
- self.appendSection('command', ' allocated_memory_size_map.erase(memory);')
+ out.append('//Not a CREATE or DESTROY function\n')
+
+ # Return result variable, if any.
+ if cmd.returnType != 'void':
+ if name == 'vkGetEventStatus':
+ out.append(' return VK_EVENT_SET;\n')
+ else:
+ out.append(' return VK_SUCCESS;\n')
+ out.append('}\n')
+ if current_protect is not None:
+ out.append('#endif\n')
+
+ def generate(self):
+ out = []
+ out.append('''/*
+** Copyright (c) 2015-2025 The Khronos Group Inc.
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+
+/*
+** This header is generated from the Khronos Vulkan XML API Registry.
+**
+*/
+
+#pragma once
+''')
+
+ if self.filename == "function_declarations.h":
+ self.generate_function_declarations(out)
else:
- self.appendSection('command', '//Not a CREATE or DESTROY function')
+ self.generate_function_definitions(out)
- # Return result variable, if any.
- if (resulttype != None):
- if api_function_name == 'vkGetEventStatus':
- self.appendSection('command', ' return VK_EVENT_SET;')
- else:
- self.appendSection('command', ' return VK_SUCCESS;')
- self.appendSection('command', '}')
- #
- # override makeProtoName to drop the "vk" prefix
- def makeProtoName(self, name, tail):
- return self.genOpts.apientry + name[2:] + tail
+ out.append('\n')
+ out.append('} // namespace vkmock\n')
+ out.append('\n')
+ self.write(''.join(out))
diff --git a/scripts/generators/vulkan_tools_helper_file_generator.py b/scripts/generators/vulkan_tools_helper_file_generator.py
index b0e486ef..baf3e816 100644
--- a/scripts/generators/vulkan_tools_helper_file_generator.py
+++ b/scripts/generators/vulkan_tools_helper_file_generator.py
@@ -21,1220 +21,143 @@
# Author: Tobin Ehlis <tobine@google.com>
# Author: John Zulauf <jzulauf@lunarg.com>
-import os,re,sys
-import xml.etree.ElementTree as etree
-from generator import *
-from collections import namedtuple
-from common_codegen import *
+from base_generator import BaseGenerator
-#
-# HelperFileOutputGeneratorOptions - subclass of GeneratorOptions.
-class HelperFileOutputGeneratorOptions(GeneratorOptions):
- def __init__(self,
- conventions = None,
- filename = None,
- directory = '.',
- genpath = None,
- apiname = None,
- profile = None,
- versions = '.*',
- emitversions = '.*',
- defaultExtensions = None,
- addExtensions = None,
- removeExtensions = None,
- emitExtensions = None,
- sortProcedure = regSortFeatures,
- prefixText = "",
- genFuncPointers = True,
- protectFile = True,
- protectFeature = True,
- apicall = '',
- apientry = '',
- apientryp = '',
- alignFuncParam = 0,
- library_name = '',
- expandEnumerants = True,
- helper_file_type = ''):
- GeneratorOptions.__init__(self,
- conventions = conventions,
- filename = filename,
- directory = directory,
- genpath = genpath,
- apiname = apiname,
- profile = profile,
- versions = versions,
- emitversions = emitversions,
- defaultExtensions = defaultExtensions,
- addExtensions = addExtensions,
- removeExtensions = removeExtensions,
- emitExtensions = emitExtensions,
- sortProcedure = sortProcedure)
- self.prefixText = prefixText
- self.genFuncPointers = genFuncPointers
- self.protectFile = protectFile
- self.protectFeature = protectFeature
- self.apicall = apicall
- self.apientry = apientry
- self.apientryp = apientryp
- self.alignFuncParam = alignFuncParam
- self.library_name = library_name
- self.helper_file_type = helper_file_type
-#
# HelperFileOutputGenerator - subclass of OutputGenerator. Outputs Vulkan helper files
-class HelperFileOutputGenerator(OutputGenerator):
- """Generate helper file based on XML element attributes"""
- def __init__(self,
- errFile = sys.stderr,
- warnFile = sys.stderr,
- diagFile = sys.stdout):
- OutputGenerator.__init__(self, errFile, warnFile, diagFile)
- # Internal state - accumulators for different inner block text
- self.enum_output = '' # string built up of enum string routines
- # Internal state - accumulators for different inner block text
- self.structNames = [] # List of Vulkan struct typenames
- self.structTypes = dict() # Map of Vulkan struct typename to required VkStructureType
- self.structMembers = [] # List of StructMemberData records for all Vulkan structs
- self.object_types = [] # List of all handle types
- self.object_type_aliases = [] # Aliases to handles types (for handles that were extensions)
- self.debug_report_object_types = [] # Handy copy of debug_report_object_type enum data
- self.core_object_types = [] # Handy copy of core_object_type enum data
- self.device_extension_info = dict() # Dict of device extension name defines and ifdef values
- self.instance_extension_info = dict() # Dict of instance extension name defines and ifdef values
-
- # Named tuples to store struct and command data
- self.StructType = namedtuple('StructType', ['name', 'value'])
- self.CommandParam = namedtuple('CommandParam', ['type', 'name', 'ispointer', 'isstaticarray', 'isconst', 'iscount', 'len', 'extstructs', 'cdecl'])
- self.StructMemberData = namedtuple('StructMemberData', ['name', 'members', 'ifdef_protect'])
-
- self.custom_construct_params = {
- # safe_VkGraphicsPipelineCreateInfo needs to know if subpass has color and\or depth\stencil attachments to use its pointers
- 'VkGraphicsPipelineCreateInfo' :
- ', const bool uses_color_attachment, const bool uses_depthstencil_attachment',
- # safe_VkPipelineViewportStateCreateInfo needs to know if viewport and scissor is dynamic to use its pointers
- 'VkPipelineViewportStateCreateInfo' :
- ', const bool is_dynamic_viewports, const bool is_dynamic_scissors',
- }
- #
- # Called once at the beginning of each run
- def beginFile(self, genOpts):
- OutputGenerator.beginFile(self, genOpts)
- # User-supplied prefix text, if any (list of strings)
- self.helper_file_type = genOpts.helper_file_type
- self.library_name = genOpts.library_name
- # File Comment
- file_comment = '// *** THIS FILE IS GENERATED - DO NOT EDIT ***\n'
- file_comment += '// See vulkan_tools_helper_file_generator.py for modifications\n'
- write(file_comment, file=self.outFile)
- # Copyright Notice
- copyright = ''
- copyright += '\n'
- copyright += '/***************************************************************************\n'
- copyright += ' *\n'
- copyright += ' * Copyright (c) 2015-2017 The Khronos Group Inc.\n'
- copyright += ' * Copyright (c) 2015-2017 Valve Corporation\n'
- copyright += ' * Copyright (c) 2015-2017 LunarG, Inc.\n'
- copyright += ' * Copyright (c) 2015-2017 Google Inc.\n'
- copyright += ' *\n'
- copyright += ' * Licensed under the Apache License, Version 2.0 (the "License");\n'
- copyright += ' * you may not use this file except in compliance with the License.\n'
- copyright += ' * You may obtain a copy of the License at\n'
- copyright += ' *\n'
- copyright += ' * http://www.apache.org/licenses/LICENSE-2.0\n'
- copyright += ' *\n'
- copyright += ' * Unless required by applicable law or agreed to in writing, software\n'
- copyright += ' * distributed under the License is distributed on an "AS IS" BASIS,\n'
- copyright += ' * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n'
- copyright += ' * See the License for the specific language governing permissions and\n'
- copyright += ' * limitations under the License.\n'
- copyright += ' *\n'
- copyright += ' * Author: Mark Lobodzinski <mark@lunarg.com>\n'
- copyright += ' * Author: Courtney Goeltzenleuchter <courtneygo@google.com>\n'
- copyright += ' * Author: Tobin Ehlis <tobine@google.com>\n'
- copyright += ' * Author: Chris Forbes <chrisforbes@google.com>\n'
- copyright += ' * Author: John Zulauf<jzulauf@lunarg.com>\n'
- copyright += ' *\n'
- copyright += ' ****************************************************************************/\n'
- write(copyright, file=self.outFile)
- #
- # Write generated file content to output file
- def endFile(self):
- dest_file = ''
- dest_file += self.OutputDestFile()
- # Remove blank lines at EOF
- if dest_file.endswith('\n'):
- dest_file = dest_file[:-1]
- write(dest_file, file=self.outFile);
- # Finish processing in superclass
- OutputGenerator.endFile(self)
- #
- # Override parent class to be notified of the beginning of an extension
- def beginFeature(self, interface, emit):
- # Start processing in superclass
- OutputGenerator.beginFeature(self, interface, emit)
- self.featureExtraProtect = GetFeatureProtect(interface)
-
- if interface.tag != 'extension':
- return
- name = self.featureName
- for enum in interface.findall('require/enum'):
- if enum.get('name', '').endswith('EXTENSION_NAME'):
- name_define = enum.get('name')
- break
- requires = interface.get('requires')
- if requires is not None:
- required_extensions = requires.split(',')
- else:
- required_extensions = list()
- info = { 'define': name_define, 'ifdef':self.featureExtraProtect, 'reqs':required_extensions }
- if interface.get('type') == 'instance':
- self.instance_extension_info[name] = info
- else:
- self.device_extension_info[name] = info
-
- #
- # Override parent class to be notified of the end of an extension
- def endFeature(self):
- # Finish processing in superclass
- OutputGenerator.endFeature(self)
- #
- # Grab group (e.g. C "enum" type) info to output for enum-string conversion helper
- def genGroup(self, groupinfo, groupName, alias):
- OutputGenerator.genGroup(self, groupinfo, groupName, alias)
- groupElem = groupinfo.elem
- # For enum_string_header
- if self.helper_file_type == 'enum_string_header':
- value_set = set()
- for elem in groupElem.findall('enum'):
- if elem.get('supported') != 'disabled' and elem.get('alias') == None:
- value_set.add(elem.get('name'))
- self.enum_output += self.GenerateEnumStringConversion(groupName, value_set)
- elif self.helper_file_type == 'object_types_header':
- if groupName == 'VkDebugReportObjectTypeEXT':
- for elem in groupElem.findall('enum'):
- if elem.get('supported') != 'disabled':
- item_name = elem.get('name')
- self.debug_report_object_types.append(item_name)
- elif groupName == 'VkObjectType':
- for elem in groupElem.findall('enum'):
- if elem.get('supported') != 'disabled':
- item_name = elem.get('name')
- self.core_object_types.append(item_name)
-
- #
- # Called for each type -- if the type is a struct/union, grab the metadata
- def genType(self, typeinfo, name, alias):
- OutputGenerator.genType(self, typeinfo, name, alias)
- typeElem = typeinfo.elem
- # If the type is a struct type, traverse the imbedded <member> tags generating a structure.
- # Otherwise, emit the tag text.
- category = typeElem.get('category')
- if category == 'handle':
- if alias:
- self.object_type_aliases.append((name,alias))
- else:
- self.object_types.append(name)
- elif (category == 'struct' or category == 'union'):
- self.structNames.append(name)
- self.genStruct(typeinfo, name, alias)
- #
- # Check if the parameter passed in is a pointer
- def paramIsPointer(self, param):
- ispointer = False
- for elem in param:
- if ((elem.tag != 'type') and (elem.tail is not None)) and '*' in elem.tail:
- ispointer = True
- return ispointer
- #
- # Check if the parameter passed in is a static array
- def paramIsStaticArray(self, param):
- isstaticarray = 0
- paramname = param.find('name')
- if (paramname.tail is not None) and ('[' in paramname.tail):
- isstaticarray = paramname.tail.count('[')
- return isstaticarray
- #
- # Retrieve the type and name for a parameter
- def getTypeNameTuple(self, param):
- type = ''
- name = ''
- for elem in param:
- if elem.tag == 'type':
- type = noneStr(elem.text)
- elif elem.tag == 'name':
- name = noneStr(elem.text)
- return (type, name)
- #
- # Retrieve the value of the len tag
- def getLen(self, param):
- result = None
- len = param.attrib.get('len')
- if len and len != 'null-terminated':
- # For string arrays, 'len' can look like 'count,null-terminated', indicating that we
- # have a null terminated array of strings. We strip the null-terminated from the
- # 'len' field and only return the parameter specifying the string count
- if 'null-terminated' in len:
- result = len.split(',')[0]
- else:
- result = len
- if 'altlen' in param.attrib:
- # Elements with latexmath 'len' also contain a C equivalent 'altlen' attribute
- # Use indexing operator instead of get() so we fail if the attribute is missing
- result = param.attrib['altlen']
- # Spec has now notation for len attributes, using :: instead of platform specific pointer symbol
- result = str(result).replace('::', '->')
- return result
- #
- # Check if a structure is or contains a dispatchable (dispatchable = True) or
- # non-dispatchable (dispatchable = False) handle
- def TypeContainsObjectHandle(self, handle_type, dispatchable):
- if dispatchable:
- type_key = 'VK_DEFINE_HANDLE'
- else:
- type_key = 'VK_DEFINE_NON_DISPATCHABLE_HANDLE'
- handle = self.registry.tree.find("types/type/[name='" + handle_type + "'][@category='handle']")
- if handle is not None and handle.find('type').text == type_key:
- return True
- # if handle_type is a struct, search its members
- if handle_type in self.structNames:
- member_index = next((i for i, v in enumerate(self.structMembers) if v[0] == handle_type), None)
- if member_index is not None:
- for item in self.structMembers[member_index].members:
- handle = self.registry.tree.find("types/type/[name='" + item.type + "'][@category='handle']")
- if handle is not None and handle.find('type').text == type_key:
- return True
- return False
- #
- # Generate local ready-access data describing Vulkan structures and unions from the XML metadata
- def genStruct(self, typeinfo, typeName, alias):
- OutputGenerator.genStruct(self, typeinfo, typeName, alias)
- members = typeinfo.elem.findall('.//member')
- # Iterate over members once to get length parameters for arrays
- lens = set()
- for member in members:
- len = self.getLen(member)
- if len:
- lens.add(len)
- # Generate member info
- membersInfo = []
- for member in members:
- # Get the member's type and name
- info = self.getTypeNameTuple(member)
- type = info[0]
- name = info[1]
- cdecl = self.makeCParamDecl(member, 1)
- # Process VkStructureType
- if type == 'VkStructureType':
- # Extract the required struct type value from the comments
- # embedded in the original text defining the 'typeinfo' element
- rawXml = etree.tostring(typeinfo.elem).decode('ascii')
- result = re.search(r'VK_STRUCTURE_TYPE_\w+', rawXml)
- if result:
- value = result.group(0)
- # Store the required type value
- self.structTypes[typeName] = self.StructType(name=name, value=value)
- # Store pointer/array/string info
- isstaticarray = self.paramIsStaticArray(member)
- membersInfo.append(self.CommandParam(type=type,
- name=name,
- ispointer=self.paramIsPointer(member),
- isstaticarray=isstaticarray,
- isconst=True if 'const' in cdecl else False,
- iscount=True if name in lens else False,
- len=self.getLen(member),
- extstructs=self.registry.validextensionstructs[typeName] if name == 'pNext' else None,
- cdecl=cdecl))
- self.structMembers.append(self.StructMemberData(name=typeName, members=membersInfo, ifdef_protect=self.featureExtraProtect))
- #
- # Enum_string_header: Create a routine to convert an enumerated value into a string
- def GenerateEnumStringConversion(self, groupName, value_list):
- outstring = '\n'
- outstring += 'static inline const char* string_%s(%s input_value)\n' % (groupName, groupName)
- outstring += '{\n'
- outstring += ' switch ((%s)input_value)\n' % groupName
- outstring += ' {\n'
- for item in value_list:
- outstring += ' case %s:\n' % item
- outstring += ' return "%s";\n' % item
- outstring += ' default:\n'
- outstring += ' return "Unhandled %s";\n' % groupName
- outstring += ' }\n'
- outstring += '}\n'
- return outstring
- #
- # Tack on a helper which, given an index into a VkPhysicalDeviceFeatures structure, will print the corresponding feature name
- def DeIndexPhysDevFeatures(self):
- pdev_members = None
- for name, members, ifdef in self.structMembers:
- if name == 'VkPhysicalDeviceFeatures':
- pdev_members = members
- break
- deindex = '\n'
- deindex += 'static inline const char * GetPhysDevFeatureString(uint32_t index) {\n'
- deindex += ' const char * IndexToPhysDevFeatureString[] = {\n'
- for feature in pdev_members:
- deindex += ' "%s",\n' % feature.name
- deindex += ' };\n\n'
- deindex += ' return IndexToPhysDevFeatureString[index];\n'
- deindex += '}\n'
- return deindex
- #
- # Combine enum string helper header file preamble with body text and return
- def GenerateEnumStringHelperHeader(self):
- enum_string_helper_header = '\n'
- enum_string_helper_header += '#pragma once\n'
- enum_string_helper_header += '#ifdef _WIN32\n'
- enum_string_helper_header += '#pragma warning( disable : 4065 )\n'
- enum_string_helper_header += '#endif\n'
- enum_string_helper_header += '\n'
- enum_string_helper_header += '#include <vulkan/vulkan.h>\n'
- enum_string_helper_header += '\n'
- enum_string_helper_header += self.enum_output
- enum_string_helper_header += self.DeIndexPhysDevFeatures()
- return enum_string_helper_header
- #
- # Helper function for declaring a counter variable only once
- def DeclareCounter(self, string_var, declare_flag):
- if declare_flag == False:
- string_var += ' uint32_t i = 0;\n'
- declare_flag = True
- return string_var, declare_flag
- #
- # Combine safe struct helper header file preamble with body text and return
- def GenerateSafeStructHelperHeader(self):
- safe_struct_helper_header = '\n'
- safe_struct_helper_header += '#pragma once\n'
- safe_struct_helper_header += '#include <vulkan/vulkan.h>\n'
- safe_struct_helper_header += '\n'
- safe_struct_helper_header += self.GenerateSafeStructHeader()
- return safe_struct_helper_header
- #
- # safe_struct header: build function prototypes for header file
- def GenerateSafeStructHeader(self):
- safe_struct_header = ''
- for item in self.structMembers:
- if self.NeedSafeStruct(item) == True:
- safe_struct_header += '\n'
- if item.ifdef_protect != None:
- safe_struct_header += '#ifdef %s\n' % item.ifdef_protect
- safe_struct_header += 'struct safe_%s {\n' % (item.name)
- for member in item.members:
- if member.type in self.structNames:
- member_index = next((i for i, v in enumerate(self.structMembers) if v[0] == member.type), None)
- if member_index is not None and self.NeedSafeStruct(self.structMembers[member_index]) == True:
- if member.ispointer:
- safe_struct_header += ' safe_%s* %s;\n' % (member.type, member.name)
- else:
- safe_struct_header += ' safe_%s %s;\n' % (member.type, member.name)
- continue
- if member.len is not None and (self.TypeContainsObjectHandle(member.type, True) or self.TypeContainsObjectHandle(member.type, False)):
- safe_struct_header += ' %s* %s;\n' % (member.type, member.name)
- else:
- safe_struct_header += '%s;\n' % member.cdecl
- safe_struct_header += ' safe_%s(const %s* in_struct%s);\n' % (item.name, item.name, self.custom_construct_params.get(item.name, ''))
- safe_struct_header += ' safe_%s(const safe_%s& src);\n' % (item.name, item.name)
- safe_struct_header += ' safe_%s& operator=(const safe_%s& src);\n' % (item.name, item.name)
- safe_struct_header += ' safe_%s();\n' % item.name
- safe_struct_header += ' ~safe_%s();\n' % item.name
- safe_struct_header += ' void initialize(const %s* in_struct%s);\n' % (item.name, self.custom_construct_params.get(item.name, ''))
- safe_struct_header += ' void initialize(const safe_%s* src);\n' % (item.name)
- safe_struct_header += ' %s *ptr() { return reinterpret_cast<%s *>(this); }\n' % (item.name, item.name)
- safe_struct_header += ' %s const *ptr() const { return reinterpret_cast<%s const *>(this); }\n' % (item.name, item.name)
- safe_struct_header += '};\n'
- if item.ifdef_protect != None:
- safe_struct_header += '#endif // %s\n' % item.ifdef_protect
- return safe_struct_header
- #
- # Generate extension helper header file
- def GenerateExtensionHelperHeader(self):
-
- V_1_0_instance_extensions_promoted_to_core = [
- 'vk_khr_device_group_creation',
- 'vk_khr_external_fence_capabilities',
- 'vk_khr_external_memory_capabilities',
- 'vk_khr_external_semaphore_capabilities',
- 'vk_khr_get_physical_device_properties_2',
- ]
-
- V_1_0_device_extensions_promoted_to_core = [
- 'vk_khr_16bit_storage',
- 'vk_khr_bind_memory_2',
- 'vk_khr_dedicated_allocation',
- 'vk_khr_descriptor_update_template',
- 'vk_khr_device_group',
- 'vk_khr_external_fence',
- 'vk_khr_external_memory',
- 'vk_khr_external_semaphore',
- 'vk_khr_get_memory_requirements_2',
- 'vk_khr_maintenance1',
- 'vk_khr_maintenance2',
- 'vk_khr_maintenance3',
- 'vk_khr_multiview',
- 'vk_khr_relaxed_block_layout',
- 'vk_khr_sampler_ycbcr_conversion',
- 'vk_khr_shader_draw_parameters',
- 'vk_khr_storage_buffer_storage_class',
- 'vk_khr_variable_pointers',
- ]
-
- output = [
- '',
- '#ifndef VK_EXTENSION_HELPER_H_',
- '#define VK_EXTENSION_HELPER_H_',
- '#include <string>',
- '#include <unordered_map>',
- '#include <utility>',
- '',
- '#include <vulkan/vulkan.h>',
- '']
-
- def guarded(ifdef, value):
- if ifdef is not None:
- return '\n'.join([ '#ifdef %s' % ifdef, value, '#endif' ])
- else:
- return value
-
- for type in ['Instance', 'Device']:
- struct_type = '%sExtensions' % type
- if type == 'Instance':
- extension_dict = self.instance_extension_info
- promoted_ext_list = V_1_0_instance_extensions_promoted_to_core
- struct_decl = 'struct %s {' % struct_type
- instance_struct_type = struct_type
- else:
- extension_dict = self.device_extension_info
- promoted_ext_list = V_1_0_device_extensions_promoted_to_core
- struct_decl = 'struct %s : public %s {' % (struct_type, instance_struct_type)
-
- extension_items = sorted(extension_dict.items())
-
- field_name = { ext_name: re.sub('_extension_name', '', info['define'].lower()) for ext_name, info in extension_items }
- if type == 'Instance':
- instance_field_name = field_name
- instance_extension_dict = extension_dict
- else:
- # Get complete field name and extension data for both Instance and Device extensions
- field_name.update(instance_field_name)
- extension_dict = extension_dict.copy() # Don't modify the self.<dict> we're pointing to
- extension_dict.update(instance_extension_dict)
-
- # Output the data member list
- struct = [struct_decl]
- struct.extend([ ' bool %s{false};' % field_name[ext_name] for ext_name, info in extension_items])
-
- # Construct the extension information map -- mapping name to data member (field), and required extensions
- # The map is contained within a static function member for portability reasons.
- info_type = '%sInfo' % type
- info_map_type = '%sMap' % info_type
- req_type = '%sReq' % type
- req_vec_type = '%sVec' % req_type
- struct.extend([
- '',
- ' struct %s {' % req_type,
- ' const bool %s::* enabled;' % struct_type,
- ' const char *name;',
- ' };',
- ' typedef std::vector<%s> %s;' % (req_type, req_vec_type),
- ' struct %s {' % info_type,
- ' %s(bool %s::* state_, const %s requires_): state(state_), requires(requires_) {}' % ( info_type, struct_type, req_vec_type),
- ' bool %s::* state;' % struct_type,
- ' %s requires;' % req_vec_type,
- ' };',
- '',
- ' typedef std::unordered_map<std::string,%s> %s;' % (info_type, info_map_type),
- ' static const %s &get_info(const char *name) {' %info_type,
- ' static const %s info_map = {' % info_map_type ])
-
- field_format = '&' + struct_type + '::%s'
- req_format = '{' + field_format+ ', %s}'
- req_indent = '\n '
- req_join = ',' + req_indent
- info_format = (' std::make_pair(%s, ' + info_type + '(' + field_format + ', {%s})),')
- def format_info(ext_name, info):
- reqs = req_join.join([req_format % (field_name[req], extension_dict[req]['define']) for req in info['reqs']])
- return info_format % (info['define'], field_name[ext_name], '{%s}' % (req_indent + reqs) if reqs else '')
-
- struct.extend([guarded(info['ifdef'], format_info(ext_name, info)) for ext_name, info in extension_items])
- struct.extend([
- ' };',
- '',
- ' static const %s empty_info {nullptr, %s()};' % (info_type, req_vec_type),
- ' %s::const_iterator info = info_map.find(name);' % info_map_type,
- ' if ( info != info_map.cend()) {',
- ' return info->second;',
- ' }',
- ' return empty_info;',
- ' }',
- ''])
-
- if type == 'Instance':
- struct.extend([
- ' uint32_t NormalizeApiVersion(uint32_t specified_version) {',
- ' uint32_t api_version = (specified_version < VK_API_VERSION_1_1) ? VK_API_VERSION_1_0 : VK_API_VERSION_1_1;',
- ' return api_version;',
- ' }',
- '',
- ' uint32_t InitFromInstanceCreateInfo(uint32_t requested_api_version, const VkInstanceCreateInfo *pCreateInfo) {'])
- else:
- struct.extend([
- ' %s() = default;' % struct_type,
- ' %s(const %s& instance_ext) : %s(instance_ext) {}' % (struct_type, instance_struct_type, instance_struct_type),
- '',
- ' uint32_t InitFromDeviceCreateInfo(const %s *instance_extensions, uint32_t requested_api_version,' % instance_struct_type,
- ' const VkDeviceCreateInfo *pCreateInfo) {',
- ' // Initialize: this to defaults, base class fields to input.',
- ' assert(instance_extensions);',
- ' *this = %s(*instance_extensions);' % struct_type])
-
- struct.extend([
- '',
- ' static const std::vector<const char *> V_1_0_promoted_%s_extensions = {' % type.lower() ])
- struct.extend([' %s_EXTENSION_NAME,' % ext_name.upper() for ext_name in promoted_ext_list])
- struct.extend([
- ' };',
- '',
- ' // Initialize struct data, robust to invalid pCreateInfo',
- ' if (pCreateInfo->ppEnabledExtensionNames) {',
- ' for (uint32_t i = 0; i < pCreateInfo->enabledExtensionCount; i++) {',
- ' if (!pCreateInfo->ppEnabledExtensionNames[i]) continue;',
- ' auto info = get_info(pCreateInfo->ppEnabledExtensionNames[i]);',
- ' if(info.state) this->*(info.state) = true;',
- ' }',
- ' }',
- ' uint32_t api_version = NormalizeApiVersion(requested_api_version);',
- ' if (api_version >= VK_API_VERSION_1_1) {',
- ' for (auto promoted_ext : V_1_0_promoted_%s_extensions) {' % type.lower(),
- ' auto info = get_info(promoted_ext);',
- ' assert(info.state);',
- ' if (info.state) this->*(info.state) = true;',
- ' }',
- ' }',
- ' return api_version;',
- ' }',
- '};'])
-
- # Output reference lists of instance/device extension names
- struct.extend(['', 'static const char * const k%sExtensionNames = ' % type])
- struct.extend([guarded(info['ifdef'], ' %s' % info['define']) for ext_name, info in extension_items])
- struct.extend([';', ''])
- output.extend(struct)
-
- output.extend(['', '#endif // VK_EXTENSION_HELPER_H_'])
- return '\n'.join(output)
- #
- # Combine object types helper header file preamble with body text and return
- def GenerateObjectTypesHelperHeader(self):
- object_types_helper_header = '\n'
- object_types_helper_header += '#pragma once\n'
- object_types_helper_header += '\n'
- object_types_helper_header += '#include <vulkan/vulkan.h>\n\n'
- object_types_helper_header += self.GenerateObjectTypesHeader()
- return object_types_helper_header
- #
- # Object types header: create object enum type header file
- def GenerateObjectTypesHeader(self):
- object_types_header = ''
- object_types_header += '// Object Type enum for validation layer internal object handling\n'
- object_types_header += 'typedef enum VulkanObjectType {\n'
- object_types_header += ' kVulkanObjectTypeUnknown = 0,\n'
- enum_num = 1
- type_list = [];
- enum_entry_map = {}
+class HelperFileOutputGenerator(BaseGenerator):
+ def __init__(self):
+ BaseGenerator.__init__(self)
- # Output enum definition as each handle is processed, saving the names to use for the conversion routine
- for item in self.object_types:
- fixup_name = item[2:]
- enum_entry = 'kVulkanObjectType%s' % fixup_name
- enum_entry_map[item] = enum_entry
- object_types_header += ' ' + enum_entry
- object_types_header += ' = %d,\n' % enum_num
- enum_num += 1
- type_list.append(enum_entry)
- object_types_header += ' kVulkanObjectTypeMax = %d,\n' % enum_num
- object_types_header += ' // Aliases for backwards compatibilty of "promoted" types\n'
- for (name, alias) in self.object_type_aliases:
- fixup_name = name[2:]
- object_types_header += ' kVulkanObjectType{} = {},\n'.format(fixup_name, enum_entry_map[alias])
- object_types_header += '} VulkanObjectType;\n\n'
- # Output name string helper
- object_types_header += '// Array of object name strings for OBJECT_TYPE enum conversion\n'
- object_types_header += 'static const char * const object_string[kVulkanObjectTypeMax] = {\n'
- object_types_header += ' "Unknown",\n'
- for item in self.object_types:
- fixup_name = item[2:]
- object_types_header += ' "%s",\n' % fixup_name
- object_types_header += '};\n'
+ def generate(self):
+ out = []
- # Key creation helper for map comprehensions that convert between k<Name> and VK<Name> symbols
- def to_key(regex, raw_key): return re.search(regex, raw_key).group(1).lower().replace("_","")
-
- # Output a conversion routine from the layer object definitions to the debug report definitions
- # As the VK_DEBUG_REPORT types are not being updated, specify UNKNOWN for unmatched types
- object_types_header += '\n'
- object_types_header += '// Helper array to get Vulkan VK_EXT_debug_report object type enum from the internal layers version\n'
- object_types_header += 'const VkDebugReportObjectTypeEXT get_debug_report_enum[] = {\n'
- object_types_header += ' VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, // kVulkanObjectTypeUnknown\n'
-
- dbg_re = '^VK_DEBUG_REPORT_OBJECT_TYPE_(.*)_EXT$'
- dbg_map = {to_key(dbg_re, dbg) : dbg for dbg in self.debug_report_object_types}
- dbg_default = 'VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT'
- for object_type in type_list:
- vk_object_type = dbg_map.get(object_type.replace("kVulkanObjectType", "").lower(), dbg_default)
- object_types_header += ' %s, // %s\n' % (vk_object_type, object_type)
- object_types_header += '};\n'
-
- # Output a conversion routine from the layer object definitions to the core object type definitions
- # This will intentionally *fail* for unmatched types as the VK_OBJECT_TYPE list should match the kVulkanObjectType list
- object_types_header += '\n'
- object_types_header += '// Helper array to get Official Vulkan VkObjectType enum from the internal layers version\n'
- object_types_header += 'const VkObjectType get_object_type_enum[] = {\n'
- object_types_header += ' VK_OBJECT_TYPE_UNKNOWN, // kVulkanObjectTypeUnknown\n'
-
- vko_re = '^VK_OBJECT_TYPE_(.*)'
- vko_map = {to_key(vko_re, vko) : vko for vko in self.core_object_types}
- for object_type in type_list:
- vk_object_type = vko_map[object_type.replace("kVulkanObjectType", "").lower()]
- object_types_header += ' %s, // %s\n' % (vk_object_type, object_type)
- object_types_header += '};\n'
-
- # Create a function to convert from VkDebugReportObjectTypeEXT to VkObjectType
- object_types_header += '\n'
- object_types_header += '// Helper function to convert from VkDebugReportObjectTypeEXT to VkObjectType\n'
- object_types_header += 'static inline VkObjectType convertDebugReportObjectToCoreObject(VkDebugReportObjectTypeEXT debug_report_obj){\n'
- object_types_header += ' if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT) {\n'
- object_types_header += ' return VK_OBJECT_TYPE_UNKNOWN;\n'
- for core_object_type in self.core_object_types:
- core_target_type = core_object_type.replace("VK_OBJECT_TYPE_", "").lower()
- core_target_type = core_target_type.replace("_", "")
- for dr_object_type in self.debug_report_object_types:
- dr_target_type = dr_object_type.replace("VK_DEBUG_REPORT_OBJECT_TYPE_", "").lower()
- dr_target_type = dr_target_type[:-4]
- dr_target_type = dr_target_type.replace("_", "")
- if core_target_type == dr_target_type:
- object_types_header += ' } else if (debug_report_obj == %s) {\n' % dr_object_type
- object_types_header += ' return %s;\n' % core_object_type
- break
- object_types_header += ' }\n'
- object_types_header += ' return VK_OBJECT_TYPE_UNKNOWN;\n'
- object_types_header += '}\n'
-
- # Create a function to convert from VkObjectType to VkDebugReportObjectTypeEXT
- object_types_header += '\n'
- object_types_header += '// Helper function to convert from VkDebugReportObjectTypeEXT to VkObjectType\n'
- object_types_header += 'static inline VkDebugReportObjectTypeEXT convertCoreObjectToDebugReportObject(VkObjectType core_report_obj){\n'
- object_types_header += ' if (core_report_obj == VK_OBJECT_TYPE_UNKNOWN) {\n'
- object_types_header += ' return VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT;\n'
- for core_object_type in self.core_object_types:
- core_target_type = core_object_type.replace("VK_OBJECT_TYPE_", "").lower()
- core_target_type = core_target_type.replace("_", "")
- for dr_object_type in self.debug_report_object_types:
- dr_target_type = dr_object_type.replace("VK_DEBUG_REPORT_OBJECT_TYPE_", "").lower()
- dr_target_type = dr_target_type[:-4]
- dr_target_type = dr_target_type.replace("_", "")
- if core_target_type == dr_target_type:
- object_types_header += ' } else if (core_report_obj == %s) {\n' % core_object_type
- object_types_header += ' return %s;\n' % dr_object_type
- break
- object_types_header += ' }\n'
- object_types_header += ' return VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT;\n'
- object_types_header += '}\n'
- return object_types_header
- #
- # Determine if a structure needs a safe_struct helper function
- # That is, it has an sType or one of its members is a pointer
- def NeedSafeStruct(self, structure):
- if 'sType' == structure.name:
- return True
- for member in structure.members:
- if member.ispointer == True:
- return True
- return False
- #
- # Combine safe struct helper source file preamble with body text and return
- def GenerateSafeStructHelperSource(self):
- safe_struct_helper_source = '\n'
- safe_struct_helper_source += '#include "vk_safe_struct.h"\n'
- safe_struct_helper_source += '#include <string.h>\n'
- safe_struct_helper_source += '#ifdef VK_USE_PLATFORM_ANDROID_KHR\n'
- safe_struct_helper_source += '#if __ANDROID_API__ < __ANDROID_API_O__\n'
- safe_struct_helper_source += 'struct AHardwareBuffer {};\n'
- safe_struct_helper_source += '#endif\n'
- safe_struct_helper_source += '#endif\n'
-
- safe_struct_helper_source += '\n'
- safe_struct_helper_source += self.GenerateSafeStructSource()
- return safe_struct_helper_source
- #
- # safe_struct source -- create bodies of safe struct helper functions
- def GenerateSafeStructSource(self):
- safe_struct_body = []
- wsi_structs = ['VkXlibSurfaceCreateInfoKHR',
- 'VkXcbSurfaceCreateInfoKHR',
- 'VkWaylandSurfaceCreateInfoKHR',
- 'VkMirSurfaceCreateInfoKHR',
- 'VkAndroidSurfaceCreateInfoKHR',
- 'VkWin32SurfaceCreateInfoKHR'
- ]
- for item in self.structMembers:
- if self.NeedSafeStruct(item) == False:
- continue
- if item.name in wsi_structs:
- continue
- if item.ifdef_protect != None:
- safe_struct_body.append("#ifdef %s\n" % item.ifdef_protect)
- ss_name = "safe_%s" % item.name
- init_list = '' # list of members in struct constructor initializer
- default_init_list = '' # Default constructor just inits ptrs to nullptr in initializer
- init_func_txt = '' # Txt for initialize() function that takes struct ptr and inits members
- construct_txt = '' # Body of constuctor as well as body of initialize() func following init_func_txt
- destruct_txt = ''
-
- custom_construct_txt = {
- # VkWriteDescriptorSet is special case because pointers may be non-null but ignored
- 'VkWriteDescriptorSet' :
- ' switch (descriptorType) {\n'
- ' case VK_DESCRIPTOR_TYPE_SAMPLER:\n'
- ' case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER:\n'
- ' case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE:\n'
- ' case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:\n'
- ' case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:\n'
- ' if (descriptorCount && in_struct->pImageInfo) {\n'
- ' pImageInfo = new VkDescriptorImageInfo[descriptorCount];\n'
- ' for (uint32_t i=0; i<descriptorCount; ++i) {\n'
- ' pImageInfo[i] = in_struct->pImageInfo[i];\n'
- ' }\n'
- ' }\n'
- ' break;\n'
- ' case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER:\n'
- ' case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER:\n'
- ' case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:\n'
- ' case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:\n'
- ' if (descriptorCount && in_struct->pBufferInfo) {\n'
- ' pBufferInfo = new VkDescriptorBufferInfo[descriptorCount];\n'
- ' for (uint32_t i=0; i<descriptorCount; ++i) {\n'
- ' pBufferInfo[i] = in_struct->pBufferInfo[i];\n'
- ' }\n'
- ' }\n'
- ' break;\n'
- ' case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:\n'
- ' case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:\n'
- ' if (descriptorCount && in_struct->pTexelBufferView) {\n'
- ' pTexelBufferView = new VkBufferView[descriptorCount];\n'
- ' for (uint32_t i=0; i<descriptorCount; ++i) {\n'
- ' pTexelBufferView[i] = in_struct->pTexelBufferView[i];\n'
- ' }\n'
- ' }\n'
- ' break;\n'
- ' default:\n'
- ' break;\n'
- ' }\n',
- 'VkShaderModuleCreateInfo' :
- ' if (in_struct->pCode) {\n'
- ' pCode = reinterpret_cast<uint32_t *>(new uint8_t[codeSize]);\n'
- ' memcpy((void *)pCode, (void *)in_struct->pCode, codeSize);\n'
- ' }\n',
- # VkGraphicsPipelineCreateInfo is special case because its pointers may be non-null but ignored
- 'VkGraphicsPipelineCreateInfo' :
- ' if (stageCount && in_struct->pStages) {\n'
- ' pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount];\n'
- ' for (uint32_t i=0; i<stageCount; ++i) {\n'
- ' pStages[i].initialize(&in_struct->pStages[i]);\n'
- ' }\n'
- ' }\n'
- ' if (in_struct->pVertexInputState)\n'
- ' pVertexInputState = new safe_VkPipelineVertexInputStateCreateInfo(in_struct->pVertexInputState);\n'
- ' else\n'
- ' pVertexInputState = NULL;\n'
- ' if (in_struct->pInputAssemblyState)\n'
- ' pInputAssemblyState = new safe_VkPipelineInputAssemblyStateCreateInfo(in_struct->pInputAssemblyState);\n'
- ' else\n'
- ' pInputAssemblyState = NULL;\n'
- ' bool has_tessellation_stage = false;\n'
- ' if (stageCount && pStages)\n'
- ' for (uint32_t i=0; i<stageCount && !has_tessellation_stage; ++i)\n'
- ' if (pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT || pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT)\n'
- ' has_tessellation_stage = true;\n'
- ' if (in_struct->pTessellationState && has_tessellation_stage)\n'
- ' pTessellationState = new safe_VkPipelineTessellationStateCreateInfo(in_struct->pTessellationState);\n'
- ' else\n'
- ' pTessellationState = NULL; // original pTessellationState pointer ignored\n'
- ' bool has_rasterization = in_struct->pRasterizationState ? !in_struct->pRasterizationState->rasterizerDiscardEnable : false;\n'
- ' if (in_struct->pViewportState && has_rasterization) {\n'
- ' bool is_dynamic_viewports = false;\n'
- ' bool is_dynamic_scissors = false;\n'
- ' if (in_struct->pDynamicState && in_struct->pDynamicState->pDynamicStates) {\n'
- ' for (uint32_t i = 0; i < in_struct->pDynamicState->dynamicStateCount && !is_dynamic_viewports; ++i)\n'
- ' if (in_struct->pDynamicState->pDynamicStates[i] == VK_DYNAMIC_STATE_VIEWPORT)\n'
- ' is_dynamic_viewports = true;\n'
- ' for (uint32_t i = 0; i < in_struct->pDynamicState->dynamicStateCount && !is_dynamic_scissors; ++i)\n'
- ' if (in_struct->pDynamicState->pDynamicStates[i] == VK_DYNAMIC_STATE_SCISSOR)\n'
- ' is_dynamic_scissors = true;\n'
- ' }\n'
- ' pViewportState = new safe_VkPipelineViewportStateCreateInfo(in_struct->pViewportState, is_dynamic_viewports, is_dynamic_scissors);\n'
- ' } else\n'
- ' pViewportState = NULL; // original pViewportState pointer ignored\n'
- ' if (in_struct->pRasterizationState)\n'
- ' pRasterizationState = new safe_VkPipelineRasterizationStateCreateInfo(in_struct->pRasterizationState);\n'
- ' else\n'
- ' pRasterizationState = NULL;\n'
- ' if (in_struct->pMultisampleState && has_rasterization)\n'
- ' pMultisampleState = new safe_VkPipelineMultisampleStateCreateInfo(in_struct->pMultisampleState);\n'
- ' else\n'
- ' pMultisampleState = NULL; // original pMultisampleState pointer ignored\n'
- ' // needs a tracked subpass state uses_depthstencil_attachment\n'
- ' if (in_struct->pDepthStencilState && has_rasterization && uses_depthstencil_attachment)\n'
- ' pDepthStencilState = new safe_VkPipelineDepthStencilStateCreateInfo(in_struct->pDepthStencilState);\n'
- ' else\n'
- ' pDepthStencilState = NULL; // original pDepthStencilState pointer ignored\n'
- ' // needs a tracked subpass state usesColorAttachment\n'
- ' if (in_struct->pColorBlendState && has_rasterization && uses_color_attachment)\n'
- ' pColorBlendState = new safe_VkPipelineColorBlendStateCreateInfo(in_struct->pColorBlendState);\n'
- ' else\n'
- ' pColorBlendState = NULL; // original pColorBlendState pointer ignored\n'
- ' if (in_struct->pDynamicState)\n'
- ' pDynamicState = new safe_VkPipelineDynamicStateCreateInfo(in_struct->pDynamicState);\n'
- ' else\n'
- ' pDynamicState = NULL;\n',
- # VkPipelineViewportStateCreateInfo is special case because its pointers may be non-null but ignored
- 'VkPipelineViewportStateCreateInfo' :
- ' if (in_struct->pViewports && !is_dynamic_viewports) {\n'
- ' pViewports = new VkViewport[in_struct->viewportCount];\n'
- ' memcpy ((void *)pViewports, (void *)in_struct->pViewports, sizeof(VkViewport)*in_struct->viewportCount);\n'
- ' }\n'
- ' else\n'
- ' pViewports = NULL;\n'
- ' if (in_struct->pScissors && !is_dynamic_scissors) {\n'
- ' pScissors = new VkRect2D[in_struct->scissorCount];\n'
- ' memcpy ((void *)pScissors, (void *)in_struct->pScissors, sizeof(VkRect2D)*in_struct->scissorCount);\n'
- ' }\n'
- ' else\n'
- ' pScissors = NULL;\n',
- # VkDescriptorSetLayoutBinding is special case because its pImmutableSamplers pointer may be non-null but ignored
- 'VkDescriptorSetLayoutBinding' :
- ' const bool sampler_type = in_struct->descriptorType == VK_DESCRIPTOR_TYPE_SAMPLER || in_struct->descriptorType == VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;\n'
- ' if (descriptorCount && in_struct->pImmutableSamplers && sampler_type) {\n'
- ' pImmutableSamplers = new VkSampler[descriptorCount];\n'
- ' for (uint32_t i=0; i<descriptorCount; ++i) {\n'
- ' pImmutableSamplers[i] = in_struct->pImmutableSamplers[i];\n'
- ' }\n'
- ' }\n',
- }
-
- custom_copy_txt = {
- # VkGraphicsPipelineCreateInfo is special case because it has custom construct parameters
- 'VkGraphicsPipelineCreateInfo' :
- ' if (stageCount && src.pStages) {\n'
- ' pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount];\n'
- ' for (uint32_t i=0; i<stageCount; ++i) {\n'
- ' pStages[i].initialize(&src.pStages[i]);\n'
- ' }\n'
- ' }\n'
- ' if (src.pVertexInputState)\n'
- ' pVertexInputState = new safe_VkPipelineVertexInputStateCreateInfo(*src.pVertexInputState);\n'
- ' else\n'
- ' pVertexInputState = NULL;\n'
- ' if (src.pInputAssemblyState)\n'
- ' pInputAssemblyState = new safe_VkPipelineInputAssemblyStateCreateInfo(*src.pInputAssemblyState);\n'
- ' else\n'
- ' pInputAssemblyState = NULL;\n'
- ' bool has_tessellation_stage = false;\n'
- ' if (stageCount && pStages)\n'
- ' for (uint32_t i=0; i<stageCount && !has_tessellation_stage; ++i)\n'
- ' if (pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT || pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT)\n'
- ' has_tessellation_stage = true;\n'
- ' if (src.pTessellationState && has_tessellation_stage)\n'
- ' pTessellationState = new safe_VkPipelineTessellationStateCreateInfo(*src.pTessellationState);\n'
- ' else\n'
- ' pTessellationState = NULL; // original pTessellationState pointer ignored\n'
- ' bool has_rasterization = src.pRasterizationState ? !src.pRasterizationState->rasterizerDiscardEnable : false;\n'
- ' if (src.pViewportState && has_rasterization) {\n'
- ' pViewportState = new safe_VkPipelineViewportStateCreateInfo(*src.pViewportState);\n'
- ' } else\n'
- ' pViewportState = NULL; // original pViewportState pointer ignored\n'
- ' if (src.pRasterizationState)\n'
- ' pRasterizationState = new safe_VkPipelineRasterizationStateCreateInfo(*src.pRasterizationState);\n'
- ' else\n'
- ' pRasterizationState = NULL;\n'
- ' if (src.pMultisampleState && has_rasterization)\n'
- ' pMultisampleState = new safe_VkPipelineMultisampleStateCreateInfo(*src.pMultisampleState);\n'
- ' else\n'
- ' pMultisampleState = NULL; // original pMultisampleState pointer ignored\n'
- ' if (src.pDepthStencilState && has_rasterization)\n'
- ' pDepthStencilState = new safe_VkPipelineDepthStencilStateCreateInfo(*src.pDepthStencilState);\n'
- ' else\n'
- ' pDepthStencilState = NULL; // original pDepthStencilState pointer ignored\n'
- ' if (src.pColorBlendState && has_rasterization)\n'
- ' pColorBlendState = new safe_VkPipelineColorBlendStateCreateInfo(*src.pColorBlendState);\n'
- ' else\n'
- ' pColorBlendState = NULL; // original pColorBlendState pointer ignored\n'
- ' if (src.pDynamicState)\n'
- ' pDynamicState = new safe_VkPipelineDynamicStateCreateInfo(*src.pDynamicState);\n'
- ' else\n'
- ' pDynamicState = NULL;\n',
- # VkPipelineViewportStateCreateInfo is special case because it has custom construct parameters
- 'VkPipelineViewportStateCreateInfo' :
- ' if (src.pViewports) {\n'
- ' pViewports = new VkViewport[src.viewportCount];\n'
- ' memcpy ((void *)pViewports, (void *)src.pViewports, sizeof(VkViewport)*src.viewportCount);\n'
- ' }\n'
- ' else\n'
- ' pViewports = NULL;\n'
- ' if (src.pScissors) {\n'
- ' pScissors = new VkRect2D[src.scissorCount];\n'
- ' memcpy ((void *)pScissors, (void *)src.pScissors, sizeof(VkRect2D)*src.scissorCount);\n'
- ' }\n'
- ' else\n'
- ' pScissors = NULL;\n',
- }
-
- custom_destruct_txt = {'VkShaderModuleCreateInfo' :
- ' if (pCode)\n'
- ' delete[] reinterpret_cast<const uint8_t *>(pCode);\n' }
-
- for member in item.members:
- m_type = member.type
- if member.type in self.structNames:
- member_index = next((i for i, v in enumerate(self.structMembers) if v[0] == member.type), None)
- if member_index is not None and self.NeedSafeStruct(self.structMembers[member_index]) == True:
- m_type = 'safe_%s' % member.type
- if member.ispointer and 'safe_' not in m_type and self.TypeContainsObjectHandle(member.type, False) == False:
- # Ptr types w/o a safe_struct, for non-null case need to allocate new ptr and copy data in
- if m_type in ['void', 'char']:
- # For these exceptions just copy initial value over for now
- init_list += '\n %s(in_struct->%s),' % (member.name, member.name)
- init_func_txt += ' %s = in_struct->%s;\n' % (member.name, member.name)
- else:
- default_init_list += '\n %s(nullptr),' % (member.name)
- init_list += '\n %s(nullptr),' % (member.name)
- init_func_txt += ' %s = nullptr;\n' % (member.name)
- if 'pNext' != member.name and 'void' not in m_type:
- if not member.isstaticarray and (member.len is None or '/' in member.len):
- construct_txt += ' if (in_struct->%s) {\n' % member.name
- construct_txt += ' %s = new %s(*in_struct->%s);\n' % (member.name, m_type, member.name)
- construct_txt += ' }\n'
- destruct_txt += ' if (%s)\n' % member.name
- destruct_txt += ' delete %s;\n' % member.name
- else:
- construct_txt += ' if (in_struct->%s) {\n' % member.name
- construct_txt += ' %s = new %s[in_struct->%s];\n' % (member.name, m_type, member.len)
- construct_txt += ' memcpy ((void *)%s, (void *)in_struct->%s, sizeof(%s)*in_struct->%s);\n' % (member.name, member.name, m_type, member.len)
- construct_txt += ' }\n'
- destruct_txt += ' if (%s)\n' % member.name
- destruct_txt += ' delete[] %s;\n' % member.name
- elif member.isstaticarray or member.len is not None:
- if member.len is None:
- # Extract length of static array by grabbing val between []
- static_array_size = re.match(r"[^[]*\[([^]]*)\]", member.cdecl)
- construct_txt += ' for (uint32_t i=0; i<%s; ++i) {\n' % static_array_size.group(1)
- construct_txt += ' %s[i] = in_struct->%s[i];\n' % (member.name, member.name)
- construct_txt += ' }\n'
- else:
- # Init array ptr to NULL
- default_init_list += '\n %s(nullptr),' % member.name
- init_list += '\n %s(nullptr),' % member.name
- init_func_txt += ' %s = nullptr;\n' % member.name
- array_element = 'in_struct->%s[i]' % member.name
- if member.type in self.structNames:
- member_index = next((i for i, v in enumerate(self.structMembers) if v[0] == member.type), None)
- if member_index is not None and self.NeedSafeStruct(self.structMembers[member_index]) == True:
- array_element = '%s(&in_struct->safe_%s[i])' % (member.type, member.name)
- construct_txt += ' if (%s && in_struct->%s) {\n' % (member.len, member.name)
- construct_txt += ' %s = new %s[%s];\n' % (member.name, m_type, member.len)
- destruct_txt += ' if (%s)\n' % member.name
- destruct_txt += ' delete[] %s;\n' % member.name
- construct_txt += ' for (uint32_t i=0; i<%s; ++i) {\n' % (member.len)
- if 'safe_' in m_type:
- construct_txt += ' %s[i].initialize(&in_struct->%s[i]);\n' % (member.name, member.name)
- else:
- construct_txt += ' %s[i] = %s;\n' % (member.name, array_element)
- construct_txt += ' }\n'
- construct_txt += ' }\n'
- elif member.ispointer == True:
- construct_txt += ' if (in_struct->%s)\n' % member.name
- construct_txt += ' %s = new %s(in_struct->%s);\n' % (member.name, m_type, member.name)
- construct_txt += ' else\n'
- construct_txt += ' %s = NULL;\n' % member.name
- destruct_txt += ' if (%s)\n' % member.name
- destruct_txt += ' delete %s;\n' % member.name
- elif 'safe_' in m_type:
- init_list += '\n %s(&in_struct->%s),' % (member.name, member.name)
- init_func_txt += ' %s.initialize(&in_struct->%s);\n' % (member.name, member.name)
- else:
- init_list += '\n %s(in_struct->%s),' % (member.name, member.name)
- init_func_txt += ' %s = in_struct->%s;\n' % (member.name, member.name)
- if '' != init_list:
- init_list = init_list[:-1] # hack off final comma
- if item.name in custom_construct_txt:
- construct_txt = custom_construct_txt[item.name]
- if item.name in custom_destruct_txt:
- destruct_txt = custom_destruct_txt[item.name]
- safe_struct_body.append("\n%s::%s(const %s* in_struct%s) :%s\n{\n%s}" % (ss_name, ss_name, item.name, self.custom_construct_params.get(item.name, ''), init_list, construct_txt))
- if '' != default_init_list:
- default_init_list = " :%s" % (default_init_list[:-1])
- safe_struct_body.append("\n%s::%s()%s\n{}" % (ss_name, ss_name, default_init_list))
- # Create slight variation of init and construct txt for copy constructor that takes a src object reference vs. struct ptr
- copy_construct_init = init_func_txt.replace('in_struct->', 'src.')
- copy_construct_txt = construct_txt.replace(' (in_struct->', ' (src.') # Exclude 'if' blocks from next line
- copy_construct_txt = copy_construct_txt.replace('(in_struct->', '(*src.') # Pass object to copy constructors
- copy_construct_txt = copy_construct_txt.replace('in_struct->', 'src.') # Modify remaining struct refs for src object
- if item.name in custom_copy_txt:
- copy_construct_txt = custom_copy_txt[item.name]
- copy_assign_txt = ' if (&src == this) return *this;\n\n' + destruct_txt + '\n' + copy_construct_init + copy_construct_txt + '\n return *this;'
- safe_struct_body.append("\n%s::%s(const %s& src)\n{\n%s%s}" % (ss_name, ss_name, ss_name, copy_construct_init, copy_construct_txt)) # Copy constructor
- safe_struct_body.append("\n%s& %s::operator=(const %s& src)\n{\n%s\n}" % (ss_name, ss_name, ss_name, copy_assign_txt)) # Copy assignment operator
- safe_struct_body.append("\n%s::~%s()\n{\n%s}" % (ss_name, ss_name, destruct_txt))
- safe_struct_body.append("\nvoid %s::initialize(const %s* in_struct%s)\n{\n%s%s}" % (ss_name, item.name, self.custom_construct_params.get(item.name, ''), init_func_txt, construct_txt))
- # Copy initializer uses same txt as copy constructor but has a ptr and not a reference
- init_copy = copy_construct_init.replace('src.', 'src->')
- init_construct = copy_construct_txt.replace('src.', 'src->')
- safe_struct_body.append("\nvoid %s::initialize(const %s* src)\n{\n%s%s}" % (ss_name, ss_name, init_copy, init_construct))
- if item.ifdef_protect != None:
- safe_struct_body.append("#endif // %s\n" % item.ifdef_protect)
- return "\n".join(safe_struct_body)
- #
- # Generate the type map
- def GenerateTypeMapHelperHeader(self):
- prefix = 'Lvl'
- fprefix = 'lvl_'
- typemap = prefix + 'TypeMap'
- idmap = prefix + 'STypeMap'
- type_member = 'Type'
- id_member = 'kSType'
- id_decl = 'static const VkStructureType '
- generic_header = prefix + 'GenericHeader'
- generic_mod_header = prefix + 'GenericModHeader'
- typename_func = fprefix + 'typename'
- idname_func = fprefix + 'stype_name'
- find_func = fprefix + 'find_in_chain'
- find_mod_func = fprefix + 'find_mod_in_chain'
- init_func = fprefix + 'init_struct'
-
- explanatory_comment = '\n'.join((
- '// These empty generic templates are specialized for each type with sType',
- '// members and for each sType -- providing a two way map between structure',
- '// types and sTypes'))
-
- empty_typemap = 'template <typename T> struct ' + typemap + ' {};'
- typemap_format = 'template <> struct {template}<{typename}> {{\n'
- typemap_format += ' {id_decl}{id_member} = {id_value};\n'
- typemap_format += '}};\n'
+ # File Comment
+ out.append('// *** THIS FILE IS GENERATED - DO NOT EDIT ***\n')
+ out.append('// See vulkan_tools_helper_file_generator.py for modifications\n')
- empty_idmap = 'template <VkStructureType id> struct ' + idmap + ' {};'
- idmap_format = ''.join((
- 'template <> struct {template}<{id_value}> {{\n',
- ' typedef {typename} {typedef};\n',
- '}};\n'))
+ # Copyright Notice
+ out.append('''
+
+/***************************************************************************
+ *
+ * Copyright (c) 2015-2017 The Khronos Group Inc.
+ * Copyright (c) 2015-2017 Valve Corporation
+ * Copyright (c) 2015-2017 LunarG, Inc.
+ * Copyright (c) 2015-2017 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Author: Mark Lobodzinski <mark@lunarg.com>
+ * Author: Courtney Goeltzenleuchter <courtneygo@google.com>
+ * Author: Tobin Ehlis <tobine@google.com>
+ * Author: Chris Forbes <chrisforbes@google.com>
+ * Author: John Zulauf<jzulauf@lunarg.com>
+ *
+ ****************************************************************************/
+''')
- # Define the utilities (here so any renaming stays consistent), if this grows large, refactor to a fixed .h file
- utilities_format = '\n'.join((
- '// Header "base class" for pNext chain traversal',
- 'struct {header} {{',
- ' VkStructureType sType;',
- ' const {header} *pNext;',
- '}};',
- 'struct {mod_header} {{',
- ' VkStructureType sType;',
- ' {mod_header} *pNext;',
- '}};',
- '',
- '// Find an entry of the given type in the pNext chain',
- 'template <typename T> const T *{find_func}(const void *next) {{',
- ' const {header} *current = reinterpret_cast<const {header} *>(next);',
- ' const T *found = nullptr;',
- ' while (current) {{',
- ' if ({type_map}<T>::{id_member} == current->sType) {{',
- ' found = reinterpret_cast<const T*>(current);',
- ' current = nullptr;',
- ' }} else {{',
- ' current = current->pNext;',
- ' }}',
- ' }}',
- ' return found;',
- '}}',
- '// Find an entry of the given type in the pNext chain',
- 'template <typename T> T *{find_mod_func}(void *next) {{',
- ' {mod_header} *current = reinterpret_cast<{mod_header} *>(next);',
- ' T *found = nullptr;',
- ' while (current) {{',
- ' if ({type_map}<T>::{id_member} == current->sType) {{',
- ' found = reinterpret_cast<T*>(current);',
- ' current = nullptr;',
- ' }} else {{',
- ' current = current->pNext;',
- ' }}',
- ' }}',
- ' return found;',
- '}}',
- '',
- '// Init the header of an sType struct with pNext',
- 'template <typename T> T {init_func}(void *p_next) {{',
- ' T out = {{}};',
- ' out.sType = {type_map}<T>::kSType;',
- ' out.pNext = p_next;',
- ' return out;',
- '}}',
- '',
- '// Init the header of an sType struct',
- 'template <typename T> T {init_func}() {{',
- ' T out = {{}};',
- ' out.sType = {type_map}<T>::kSType;',
- ' return out;',
- '}}',
+ # Generate header
+ out.append('''
+#pragma once
+#include <vulkan/vulkan.h>
- ''))
+// These empty generic templates are specialized for each type with sType
+// members and for each sType -- providing a two way map between structure
+// types and sTypes
- code = []
+template <VkStructureType id> struct LvlSTypeMap {};
+template <typename T> struct LvlTypeMap {};
- # Generate header
- code.append('\n'.join((
- '#pragma once',
- '#include <vulkan/vulkan.h>\n',
- explanatory_comment, '',
- empty_idmap,
- empty_typemap, '')))
+''')
# Generate the specializations for each type and stype
- for item in self.structMembers:
- typename = item.name
- info = self.structTypes.get(typename)
- if not info:
+ for struct in self.vk.structs.values():
+ if struct.sType is None:
continue
- if item.ifdef_protect != None:
- code.append('#ifdef %s' % item.ifdef_protect)
-
- code.append('// Map type {} to id {}'.format(typename, info.value))
- code.append(typemap_format.format(template=typemap, typename=typename, id_value=info.value,
- id_decl=id_decl, id_member=id_member))
- code.append(idmap_format.format(template=idmap, typename=typename, id_value=info.value, typedef=type_member))
-
- if item.ifdef_protect != None:
- code.append('#endif // %s' % item.ifdef_protect)
-
- # Generate utilities for all types
- code.append('\n'.join((
- utilities_format.format(id_member=id_member, id_map=idmap, type_map=typemap,
- type_member=type_member, header=generic_header, mod_header=generic_mod_header,
- typename_func=typename_func, idname_func=idname_func, find_func=find_func,
- find_mod_func=find_mod_func, init_func=init_func), ''
- )))
-
- return "\n".join(code)
+ if struct.protect is not None:
+ out.append(f'#ifdef {struct.protect}\n')
+
+ out.append(f'// Map type {struct.name} to id {struct.sType}\n')
+ out.append(f'template <> struct LvlTypeMap<{struct.name}> {{\n')
+ out.append(f' static const VkStructureType kSType = {struct.sType};\n')
+ out.append('};\n\n')
+
+
+ out.append(f'template <> struct LvlSTypeMap<{struct.sType}> {{\n')
+ out.append(f' typedef {struct.name} Type;\n')
+ out.append('};\n\n')
+
+ if struct.protect is not None:
+ out.append(f'#endif // {struct.protect}\n')
+
+ # Define the utilities (here so any renaming stays consistent), if this grows large, refactor to a fixed .h file
+
+ out.append('''// Header "base class" for pNext chain traversal
+struct LvlGenericHeader {
+ VkStructureType sType;
+ const LvlGenericHeader *pNext;
+};
+struct LvlGenericModHeader {
+ VkStructureType sType;
+ LvlGenericModHeader *pNext;
+};
+
+// Find an entry of the given type in the pNext chain
+template <typename T> const T *lvl_find_in_chain(const void *next) {
+ const LvlGenericHeader *current = reinterpret_cast<const LvlGenericHeader *>(next);
+ const T *found = nullptr;
+ while (current) {
+ if (LvlTypeMap<T>::kSType == current->sType) {
+ found = reinterpret_cast<const T*>(current);
+ current = nullptr;
+ } else {
+ current = current->pNext;
+ }
+ }
+ return found;
+}
+// Find an entry of the given type in the pNext chain
+template <typename T> T *lvl_find_mod_in_chain(void *next) {
+ LvlGenericModHeader *current = reinterpret_cast<LvlGenericModHeader *>(next);
+ T *found = nullptr;
+ while (current) {
+ if (LvlTypeMap<T>::kSType == current->sType) {
+ found = reinterpret_cast<T*>(current);
+ current = nullptr;
+ } else {
+ current = current->pNext;
+ }
+ }
+ return found;
+}
+
+// Init the header of an sType struct with pNext
+template <typename T> T lvl_init_struct(void *p_next) {
+ T out = {};
+ out.sType = LvlTypeMap<T>::kSType;
+ out.pNext = p_next;
+ return out;
+}
+
+// Init the header of an sType struct
+template <typename T> T lvl_init_struct() {
+ T out = {};
+ out.sType = LvlTypeMap<T>::kSType;
+ return out;
+}
+''')
+
+ self.write(''.join(out))
- #
- # Create a helper file and return it as a string
- def OutputDestFile(self):
- if self.helper_file_type == 'enum_string_header':
- return self.GenerateEnumStringHelperHeader()
- elif self.helper_file_type == 'safe_struct_header':
- return self.GenerateSafeStructHelperHeader()
- elif self.helper_file_type == 'safe_struct_source':
- return self.GenerateSafeStructHelperSource()
- elif self.helper_file_type == 'object_types_header':
- return self.GenerateObjectTypesHelperHeader()
- elif self.helper_file_type == 'extension_helper_header':
- return self.GenerateExtensionHelperHeader()
- elif self.helper_file_type == 'typemap_helper_header':
- return self.GenerateTypeMapHelperHeader()
- else:
- return 'Bad Helper File Generator Option %s' % self.helper_file_type
diff --git a/scripts/generators/vulkaninfo_generator.py b/scripts/generators/vulkaninfo_generator.py
index 20e408e4..6843e7eb 100644
--- a/scripts/generators/vulkaninfo_generator.py
+++ b/scripts/generators/vulkaninfo_generator.py
@@ -19,16 +19,9 @@
#
# Author: Charles Giessen <charles@lunarg.com>
-import re
-import os
-import sys
-import copy
-import operator
+from base_generator import BaseGenerator
+
from collections import OrderedDict
-import generator as gen
-from common_codegen import GetFeatureProtect
-from generator import GeneratorOptions, OutputGenerator
-import xml.etree.ElementTree as etree
LICENSE_HEADER = '''
/*
@@ -117,28 +110,24 @@ EXTENSION_CATEGORIES = OrderedDict((
('phys_device_props2',
{'extends': 'VkPhysicalDeviceProperties2',
'type': EXTENSION_TYPE_BOTH,
- 'holder_type': 'VkPhysicalDeviceProperties2',
'print_iterator': True,
'can_show_promoted_structs': True,
'ignore_vendor_exclusion': False}),
('phys_device_mem_props2',
{'extends': 'VkPhysicalDeviceMemoryProperties2',
'type': EXTENSION_TYPE_DEVICE,
- 'holder_type':'VkPhysicalDeviceMemoryProperties2',
'print_iterator': False,
'can_show_promoted_structs': False,
'ignore_vendor_exclusion': False}),
('phys_device_features2',
- {'extends': 'VkPhysicalDeviceFeatures2,VkDeviceCreateInfo',
+ {'extends': 'VkPhysicalDeviceFeatures2',
'type': EXTENSION_TYPE_DEVICE,
- 'holder_type': 'VkPhysicalDeviceFeatures2',
'print_iterator': True,
'can_show_promoted_structs': True,
'ignore_vendor_exclusion': False}),
('surface_capabilities2',
{'extends': 'VkSurfaceCapabilities2KHR',
'type': EXTENSION_TYPE_BOTH,
- 'holder_type': 'VkSurfaceCapabilities2KHR',
'print_iterator': True,
'can_show_promoted_structs': False,
'ignore_vendor_exclusion': False,
@@ -146,421 +135,221 @@ EXTENSION_CATEGORIES = OrderedDict((
('format_properties2',
{'extends': 'VkFormatProperties2',
'type': EXTENSION_TYPE_DEVICE,
- 'holder_type':'VkFormatProperties2',
'print_iterator': True,
'can_show_promoted_structs': False,
'ignore_vendor_exclusion': False}),
('queue_properties2',
{'extends': 'VkQueueFamilyProperties2',
'type': EXTENSION_TYPE_DEVICE,
- 'holder_type': 'VkQueueFamilyProperties2',
'print_iterator': True,
'can_show_promoted_structs': False,
'ignore_vendor_exclusion': False}),
('video_profile_info',
{'extends': 'VkVideoProfileInfoKHR',
'type': EXTENSION_TYPE_DEVICE,
- 'holder_type': 'VkVideoProfileInfoKHR',
'print_iterator': True,
'can_show_promoted_structs': False,
'ignore_vendor_exclusion': True}),
('video_capabilities',
{'extends': 'VkVideoCapabilitiesKHR',
'type': EXTENSION_TYPE_DEVICE,
- 'holder_type': 'VkVideoCapabilitiesKHR',
'print_iterator': True,
'can_show_promoted_structs': False,
'ignore_vendor_exclusion': True,}),
('video_format_properties',
{'extends': 'VkVideoFormatPropertiesKHR',
'type': EXTENSION_TYPE_DEVICE,
- 'holder_type': 'VkVideoFormatPropertiesKHR',
'print_iterator': True,
'can_show_promoted_structs': False,
'ignore_vendor_exclusion': True})
))
-class VulkanInfoGeneratorOptions(GeneratorOptions):
- def __init__(self,
- conventions=None,
- input=None,
- filename=None,
- directory='.',
- genpath = None,
- apiname=None,
- profile=None,
- versions='.*',
- emitversions='.*',
- defaultExtensions=None,
- addExtensions=None,
- removeExtensions=None,
- emitExtensions=None,
- sortProcedure=None,
- prefixText='',
- genFuncPointers=True,
- protectFile=True,
- protectFeature=True,
- protectProto=None,
- protectProtoStr=None,
- apicall='',
- apientry='',
- apientryp='',
- indentFuncProto=True,
- indentFuncPointer=False,
- alignFuncParam=0,
- expandEnumerants=True,
- registryFile='vk.xml'
- ):
- GeneratorOptions.__init__(self,
- conventions = conventions,
- filename = filename,
- directory = directory,
- genpath = genpath,
- apiname = apiname,
- profile = profile,
- versions = versions,
- emitversions = emitversions,
- defaultExtensions = defaultExtensions,
- addExtensions = addExtensions,
- removeExtensions = removeExtensions,
- emitExtensions = emitExtensions,
- sortProcedure = sortProcedure)
- self.input = input
- self.prefixText = prefixText
- self.genFuncPointers = genFuncPointers
- self.protectFile = protectFile
- self.protectFeature = protectFeature
- self.protectProto = protectProto
- self.protectProtoStr = protectProtoStr
- self.apicall = apicall
- self.apientry = apientry
- self.apientryp = apientryp
- self.indentFuncProto = indentFuncProto
- self.indentFuncPointer = indentFuncPointer
- self.alignFuncParam = alignFuncParam
- self.registryFile = registryFile
-
-# VulkanInfoGenerator - subclass of OutputGenerator.
-# Generates a vulkan info output helper function
-
-
-class VulkanInfoGenerator(OutputGenerator):
-
- def __init__(self,
- errFile=sys.stderr,
- warnFile=sys.stderr,
- diagFile=sys.stdout):
- OutputGenerator.__init__(self, errFile, warnFile, diagFile)
-
- self.constants = OrderedDict()
-
- self.types_to_gen = set()
-
- self.extension_sets = OrderedDict()
- for ext_cat in EXTENSION_CATEGORIES.keys():
- self.extension_sets[ext_cat] = set()
-
- self.enums = []
- self.flags = []
- self.bitmasks = []
+class VulkanInfoGenerator(BaseGenerator):
+ def __init__(self):
+ BaseGenerator.__init__(self)
self.format_ranges = []
- self.all_structures = []
- self.aliases = OrderedDict()
-
- self.extFuncs = OrderedDict()
- self.extTypes = OrderedDict()
-
- self.vendor_abbreviations = []
- self.vulkan_versions = []
-
- def beginFile(self, genOpts):
- gen.OutputGenerator.beginFile(self, genOpts)
-
- for node in self.registry.reg.findall('enums'):
- if node.get('name') == 'API Constants':
- for item in node.findall('enum'):
- self.constants[item.get('name')] = item.get('value')
-
- for node in self.registry.reg.find('extensions').findall('extension'):
- ext = VulkanExtension(node)
- for item in ext.vktypes:
- if item not in self.extTypes:
- self.extTypes[item] = []
- self.extTypes[item].append(ext)
- for item in ext.vkfuncs:
- self.extFuncs[item] = ext
- # need list of venders to blacklist vendor extensions
- for tag in self.registry.reg.find('tags'):
- if tag.get('name') not in ['KHR', 'EXT']:
- self.vendor_abbreviations.append('_' + tag.get('name'))
-
- for ver in self.registry.reg.findall('feature'):
- self.vulkan_versions.append(VulkanVersion(ver))
-
- def endFile(self):
+ def generate(self):
self.findFormatRanges()
# gather the types that are needed to generate
types_to_gen = set()
- for s in ENUMS_TO_GEN:
- types_to_gen.add(s)
-
- for f in FLAGS_TO_GEN:
- types_to_gen.add(f)
+ types_to_gen.update(ENUMS_TO_GEN)
+ types_to_gen.update(FLAGS_TO_GEN)
+ types_to_gen.update(STRUCTURES_TO_GEN)
+
+ extension_types = {}
+ for key, ext_info in EXTENSION_CATEGORIES.items():
+ extension_types[key] = []
+
+ for extended_struct in self.vk.structs[ext_info.get('extends')].extendedBy:
+ if ext_info.get('exclude') is not None and extended_struct in ext_info.get('exclude'):
+ continue
+ elif ext_info.get('ignore_vendor_exclusion'):
+ extension_types[key].append(extended_struct)
+ continue
+ vendor_tags = []
+ for extension in self.vk.structs[extended_struct].extensions:
+ vendor_tags.append(extension.split('_')[1])
+ if len(vendor_tags) == 0 or 'KHR' in vendor_tags or 'EXT' in vendor_tags:
+ extension_types[key].append(extended_struct)
+ extension_types[key] = sorted(extension_types[key])
+ types_to_gen.update(extension_types[key])
+
+ # find all the types that need
+ types_to_gen.update(self.findAllTypesToGen(types_to_gen))
- types_to_gen.update(
- GatherTypesToGen(self.all_structures, STRUCTURES_TO_GEN))
- for key, info in EXTENSION_CATEGORIES.items():
- types_to_gen.update(
- GatherTypesToGen(self.all_structures, self.extension_sets[key], info.get('exclude')))
types_to_gen = sorted(types_to_gen)
- names_of_structures_to_gen = set()
- for s in self.all_structures:
- if s.name in types_to_gen:
- names_of_structures_to_gen.add(s.name)
- names_of_structures_to_gen = sorted(names_of_structures_to_gen)
+ comparison_types_to_gen = set()
+ comparison_types_to_gen.update(STRUCT_COMPARISONS_TO_GEN)
+ comparison_types_to_gen.update(self.findAllTypesToGen(comparison_types_to_gen))
+ comparison_types_to_gen = sorted(comparison_types_to_gen)
- structs_to_comp = set()
- for s in STRUCT_COMPARISONS_TO_GEN:
- structs_to_comp.add(s)
- structs_to_comp.update(
- GatherTypesToGen(self.all_structures, STRUCT_COMPARISONS_TO_GEN))
-
- for key, value in self.extension_sets.items():
- self.extension_sets[key] = sorted(value)
-
- self.enums = sorted(self.enums, key=operator.attrgetter('name'))
- self.flags = sorted(self.flags, key=operator.attrgetter('name'))
- self.bitmasks = sorted(self.bitmasks, key=operator.attrgetter('name'))
- self.all_structures = sorted(self.all_structures, key=operator.attrgetter('name'))
# print the types gathered
- out = ''
- out += LICENSE_HEADER + '\n'
- out += '#include "vulkaninfo.h"\n'
- out += '#include "outputprinter.h"\n'
- out += CUSTOM_FORMATTERS
+ out = []
+ out.append(LICENSE_HEADER + '\n')
+ out.append('#include "vulkaninfo.h"\n')
+ out.append('#include "outputprinter.h"\n')
+ out.append(CUSTOM_FORMATTERS)
+
+ out.extend(self.genVideoEnums())
- out += self.genVideoEnums()
+ for enum in (e for e in types_to_gen if e in self.vk.enums):
+ out.extend(self.PrintEnumToString(self.vk.enums[enum]))
+ out.extend(self.PrintEnum(self.vk.enums[enum]))
- for enum in (e for e in self.enums if e.name in types_to_gen):
- out += PrintEnumToString(enum, self)
- out += PrintEnum(enum, self)
+ # Need to go through all flags to find if they or their associated bitmask needs printing
+ # This is because both bitmask and flag types are generated in PrintBitMask
+ for name in (x for x in sorted(self.vk.flags.keys()) if x in types_to_gen or self.vk.flags[x].bitmaskName in types_to_gen):
+ bitmask = self.vk.bitmasks[self.vk.flags[name].bitmaskName]
- for flag in self.flags:
- if flag.name in types_to_gen or flag.enum in types_to_gen:
- for bitmask in (b for b in self.bitmasks if b.name == flag.enum):
- out += PrintBitMask(bitmask, flag.name, self)
+ out.extend(self.PrintBitMask(bitmask, bitmask.flagName))
- if flag.name in FLAG_STRINGS_TO_GEN:
- for bitmask in (b for b in self.bitmasks if b.name == flag.enum):
- out += PrintBitMaskToString(bitmask, flag.name, self)
+ if bitmask.flagName in FLAG_STRINGS_TO_GEN:
+ out.extend(self.PrintBitMaskToString(bitmask, bitmask.flagName))
- for s in (x for x in self.all_structures if x.name in types_to_gen and x.name not in STRUCT_BLACKLIST):
- out += PrintStructure(s)
+ for s in (x for x in types_to_gen if x in self.vk.structs and x not in STRUCT_BLACKLIST):
+ out.extend(self.PrintStructure(self.vk.structs[s]))
for key, value in EXTENSION_CATEGORIES.items():
- out += PrintChainStruct(key, self.extension_sets[key], self.all_structures, value, self.extTypes, self.aliases, self.vulkan_versions)
+ out.extend(self.PrintChainStruct(key, extension_types[key], value))
- for s in (x for x in self.all_structures if x.name in structs_to_comp):
- out += PrintStructComparisonForwardDecl(s)
- for s in (x for x in self.all_structures if x.name in structs_to_comp):
- out += PrintStructComparison(s)
- for s in (x for x in self.all_structures if x.name in STRUCT_SHORT_VERSIONS_TO_GEN):
- out += PrintStructShort(s)
+ for s in (x for x in comparison_types_to_gen if x in self.vk.structs):
+ out.extend(self.PrintStructComparisonForwardDecl(self.vk.structs[s]))
+ for s in (x for x in comparison_types_to_gen if x in self.vk.structs):
+ out.extend(self.PrintStructComparison(self.vk.structs[s]))
+ for s in (x for x in types_to_gen if x in self.vk.structs and x in STRUCT_SHORT_VERSIONS_TO_GEN):
+ out.extend(self.PrintStructShort(self.vk.structs[s]))
- out += 'auto format_ranges = std::array{\n'
+ out.append('auto format_ranges = std::array{\n')
for f in self.format_ranges:
- out += f' FormatRange{{{f.minimum_instance_version}, {f.extension_name if f.extension_name is not None else "nullptr"}, '
- out += f'static_cast<VkFormat>({f.first_format}), static_cast<VkFormat>({f.last_format})}},\n'
- out += '};\n'
+ out.append(f' FormatRange{{{f.minimum_instance_version}, {self.vk.extensions[f.extensions[0]].nameString if len(f.extensions) > 0 else "nullptr"}, ')
+ out.append(f'static_cast<VkFormat>({f.first_format}), static_cast<VkFormat>({f.last_format})}},\n')
+ out.append('};\n')
- out += self.genVideoProfileUtils()
+ out.extend(self.genVideoProfileUtils())
- gen.write(out, file=self.outFile)
+ self.write(''.join(out))
- gen.OutputGenerator.endFile(self)
def genVideoEnums(self):
- # We need to add dumping utilities for enums declared in the video std headers and directly
- # present in the Vulkan API structures. In order to do that we really have no choice but
- # to parse the video.xml and generate the utilities based on the enum types defined there
- videoRegistryFile = self.genOpts.registryFile.replace('vk.xml', 'video.xml')
- if os.path.isfile(videoRegistryFile):
- videoxml = etree.parse(videoRegistryFile)
- else:
- assert False, "Could not find video.xml to generate utilities for video enum types"
- out = ''
- for enum in videoxml.findall("./enums[@name]"):
- enumname = enum.get('name')
- out += f'std::string {enumname}String({enumname} value) {{\n'
- out += ' switch (value) {\n'
- for option in enum.findall("./enum[@name]"):
- name = option.get('name')
+ out = []
+ for enum in self.vk.videoStd.enums.values():
+ out.append(f'std::string {enum.name}String({enum.name} value) {{\n')
+ out.append(' switch (value) {\n')
+ for field in enum.fields:
# Ignore aliases
- if option.get('value') is not None:
- out += f' case {name}: return "{name}";\n'
- out += f' default: return std::string("UNKNOWN_{enumname}_value") + std::to_string(value);\n'
- out += ' }\n}\n'
- out += f'void Dump{enumname}(Printer &p, std::string name, {enumname} value) {{\n'
- out += f' p.PrintKeyString(name, {enumname}String(value));\n}}\n'
+ if field.value is not None:
+ out.append(f' case {field.name}: return "{field.name}";\n')
+ out.append(f' default: return std::string("UNKNOWN_{enum.name}_value") + std::to_string(value);\n')
+ out.append(' }\n}\n')
+ out.append(f'void Dump{enum.name}(Printer &p, std::string name, {enum.name} value) {{\n')
+ out.append(f' p.PrintKeyString(name, {enum.name}String(value));\n}}\n')
return out
- def genVideoProfileUtils(self):
- out = ''
-
- # Parse video codec information from the XML
- videoCodecs = OrderedDict()
- xmlVideoCodecs = self.registry.reg.find("./videocodecs")
- for xmlVideoCodec in xmlVideoCodecs.findall("./videocodec"):
- name = xmlVideoCodec.get('name')
- extend = xmlVideoCodec.get('extend')
- value = xmlVideoCodec.get('value')
- if value is None:
- # Video codec category
- videoCodecs[name] = VulkanVideoCodec(name)
- else:
- # Specific video codec
- videoCodecs[name] = VulkanVideoCodec(name, videoCodecs[extend], value)
- videoCodec = videoCodecs[name]
-
- for xmlVideoProfiles in xmlVideoCodec.findall("./videoprofiles"):
- videoProfileStructName = xmlVideoProfiles.get('struct')
- videoCodec.profileStructs[videoProfileStructName] = VulkanVideoProfileStruct(videoProfileStructName)
- videoProfileStruct = videoCodec.profileStructs[videoProfileStructName]
-
- for xmlVideoProfileMember in xmlVideoProfiles.findall("./videoprofilemember"):
- memberName = xmlVideoProfileMember.get('name')
- videoProfileStruct.members[memberName] = VulkanVideoProfileStructMember(memberName)
- videoProfileStructMember = videoProfileStruct.members[memberName]
-
- for xmlVideoProfile in xmlVideoProfileMember.findall("./videoprofile"):
- videoProfileStructMember.values[xmlVideoProfile.get('value')] = xmlVideoProfile.get('name')
-
- for xmlVideoCapabilities in xmlVideoCodec.findall("./videocapabilities"):
- capabilityStructName = xmlVideoCapabilities.get('struct')
- videoCodec.capabilities[capabilityStructName] = capabilityStructName
-
- for xmlVideoFormat in xmlVideoCodec.findall("./videoformat"):
- videoFormatName = xmlVideoFormat.get('name')
- videoFormatExtend = xmlVideoFormat.get('extend')
- if videoFormatName is not None:
- # This is a new video format category
- videoFormatUsage = xmlVideoFormat.get('usage')
- videoCodec.formats[videoFormatName] = VulkanVideoFormat(videoFormatName, videoFormatUsage)
- videoFormat = videoCodec.formats[videoFormatName]
- elif videoFormatExtend is not None:
- # This is an extension to an already defined video format category
- if videoFormatExtend in videoCodec.formats:
- videoFormat = videoCodec.formats[videoFormatExtend]
- else:
- assert False, f"Video format category '{videoFormatExtend}' not found but it is attempted to be extended"
- else:
- assert False, "'name' or 'extend' is attribute is required for 'videoformat' element"
-
- for xmlVideoFormatProperties in xmlVideoFormat.findall("./videoformatproperties"):
- propertiesStructName = xmlVideoFormatProperties.get('struct')
- videoFormat.properties[propertiesStructName] = propertiesStructName
-
- for xmlVideoFormatRequiredCap in xmlVideoFormat.findall("./videorequirecapabilities"):
- requiredCapStruct = xmlVideoFormatRequiredCap.get('struct')
- requiredCapMember = xmlVideoFormatRequiredCap.get('member')
- requiredCapValue = xmlVideoFormatRequiredCap.get('value')
- videoFormat.requiredCaps.append(VulkanVideoRequiredCapabilities(requiredCapStruct, requiredCapMember, requiredCapValue))
-
- # Collect flag types in a set because we will need to look this up
- flagTypes = set()
- for flagType in self.flags:
- flagTypes.add(flagType.name)
-
- # Utility to get structure definition from structure name
- def GetStructDef(name):
- for s in self.all_structures:
- if s.name == name:
- return s
- assert False, f"Definition for structure '{name}' is missing"
-
- # Utility to get the extension / version precondition of a list of type names
- def GetTypesPrecondition(typelist, indent):
- indent = ' ' * indent
- out = ''
- extEnables = {}
- for typename in typelist:
- for k, elem in self.extTypes.items():
- if k == typename or (typename in self.aliases.keys() and k in self.aliases[typename]):
- for e in elem:
- extEnables[e.extNameStr] = e.type
-
- version = None
- for typename in typelist:
- for v in self.vulkan_versions:
- if typename in v.names:
- if version is not None and (v.major > version.major or (v.major == version.major and v.minor > version.minor)):
- version = v
-
- has_version = version is not None
- has_extNameStr = len(extEnables) > 0 or typename in self.aliases.keys()
- if has_version or has_extNameStr:
- out += f'{indent}if ('
- has_printed_condition = False
- if has_extNameStr:
- for key, value in extEnables.items():
- if has_printed_condition:
- out += f'\n{indent} || '
- else:
- has_printed_condition = True
- if has_version:
- out += '('
- if value == EXTENSION_TYPE_DEVICE:
- out += f'gpu.CheckPhysicalDeviceExtensionIncluded({key})'
- else:
- assert False, 'Should never get here'
- if has_version:
+
+ # Utility to get the extension / version precondition of a list of type names
+ def GetTypesPrecondition(self, typelist, indent):
+ indent = ' ' * indent
+ out = []
+ extEnables = []
+ for typename in typelist:
+ extEnables.extend(self.vk.structs[typename].extensions)
+
+ version = None
+ for typename in typelist:
+ for v in self.vk.versions.values():
+ if typename in v.name:
+ if version is not None and (v.major > version.major or (v.major == version.major and v.minor > version.minor)):
+ version = v
+
+
+ has_version = version is not None
+ has_extNameStr = len(extEnables) > 0
+ if has_version or has_extNameStr:
+ out.append(f'{indent}if (')
+ has_printed_condition = False
+ if has_extNameStr:
+ for ext in extEnables:
if has_printed_condition:
- out += f'\n{indent} || (gpu.api_version >= {version.constant})'
+ out.append(f'\n{indent} || ')
else:
- out += f'gpu.api_version >= {version.constant}'
- out += ') {\n'
- else:
- out = f'{indent}{{\n'
- return out
-
- # Utility to construct a capability prerequisite condition evaluation expression
- def GetRequiredCapsCondition(structName, memberName, memberRef, value):
- condition = ''
- requiredCapStructDef = GetStructDef(structName)
- for member in requiredCapStructDef.members:
- if member.name == memberName:
- if member.typeID in flagTypes:
- # Check that the flags contain all the required values
- def genExpressionFromValue(value):
- return value if value == "" else f"({memberRef} & {value}) != 0"
-
- for char in condition:
- if char in ['(', ')', '+', ',']:
- condition += genExpressionFromValue(value)
- value = ""
- if char == '+':
- # '+' means AND
- condition += ' && '
- elif char == ',':
- # ',' means OR
- condition += ' || '
- else:
- condition += char
- else:
- value += char
- condition += genExpressionFromValue(value)
+ has_printed_condition = True
+ if has_version:
+ out.append('(')
+ if self.vk.extensions[ext].device:
+ out.append(f'gpu.CheckPhysicalDeviceExtensionIncluded({self.vk.extensions[ext].nameString})')
else:
- condition = f'{memberRef} == {value}'
- if condition == '':
- return 'true'
- else:
- return f'({condition})'
+ assert False, 'Should never get here'
+ if has_version:
+ if has_printed_condition:
+ out.append(f'\n{indent} || (gpu.api_version >= {version.nameApi})')
+ else:
+ out.append(f'gpu.api_version >= {version.nameApi}')
+ out.append(') {\n')
+ else:
+ out = f'{indent}{{\n'
+ return out
+
+ # Utility to construct a capability prerequisite condition evaluation expression
+ def GetRequiredCapsCondition(self, structName, memberName, memberRef, value):
+ condition = ''
+ requiredCapStructDef = self.vk.structs[structName]
+ for member in requiredCapStructDef.members:
+ if member.name == memberName:
+ if member.type in self.vk.flags:
+ # Check that the flags contain all the required values
+ def genExpressionFromValue(value):
+ return value if value == "" else f"({memberRef} & {value}) != 0"
+
+ for char in condition:
+ if char in ['(', ')', '+', ',']:
+ condition += genExpressionFromValue(value)
+ value = ""
+ if char == '+':
+ # '+' means AND
+ condition += ' && '
+ elif char == ',':
+ # ',' means OR
+ condition += ' || '
+ else:
+ condition += char
+ else:
+ value += char
+ condition += genExpressionFromValue(value)
+ else:
+ condition = f'{memberRef} == {value}'
+ if condition == '':
+ return 'true'
+ else:
+ return f'({condition})'
+
+ def genVideoProfileUtils(self):
+ out = []
# Generate video format properties comparator
- out += '''
+ out.append('''
bool is_video_format_same(const VkVideoFormatPropertiesKHR &format_a, const VkVideoFormatPropertiesKHR &format_b) {
auto a = reinterpret_cast<const VkBaseInStructure*>(&format_a);
auto b = reinterpret_cast<const VkBaseInStructure*>(&format_b);
@@ -570,19 +359,19 @@ bool is_video_format_same(const VkVideoFormatPropertiesKHR &format_a, const VkVi
// Structure type mismatch (extension structures are expected to be chained in the same order)
same = false;
} else {
- switch (a->sType) {'''
+ switch (a->sType) {''')
if 'VkVideoFormatPropertiesKHR' in self.registry.validextensionstructs:
for extstruct in ['VkVideoFormatPropertiesKHR'] + self.registry.validextensionstructs['VkVideoFormatPropertiesKHR']:
- extstructDef = GetStructDef(extstruct)
- out += f'''
- case {extstructDef.sTypeName}:
+ extstructDef = self.vk.structs[extstruct]
+ out.append(f'''
+ case {extstructDef.sType}:
same = same && memcmp(reinterpret_cast<const char*>(a) + sizeof(VkBaseInStructure),
reinterpret_cast<const char*>(b) + sizeof(VkBaseInStructure),
sizeof({extstruct}) - sizeof(VkBaseInStructure)) == 0;
- break;'''
+ break;''')
- out += '''
+ out.append('''
default:
// Unexpected structure type
same = false;
@@ -594,10 +383,10 @@ bool is_video_format_same(const VkVideoFormatPropertiesKHR &format_a, const VkVi
}
return same;
}
-'''
+''')
# Generate video profile info capture utilities
- out += '''
+ out.append('''
std::vector<std::unique_ptr<AppVideoProfile>> enumerate_supported_video_profiles(AppGpu &gpu) {
std::vector<std::unique_ptr<AppVideoProfile>> result{};
@@ -665,19 +454,19 @@ std::vector<std::unique_ptr<AppVideoProfile>> enumerate_supported_video_profiles
result.push_back(std::move(profile));
}
};
-'''
+''')
# Generate individual video profiles from the video codec metadata
- for videoCodec in videoCodecs.values():
+ for videoCodec in self.vk.videoCodecs.values():
# Ignore video codec categories
if videoCodec.value is None:
continue
- out += '\n'
- out += GetTypesPrecondition(videoCodec.profileStructs, 4)
- out += f'{" " * 8}const std::string codec_name = "{videoCodec.name}";\n'
+ out.append('\n')
+ out.extend(self.GetTypesPrecondition(videoCodec.profiles.keys(), 4))
+ out.append(f'{" " * 8}const std::string codec_name = "{videoCodec.name}";\n')
- out += '''
+ out.append('''
for (auto chroma_subsampling : chroma_subsampling_list) {
for (auto luma_bit_depth : bit_depth_list) {
for (auto chroma_bit_depth : bit_depth_list) {
@@ -687,107 +476,107 @@ std::vector<std::unique_ptr<AppVideoProfile>> enumerate_supported_video_profiles
}
std::string profile_base_name = codec_name + base_format(chroma_subsampling, luma_bit_depth, chroma_bit_depth);
-'''
+''')
# Setup video profile info
- out += f'{" " * 20}VkVideoProfileInfoKHR profile_info{{\n'
- out += f'{" " * 20} VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR,\n'
- out += f'{" " * 20} nullptr,\n'
- out += f'{" " * 20} {videoCodec.value},\n'
- out += f'{" " * 20} chroma_subsampling.value,\n'
- out += f'{" " * 20} luma_bit_depth.value,\n'
- out += f'{" " * 20} chroma_bit_depth.value\n'
- out += f'{" " * 20}}};\n\n'
+ out.append(f'{" " * 20}VkVideoProfileInfoKHR profile_info{{\n')
+ out.append(f'{" " * 20} VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR,\n')
+ out.append(f'{" " * 20} nullptr,\n')
+ out.append(f'{" " * 20} {videoCodec.value},\n')
+ out.append(f'{" " * 20} chroma_subsampling.value,\n')
+ out.append(f'{" " * 20} luma_bit_depth.value,\n')
+ out.append(f'{" " * 20} chroma_bit_depth.value\n')
+ out.append(f'{" " * 20}}};\n\n')
# Setup video profile info chain creation callback
- out += f'{" " * 20}auto create_profile_info_chain = [&](const void **ppnext) -> std::unique_ptr<video_profile_info_chain> {{\n'
- out += f'{" " * 20} auto profile_info_chain = std::make_unique<video_profile_info_chain>();\n'
- for profileStruct in videoCodec.profileStructs:
- structDef = GetStructDef(profileStruct)
- out += AddGuardHeader(structDef)
- out += f'{" " * 24}if (profile_info_chain != nullptr) {{\n'
- out += f'{" " * 28}profile_info_chain->{profileStruct[2:]}.sType = {structDef.sTypeName};\n'
- out += f'{" " * 28}profile_info_chain->{profileStruct[2:]}.pNext = nullptr;\n'
- out += f'{" " * 28}*ppnext = &profile_info_chain->{profileStruct[2:]};\n'
- out += f'{" " * 28}ppnext = &profile_info_chain->{profileStruct[2:]}.pNext;\n'
- out += f'{" " * 24}}}\n'
- if structDef.guard:
- out += f'#else\n{" " * 20}profile_info_chain = nullptr;\n'
- out += AddGuardFooter(structDef)
- out += f'{" " * 20} return profile_info_chain;\n'
- out += f'{" " * 20}}};\n\n'
+ out.append(f'{" " * 20}auto create_profile_info_chain = [&](const void **ppnext) -> std::unique_ptr<video_profile_info_chain> {{\n')
+ out.append(f'{" " * 20} auto profile_info_chain = std::make_unique<video_profile_info_chain>();\n')
+ for profileStruct in videoCodec.profiles:
+ structDef = self.vk.structs[profileStruct]
+ out.append(self.AddGuardHeader(structDef))
+ out.append(f'{" " * 24}if (profile_info_chain != nullptr) {{\n')
+ out.append(f'{" " * 28}profile_info_chain->{profileStruct[2:]}.sType = {structDef.sType};\n')
+ out.append(f'{" " * 28}profile_info_chain->{profileStruct[2:]}.pNext = nullptr;\n')
+ out.append(f'{" " * 28}*ppnext = &profile_info_chain->{profileStruct[2:]};\n')
+ out.append(f'{" " * 28}ppnext = &profile_info_chain->{profileStruct[2:]}.pNext;\n')
+ out.append(f'{" " * 24}}}\n')
+ if structDef.protect:
+ out.append(f'#else\n{" " * 20}profile_info_chain = nullptr;\n')
+ out.append(self.AddGuardFooter(structDef))
+ out.append(f'{" " * 20} return profile_info_chain;\n')
+ out.append(f'{" " * 20}}};\n\n')
# Setup video capabilities chain creation callback
- out += f'{" " * 20}auto create_capabilities_chain = [&](void **ppnext) -> std::unique_ptr<video_capabilities_chain> {{\n'
- out += f'{" " * 20} auto capabilities_chain = std::make_unique<video_capabilities_chain>();\n'
+ out.append(f'{" " * 20}auto create_capabilities_chain = [&](void **ppnext) -> std::unique_ptr<video_capabilities_chain> {{\n')
+ out.append(f'{" " * 20} auto capabilities_chain = std::make_unique<video_capabilities_chain>();\n')
for capabilities in videoCodec.capabilities:
- structDef = GetStructDef(capabilities)
- out += AddGuardHeader(structDef)
- out += f'{" " * 24}if (capabilities_chain != nullptr) {{\n'
- out += GetTypesPrecondition([capabilities], 28)
- out += f'{" " * 32}capabilities_chain->{capabilities[2:]}.sType = {structDef.sTypeName};\n'
- out += f'{" " * 32}capabilities_chain->{capabilities[2:]}.pNext = nullptr;\n'
- out += f'{" " * 32}*ppnext = &capabilities_chain->{capabilities[2:]};\n'
- out += f'{" " * 32}ppnext = &capabilities_chain->{capabilities[2:]}.pNext;\n'
- out += f'{" " * 28}}}\n'
- out += f'{" " * 24}}}\n'
- out += AddGuardFooter(structDef)
- out += f'{" " * 20} return capabilities_chain;\n'
- out += f'{" " * 20}}};\n\n'
+ structDef = self.vk.structs[capabilities]
+ out.append(self.AddGuardHeader(structDef))
+ out.append(f'{" " * 24}if (capabilities_chain != nullptr) {{\n')
+ out.extend(self.GetTypesPrecondition([capabilities], 28))
+ out.append(f'{" " * 32}capabilities_chain->{capabilities[2:]}.sType = {structDef.sType};\n')
+ out.append(f'{" " * 32}capabilities_chain->{capabilities[2:]}.pNext = nullptr;\n')
+ out.append(f'{" " * 32}*ppnext = &capabilities_chain->{capabilities[2:]};\n')
+ out.append(f'{" " * 32}ppnext = &capabilities_chain->{capabilities[2:]}.pNext;\n')
+ out.append(f'{" " * 28}}}\n')
+ out.append(f'{" " * 24}}}\n')
+ out.append(self.AddGuardFooter(structDef))
+ out.append(f'{" " * 20} return capabilities_chain;\n')
+ out.append(f'{" " * 20}}};\n\n')
# Setup video format properties chain creation callbacks
- out += f'{" " * 20}const AppVideoProfile::CreateFormatPropertiesChainCbList create_format_properties_chain_list = {{\n'
+ out.append(f'{" " * 20}const AppVideoProfile::CreateFormatPropertiesChainCbList create_format_properties_chain_list = {{\n')
for format in videoCodec.formats.values():
- out += f'{" " * 24}AppVideoProfile::CreateFormatPropertiesChainCb {{\n'
- out += f'{" " * 28}"{format.name}",\n'
- out += f'{" " * 28}{format.usage.replace("+", " | ")},\n'
+ out.append(f'{" " * 24}AppVideoProfile::CreateFormatPropertiesChainCb {{\n')
+ out.append(f'{" " * 28}"{format.name}",\n')
+ out.append(f'{" " * 28}{format.usage.replace("+", " | ")},\n')
# Callback to check required capabilities
- out += f'{" " * 28}[&](const VkVideoCapabilitiesKHR &capabilities) -> bool {{\n'
- out += f'{" " * 28} bool supported = true;\n'
+ out.append(f'{" " * 28}[&](const VkVideoCapabilitiesKHR &capabilities) -> bool {{\n')
+ out.append(f'{" " * 28} bool supported = true;\n')
for requiredCap in format.requiredCaps:
- structDef = GetStructDef(requiredCap.struct)
- out += AddGuardHeader(structDef)
- out += GetTypesPrecondition([requiredCap.struct], 32)
- out += f'{" " * 32} auto caps = reinterpret_cast<const {requiredCap.struct}*>(find_caps_struct(capabilities, {structDef.sTypeName}));\n'
- out += f'{" " * 32} if (caps != nullptr) {{\n'
- out += f'{" " * 32} supported = supported && {GetRequiredCapsCondition(requiredCap.struct, requiredCap.member, f"caps->{requiredCap.member}", requiredCap.value)};\n'
- out += f'{" " * 32} }} else {{\n'
- out += f'{" " * 32} supported = false;\n'
- out += f'{" " * 32} }}\n'
- out += f'{" " * 32}}} else {{\n'
- out += f'{" " * 32} supported = false;\n'
- out += f'{" " * 32}}}\n'
- if structDef.guard:
- out += f'#else\n{" " * 32}supported = false;\n'
- out += AddGuardFooter(structDef)
- out += f'{" " * 28} return supported;\n'
- out += f'{" " * 28}}},\n'
+ structDef = self.vk.structs[requiredCap.struct]
+ out.append(self.AddGuardHeader(structDef))
+ out.extend(self.GetTypesPrecondition([requiredCap.struct], 32))
+ out.append(f'{" " * 32} auto caps = reinterpret_cast<const {requiredCap.struct}*>(find_caps_struct(capabilities, {structDef.sType}));\n')
+ out.append(f'{" " * 32} if (caps != nullptr) {{\n')
+ out.append(f'{" " * 32} supported = supported && {self.GetRequiredCapsCondition(requiredCap.struct, requiredCap.member, f"caps->{requiredCap.member}", requiredCap.value)};\n')
+ out.append(f'{" " * 32} }} else {{\n')
+ out.append(f'{" " * 32} supported = false;\n')
+ out.append(f'{" " * 32} }}\n')
+ out.append(f'{" " * 32}}} else {{\n')
+ out.append(f'{" " * 32} supported = false;\n')
+ out.append(f'{" " * 32}}}\n')
+ if structDef.protect:
+ out.append(f'#else\n{" " * 32}supported = false;\n')
+ out.append(self.AddGuardFooter(structDef))
+ out.append(f'{" " * 28} return supported;\n')
+ out.append(f'{" " * 28}}},\n')
# Callback to create video format properties chain
- out += f'{" " * 28}[&](void **ppnext) -> std::unique_ptr<video_format_properties_chain> {{\n'
- out += f'{" " * 28} auto format_properties_chain = std::make_unique<video_format_properties_chain>();\n'
+ out.append(f'{" " * 28}[&](void **ppnext) -> std::unique_ptr<video_format_properties_chain> {{\n')
+ out.append(f'{" " * 28} auto format_properties_chain = std::make_unique<video_format_properties_chain>();\n')
for formatProps in format.properties:
- structDef = GetStructDef(formatProps)
- out += AddGuardHeader(structDef)
- out += f'{" " * 32}if (format_properties_chain != nullptr) {{\n'
- out += GetTypesPrecondition([formatProps], 36)
- out += f'{" " * 40}format_properties_chain->{formatProps[2:]}.sType = {structDef.sTypeName};\n'
- out += f'{" " * 40}format_properties_chain->{formatProps[2:]}.pNext = nullptr;\n'
- out += f'{" " * 40}*ppnext = &format_properties_chain->{formatProps[2:]};\n'
- out += f'{" " * 40}ppnext = &format_properties_chain->{formatProps[2:]}.pNext;\n'
- out += f'{" " * 36}}}\n'
- out += f'{" " * 32}}}\n'
- out += AddGuardFooter(structDef)
- out += f'{" " * 28} return format_properties_chain;\n'
- out += f'{" " * 28}}},\n'
-
- out += f'{" " * 24}}},\n'
- out += f'{" " * 20}}};\n\n'
+ structDef = self.vk.structs[formatProps]
+ out.append(self.AddGuardHeader(structDef))
+ out.append(f'{" " * 32}if (format_properties_chain != nullptr) {{\n')
+ out.extend(self.GetTypesPrecondition([formatProps], 36))
+ out.append(f'{" " * 40}format_properties_chain->{formatProps[2:]}.sType = {structDef.sType};\n')
+ out.append(f'{" " * 40}format_properties_chain->{formatProps[2:]}.pNext = nullptr;\n')
+ out.append(f'{" " * 40}*ppnext = &format_properties_chain->{formatProps[2:]};\n')
+ out.append(f'{" " * 40}ppnext = &format_properties_chain->{formatProps[2:]}.pNext;\n')
+ out.append(f'{" " * 36}}}\n')
+ out.append(f'{" " * 32}}}\n')
+ out.append(self.AddGuardFooter(structDef))
+ out.append(f'{" " * 28} return format_properties_chain;\n')
+ out.append(f'{" " * 28}}},\n')
+
+ out.append(f'{" " * 24}}},\n')
+ out.append(f'{" " * 20}}};\n\n')
# Permute profiles for each profile struct member value
profiles = {'': []}
- for profileStruct in videoCodec.profileStructs.values():
+ for profileStruct in videoCodec.profiles.values():
for profileStructMember in profileStruct.members.values():
newProfiles = {}
for profileStructMemberValue, profileStructMemberName in profileStructMember.values.items():
@@ -795,246 +584,144 @@ std::vector<std::unique_ptr<AppVideoProfile>> enumerate_supported_video_profiles
# Only add video profile name suffix to the full descriptive name if not empty to avoid excess whitespace
newProfileName = profileName if profileStructMemberName == '' else f'{profileName} {profileStructMemberName}'
newProfiles[newProfileName] = profile + [{
- "struct": profileStruct.struct,
+ "struct": profileStruct.name,
"member": profileStructMember.name,
"value": profileStructMemberValue
}]
profiles = newProfiles
for profileName, profile in profiles.items():
- out += f'{" " * 20}add_profile(profile_base_name + "{profileName}", profile_info,\n'
- out += f'{" " * 20} create_profile_info_chain, create_capabilities_chain,\n'
- out += f'{" " * 20} create_format_properties_chain_list,\n'
- out += f'{" " * 20} [](AppVideoProfile& profile) {{\n'
- for profileStruct in videoCodec.profileStructs:
- structDef = GetStructDef(profileStruct)
- out += AddGuardHeader(structDef)
+ out.append(f'{" " * 20}add_profile(profile_base_name + "{profileName}", profile_info,\n')
+ out.append(f'{" " * 20} create_profile_info_chain, create_capabilities_chain,\n')
+ out.append(f'{" " * 20} create_format_properties_chain_list,\n')
+ out.append(f'{" " * 20} [](AppVideoProfile& profile) {{\n')
+ for profileStruct in videoCodec.profiles:
+ structDef = self.vk.structs[profileStruct]
+ out.append(self.AddGuardHeader(structDef))
for elem in profile:
if elem['struct'] == profileStruct:
- out += f'{" " * 24}profile.profile_info_chain->{elem["struct"][2:]}.{elem["member"]} = {elem["value"]};\n'
- out += AddGuardFooter(structDef)
- out += f'{" " * 20}}});\n'
+ out.append(f'{" " * 24}profile.profile_info_chain->{elem["struct"][2:]}.{elem["member"]} = {elem["value"]};\n')
+ out.append(self.AddGuardFooter(structDef))
+ out.append(f'{" " * 20}}});\n')
- out += f'{" " * 16}}}\n'
- out += f'{" " * 12}}}\n'
- out += f'{" " * 8}}}\n'
- out += f'{" " * 4}}}\n'
+ out.append(f'{" " * 16}}}\n')
+ out.append(f'{" " * 12}}}\n')
+ out.append(f'{" " * 8}}}\n')
+ out.append(f'{" " * 4}}}\n')
- out += ' return result;\n'
- out += '}\n\n'
+ out.append(' return result;\n')
+ out.append('}\n\n')
return out
- def genCmd(self, cmd, name, alias):
- gen.OutputGenerator.genCmd(self, cmd, name, alias)
- # These are actually constants
- def genEnum(self, enuminfo, name, alias):
- gen.OutputGenerator.genEnum(self, enuminfo, name, alias)
+ # finds all the ranges of formats from core (1.0), core versions (1.1+), and extensions
+ def findFormatRanges(self):
+ min_val = 2**32
+ prev_field = None
+ max_val = 0
+ for f in self.vk.enums['VkFormat'].fields:
+ if f.value is None:
+ continue
+ if prev_field is not None and f.value != prev_field.value + 1:
+ for ext in prev_field.extensions:
+ if self.vk.extensions[ext].promotedTo is not None:
+ self.format_ranges.append(VulkanFormatRange(self.vk.extensions[ext].promotedTo.replace("VK_", "VK_API_"), [], min_val, max_val))
+ break
+ # only bother with the first extension
+ self.format_ranges.append(VulkanFormatRange(0, prev_field.extensions, min_val, max_val))
+ min_val = 2**32
+ max_val = 0
+ min_val = min(min_val, f.value)
+ max_val = max(max_val, f.value)
- # These are actually enums
- def genGroup(self, groupinfo, groupName, alias):
- gen.OutputGenerator.genGroup(self, groupinfo, groupName, alias)
+ prev_field = f
- if alias is not None:
- if alias in self.aliases.keys():
- self.aliases[alias].append(groupName)
- else:
- self.aliases[alias] = [groupName, ]
- return
+ for ext in prev_field.extensions:
+ if self.vk.extensions[ext].promotedTo is not None:
+ self.format_ranges.append(VulkanFormatRange(self.vk.extensions[ext].promotedTo.replace("VK_", "VK_API_"), [], min_val, max_val))
+ break
- if groupinfo.elem.get('type') == 'bitmask':
- self.bitmasks.append(VulkanBitmask(groupinfo.elem))
- elif groupinfo.elem.get('type') == 'enum':
- self.enums.append(VulkanEnum(groupinfo.elem))
+ self.format_ranges.append(VulkanFormatRange(0, prev_field.extensions, min_val, max_val))
- def genType(self, typeinfo, name, alias):
- gen.OutputGenerator.genType(self, typeinfo, name, alias)
+ def findAllTypesToGen(self, initial_type_set):
+ out_set = set()
+ current_set = initial_type_set
+ while len(current_set) > 0:
+ out_set.update(current_set)
+ next_set = set()
- if alias is not None:
- if alias in self.aliases.keys():
- self.aliases[alias].append(name)
- else:
- self.aliases[alias] = [name, ]
- return
-
- if typeinfo.elem.get('category') == 'bitmask':
- self.flags.append(VulkanFlags(typeinfo.elem))
-
- if typeinfo.elem.get('category') == 'struct':
- self.all_structures.append(VulkanStructure(
- name, typeinfo.elem, self.constants, self.extTypes))
-
- is_vendor_type = False
- for vendor in self.vendor_abbreviations:
- for node in typeinfo.elem.findall('member'):
- if node.get('values') is not None:
- if node.get('values').find(vendor) != -1:
- is_vendor_type = True
- break
- if is_vendor_type:
- break
+ for current_item in current_set:
+ if current_item in self.vk.structs:
+ for member in self.vk.structs[current_item].members:
+ if member.type not in out_set and member.name not in NAMES_TO_IGNORE:
+ next_set.add(member.type)
- for key, value in EXTENSION_CATEGORIES.items():
- if str(typeinfo.elem.get('structextends')).find(value.get('extends')) != -1:
- if value.get('exclude') is None or name not in value.get('exclude'):
- if not is_vendor_type or value.get('ignore_vendor_exclusion'):
- self.extension_sets[key].add(name)
+ current_set = next_set
+ return out_set
- # finds all the ranges of formats from core (1.0), core versions (1.1+), and extensions
- def findFormatRanges(self):
- for enums in self.registry.reg.findall('enums'):
- if enums.get('name') == 'VkFormat':
- min_val = 2**32
- max_val = 0
- for enum in enums.findall('enum'):
- if enum.get('value') is None:
- continue
- value = int(enum.get('value'))
- min_val = min(min_val, value)
- max_val = max(max_val, value)
- if min_val < 2**32 and max_val > 0:
- self.format_ranges.append(VulkanFormatRange(0, None, min_val, max_val))
-
- for feature in self.registry.reg.findall('feature'):
- for require in feature.findall('require'):
- comment = require.get('comment')
- original_ext = None
- if comment is not None and comment.find('Promoted from') >= 0:
- # may need tweaking in the future - some ext names aren't just the upper case version
- original_ext = comment.split(' ')[2].upper() + '_EXTENSION_NAME'
- # insert an underscore before numbers in the name define
- original_ext = re.sub(r'([A-Z])(\d+)', r'\1_\2', original_ext)
- min_val = 2**32
- max_val = 0
- for enum in require.findall('enum'):
- if enum.get('extends') == 'VkFormat':
- value = CalcEnumValue(int(enum.get('extnumber')), int(enum.get('offset')))
- min_val = min(min_val, value)
- max_val = max(max_val, value)
- if min_val < 2**32 and max_val > 0:
- self.format_ranges.append(VulkanFormatRange(feature.get('name').replace('_VERSION_', '_API_VERSION_'), None, min_val, max_val))
- # If the formats came from an extension, add a format range for that extension so it'll be printed if the ext is supported but not the core version
- if original_ext is not None:
- self.format_ranges.append(VulkanFormatRange(0, original_ext, min_val, max_val))
-
- for extension in self.registry.reg.find('extensions').findall('extension'):
- if not self.genOpts.apiname in extension.get('supported').split(','):
- continue
+ def AddGuardHeader(self,obj):
+ if obj is not None and obj.protect is not None:
+ return f'#ifdef {obj.protect}\n'
+ else:
+ return ''
+
+
+ def AddGuardFooter(self,obj):
+ if obj is not None and obj.protect is not None:
+ return f'#endif // {obj.protect}\n'
+ else:
+ return ''
+
+ def PrintEnumToString(self,enum):
+ out = []
+ out.append(self.AddGuardHeader(enum))
+ out.append(f'std::string {enum.name}String({enum.name} value) {{\n')
+ out.append(' switch (value) {\n')
+ for v in enum.fields:
+ out.append(f' case ({v.name}): return "{v.name[3:]}";\n')
+ out.append(f' default: return std::string("UNKNOWN_{enum.name}_value") + std::to_string(value);\n')
+ out.append(' }\n}\n')
+ out.append(self.AddGuardFooter(enum))
+ return out
- min_val = 2**32
- max_val = 0
- enum_name_string = ''
- for require in extension.findall('require'):
- for enum in require.findall('enum'):
- if enum.get('value') is not None and enum.get('value').find(extension.get('name')):
- enum_name_string = enum.get('name')
- if enum.get('extends') == 'VkFormat':
- if enum.get('offset') is None:
- continue
- value = CalcEnumValue(int(extension.get('number')), int(enum.get('offset')))
- min_val = min(min_val, value)
- max_val = max(max_val, value)
- if min_val < 2**32 and max_val > 0:
- self.format_ranges.append(VulkanFormatRange(0, enum_name_string, min_val, max_val))
-
-
-
-def GatherTypesToGen(structure_list, structures, exclude = None):
- if exclude is None:
- exclude = []
- types = set()
- for s in structures:
- types.add(s)
- added_stuff = True # repeat until no new types are added
- while added_stuff is True:
- added_stuff = False
- for s in structure_list:
- if s.name in types:
- for m in s.members:
- if m.typeID not in PREDEFINED_TYPES and m.name not in NAMES_TO_IGNORE:
- if m.typeID not in types:
- if s.name not in exclude:
- types.add(m.typeID)
- added_stuff = True
- return types
-
-
-def GetExtension(name, generator):
- if name in generator.extFuncs:
- return generator.extFuncs[name]
- elif name in generator.extTypes:
- return generator.extTypes[name][0]
- else:
- return None
-
-
-def AddGuardHeader(obj):
- if obj is not None and obj.guard is not None:
- return f'#ifdef {obj.guard}\n'
- else:
- return ''
-
-
-def AddGuardFooter(obj):
- if obj is not None and obj.guard is not None:
- return f'#endif // {obj.guard}\n'
- else:
- return ''
-
-def CalcEnumValue(num, offset):
- base = 1000000000
- block_size = 1000
- return base + (num - 1) * block_size + offset
-
-def PrintEnumToString(enum, generator):
- out = ''
- out += AddGuardHeader(GetExtension(enum.name, generator))
- out += f'std::string {enum.name}String({enum.name} value) {{\n'
- out += ' switch (value) {\n'
- for v in enum.options:
- out += f' case ({v.name}): return "{v.name[3:]}";\n'
- out += f' default: return std::string("UNKNOWN_{enum.name}_value") + std::to_string(value);\n'
- out += ' }\n}\n'
- out += AddGuardFooter(GetExtension(enum.name, generator))
- return out
-
-
-def PrintEnum(enum, generator):
- out = ''
- out += AddGuardHeader(GetExtension(enum.name, generator))
- out += f'''void Dump{enum.name}(Printer &p, std::string name, {enum.name} value) {{
+
+ def PrintEnum(self,enum):
+ out = []
+ out.append(self.AddGuardHeader(enum))
+ out.append(f'''void Dump{enum.name}(Printer &p, std::string name, {enum.name} value) {{
if (p.Type() == OutputType::json)
p.PrintKeyString(name, std::string("VK_") + {enum.name}String(value));
else
p.PrintKeyString(name, {enum.name}String(value));
}}
-'''
- out += AddGuardFooter(GetExtension(enum.name, generator))
- return out
-
-
-def PrintGetFlagStrings(name, bitmask):
- out = ''
- out += f'std::vector<const char *> {name}GetStrings({name} value) {{\n'
- out += ' std::vector<const char *> strings;\n'
- # If a bitmask contains a field whose value is zero, we want to support printing the correct bitflag
- # Otherwise, use "None" for when there are not bits set in the bitmask
- if bitmask.options[0].value != 0:
- out += ' if (value == 0) { strings.push_back("None"); return strings; }\n'
- else:
- out += f' if (value == 0) {{ strings.push_back("{bitmask.options[0].name[3:]}"); return strings; }}\n'
- for v in bitmask.options:
- # only check single-bit flags
- if v.value != 0 and (v.value & (v.value - 1)) == 0:
- out += f' if ({v.name} & value) strings.push_back("{v.name[3:]}");\n'
- out += ' return strings;\n}\n'
- return out
-
-
-def PrintFlags(bitmask, name):
- out = f'void Dump{name}(Printer &p, std::string name, {name} value) {{\n'
- out += f''' if (static_cast<{bitmask.name}>(value) == 0) {{
+''')
+ out.append(self.AddGuardFooter(enum))
+ return out
+
+
+ def PrintGetFlagStrings(self,name, bitmask):
+ out = []
+ out.append(f'std::vector<const char *> {name}GetStrings({name} value) {{\n')
+ out.append(' std::vector<const char *> strings;\n')
+ # If a bitmask contains a field whose value is zero, we want to support printing the correct bitflag
+ # Otherwise, use "None" for when there are not bits set in the bitmask
+ if bitmask.flags[0].value != 0:
+ out.append(' if (value == 0) { strings.push_back("None"); return strings; }\n')
+ else:
+ out.append(f' if (value == 0) {{ strings.push_back("{bitmask.flags[0].name[3:]}"); return strings; }}\n')
+ for v in bitmask.flags:
+ # only check single-bit flags
+ if v.value != 0 and (v.value & (v.value - 1)) == 0:
+ out.append(f' if ({v.name} & value) strings.push_back("{v.name[3:]}");\n')
+ out.append(' return strings;\n}\n')
+ return out
+
+
+ def PrintFlags(self, bitmask, name):
+ out = []
+ out.append(f'void Dump{name}(Printer &p, std::string name, {name} value) {{\n')
+ out.append(f''' if (static_cast<{bitmask.name}>(value) == 0) {{
ArrayWrapper arr(p, name, 0);
if (p.Type() != OutputType::json && p.Type() != OutputType::vkconfig_output)
p.SetAsType().PrintString("None");
@@ -1049,12 +736,12 @@ def PrintFlags(bitmask, name):
p.SetAsType().PrintString(str);
}}
}}
-'''
- return out
+''')
+ return out
-def PrintFlagBits(bitmask):
- return f'''void Dump{bitmask.name}(Printer &p, std::string name, {bitmask.name} value) {{
+ def PrintFlagBits(self, bitmask):
+ return [f'''void Dump{bitmask.name}(Printer &p, std::string name, {bitmask.name} value) {{
auto strings = {bitmask.name}GetStrings(value);
if (strings.size() > 0) {{
if (p.Type() == OutputType::json)
@@ -1063,263 +750,249 @@ def PrintFlagBits(bitmask):
p.PrintKeyString(name, strings.at(0));
}}
}}
-'''
+''']
+
+
+ def PrintBitMask(self,bitmask, name):
+ out = []
+ out.extend(self.PrintGetFlagStrings(bitmask.name, bitmask))
+ out.append(self.AddGuardHeader(bitmask))
+ out.extend(self.PrintFlags(bitmask, name))
+ out.extend(self.PrintFlagBits(bitmask))
+ out.append(self.AddGuardFooter(bitmask))
+ out.append('\n')
+ return out
+
+ def PrintBitMaskToString(self, bitmask, name):
+ out = []
+ out.append(self.AddGuardHeader(bitmask))
+ out.append(f'std::string {name}String({name} value) {{\n')
+ out.append(' std::string out;\n')
+ out.append(' bool is_first = true;\n')
+ for v in bitmask.flags:
+ out.append(f' if ({v.name} & value) {{\n')
+ out.append(' if (is_first) { is_first = false; } else { out += " | "; }\n')
+ out.append(f' out += "{str(v.name)[3:]}";\n')
+ out.append(' }\n')
+ out.append(' return out;\n')
+ out.append('}\n')
+ out.append(self.AddGuardFooter(bitmask))
+ return out
-def PrintBitMask(bitmask, name, generator):
- out = PrintGetFlagStrings(bitmask.name, bitmask)
- out += AddGuardHeader(GetExtension(bitmask.name, generator))
- out += PrintFlags(bitmask, name)
- out += PrintFlagBits(bitmask)
- out += AddGuardFooter(GetExtension(bitmask.name, generator))
- out += '\n'
- return out
-
-
-def PrintBitMaskToString(bitmask, name, generator):
- out = AddGuardHeader(GetExtension(bitmask.name, generator))
- out += f'std::string {name}String({name} value) {{\n'
- out += ' std::string out;\n'
- out += ' bool is_first = true;\n'
- for v in bitmask.options:
- out += f' if ({v.name} & value) {{\n'
- out += ' if (is_first) { is_first = false; } else { out += " | "; }\n'
- out += f' out += "{str(v.name)[3:]}";\n'
- out += ' }\n'
- out += ' return out;\n'
- out += '}\n'
- out += AddGuardFooter(GetExtension(bitmask.name, generator))
- return out
-
-
-def PrintStructure(struct):
- if len(struct.members) == 0:
- return ''
- out = ''
- out += AddGuardHeader(struct)
- max_key_len = 0
- for v in struct.members:
- if v.arrayLength is not None:
- if len(v.name) + len(v.arrayLength) + 2 > max_key_len:
- max_key_len = len(v.name) + len(v.arrayLength) + 2
- elif v.typeID in PREDEFINED_TYPES or v.typeID in STRUCT_BLACKLIST:
- if len(v.name) > max_key_len:
- max_key_len = len(v.name)
-
- out += f'void Dump{struct.name}(Printer &p, std::string name, const {struct.name} &obj) {{\n'
- if struct.name == 'VkPhysicalDeviceLimits':
- out += ' if (p.Type() == OutputType::json)\n'
- out += ' p.ObjectStart("limits");\n'
- out += ' else\n'
- out += ' p.SetSubHeader().ObjectStart(name);\n'
- elif struct.name == 'VkPhysicalDeviceSparseProperties':
- out += ' if (p.Type() == OutputType::json)\n'
- out += ' p.ObjectStart("sparseProperties");\n'
- out += ' else\n'
- out += ' p.SetSubHeader().ObjectStart(name);\n'
- else:
- out += ' ObjectWrapper object{p, name};\n'
- if max_key_len > 0:
- out += f' p.SetMinKeyWidth({max_key_len});\n'
- for v in struct.members:
- # arrays
- if v.arrayLength is not None:
- # strings
- if v.typeID == 'char':
- out += f' p.PrintKeyString("{v.name}", obj.{v.name});\n'
- # uuid's
- elif v.typeID == 'uint8_t' and (v.arrayLength == '8' or v.arrayLength == '16'): # VK_UUID_SIZE
- if v.arrayLength == '8':
- out += ' if (obj.deviceLUIDValid) { // special case\n'
- out += f' p.PrintKeyValue("{v.name}", obj.{v.name});\n'
- if v.arrayLength == '8':
- out += ' }\n'
- elif struct.name == 'VkQueueFamilyGlobalPriorityProperties' and v.name == 'priorities':
- out += f' ArrayWrapper arr(p,"{v.name}", obj.priorityCount);\n'
- out += ' for (uint32_t i = 0; i < obj.priorityCount; i++) {\n'
- out += ' if (p.Type() == OutputType::json)\n'
- out += ' p.PrintString(std::string("VK_") + VkQueueGlobalPriorityString(obj.priorities[i]));\n'
- out += ' else\n'
- out += ' p.PrintString(VkQueueGlobalPriorityString(obj.priorities[i]));\n'
- out += ' }\n'
- elif v.arrayLength.isdigit():
- out += f' {{\n ArrayWrapper arr(p,"{v.name}", ' + v.arrayLength + ');\n'
- out += f' for (uint32_t i = 0; i < {v.arrayLength}; i++) {{ p.PrintElement(obj.{v.name}[i]); }}\n'
- out += ' }\n'
- else: # dynamic array length based on other member
- out += f' if (obj.{v.arrayLength} == 0 || obj.{v.name} == nullptr) {{\n'
- out += f' p.PrintKeyString("{v.name}", "NULL");\n'
- out += ' } else {\n'
- out += f' ArrayWrapper arr(p,"{v.name}", obj.{v.arrayLength});\n'
- out += f' for (uint32_t i = 0; i < obj.{v.arrayLength}; i++) {{\n'
- out += f' Dump{v.typeID}(p, std::to_string(i), obj.{v.name}[i]);\n'
- out += ' }\n'
- out += ' }\n'
- elif v.typeID == 'VkBool32':
- out += f' p.PrintKeyBool("{v.name}", static_cast<bool>(obj.{v.name}));\n'
- elif v.typeID == 'uint8_t':
- out += f' p.PrintKeyValue("{v.name}", static_cast<uint32_t>(obj.{v.name}));\n'
- elif v.typeID == 'VkDeviceSize' or (v.typeID == 'uint32_t' and v.name in ['vendorID', 'deviceID']):
- out += f' p.PrintKeyValue("{v.name}", to_hex_str(p, obj.{v.name}));\n'
- elif v.typeID in PREDEFINED_TYPES:
- out += f' p.PrintKeyValue("{v.name}", obj.{v.name});\n'
- elif v.name not in NAMES_TO_IGNORE:
- # if it is an enum/flag/bitmask
- if v.typeID in ['VkFormatFeatureFlags', 'VkFormatFeatureFlags2']:
- out += ' p.SetOpenDetails();\n' # special case so that feature flags are open in html output
- out += f' Dump{v.typeID}(p, "{v.name}", obj.{v.name});\n'
-
- if struct.name in ['VkPhysicalDeviceLimits', 'VkPhysicalDeviceSparseProperties']:
- out += ' p.ObjectEnd();\n'
- out += '}\n'
-
- out += AddGuardFooter(struct)
- return out
-
-
-def PrintStructShort(struct):
- out = ''
- out += AddGuardHeader(struct)
- out += f'std::ostream &operator<<(std::ostream &o, {struct.name} &obj) {{\n'
- out += ' return o << "(" << '
-
- first = True
- for v in struct.members:
- if first:
- first = False
- out += f'obj.{v.name} << '
+ def PrintStructure(self,struct):
+ if len(struct.members) == 0:
+ return []
+ out = []
+ out.append(self.AddGuardHeader(struct))
+ max_key_len = 0
+ for v in struct.members:
+ if (v.type in PREDEFINED_TYPES or v.type in STRUCT_BLACKLIST) and (v.length is None or v.type in ['char'] or v.fixedSizeArray[0] in ['VK_UUID_SIZE', 'VK_LUID_SIZE']):
+ max_key_len = max(max_key_len, len(v.name))
+
+ out.append(f'void Dump{struct.name}(Printer &p, std::string name, const {struct.name} &obj) {{\n')
+ if struct.name == 'VkPhysicalDeviceLimits':
+ out.append(' if (p.Type() == OutputType::json)\n')
+ out.append(' p.ObjectStart("limits");\n')
+ out.append(' else\n')
+ out.append(' p.SetSubHeader().ObjectStart(name);\n')
+ elif struct.name == 'VkPhysicalDeviceSparseProperties':
+ out.append(' if (p.Type() == OutputType::json)\n')
+ out.append(' p.ObjectStart("sparseProperties");\n')
+ out.append(' else\n')
+ out.append(' p.SetSubHeader().ObjectStart(name);\n')
else:
- out += f'\',\' << obj.{v.name} << '
- out += '")";\n'
- out += '}\n'
- out += AddGuardFooter(struct)
- return out
-
-def PrintChainStruct(listName, structures, all_structures, chain_details, extTypes, aliases, vulkan_versions):
- sorted_structures = sorted(
- all_structures, key=operator.attrgetter('name'))
-
- version_desc = ''
- if chain_details.get('type') in [EXTENSION_TYPE_DEVICE, EXTENSION_TYPE_BOTH]:
- version_desc = 'gpu.api_version'
- else:
- version_desc = 'inst.instance_version'
-
- out = ''
- structs_to_print = []
- for s in sorted_structures:
- if s.name in structures:
- structs_to_print.append(s)
- # use default constructor and delete copy & move operators
- out += f'''struct {listName}_chain {{
+ out.append(' ObjectWrapper object{p, name};\n')
+ if max_key_len > 0:
+ out.append(f' p.SetMinKeyWidth({max_key_len});\n')
+ for v in struct.members:
+ # arrays
+ if v.length is not None:
+ # strings
+ if v.type == 'char':
+ out.append(f' p.PrintKeyString("{v.name}", obj.{v.name});\n')
+ # uuid's
+ elif v.type == 'uint8_t' and (v.fixedSizeArray[0] == 'VK_LUID_SIZE' or v.fixedSizeArray[0] == 'VK_UUID_SIZE'): # VK_UUID_SIZE
+ if v.fixedSizeArray[0] == 'VK_LUID_SIZE':
+ out.append(' if (obj.deviceLUIDValid) { // special case\n')
+ out.append(f' p.PrintKeyValue("{v.name}", obj.{v.name});\n')
+ if v.fixedSizeArray[0] == 'VK_LUID_SIZE':
+ out.append(' }\n')
+ elif struct.name == 'VkQueueFamilyGlobalPriorityProperties' and v.name == 'priorities':
+ out.append(f' ArrayWrapper arr(p,"{v.name}", obj.priorityCount);\n')
+ out.append(' for (uint32_t i = 0; i < obj.priorityCount; i++) {\n')
+ out.append(' if (p.Type() == OutputType::json)\n')
+ out.append(' p.PrintString(std::string("VK_") + VkQueueGlobalPriorityString(obj.priorities[i]));\n')
+ out.append(' else\n')
+ out.append(' p.PrintString(VkQueueGlobalPriorityString(obj.priorities[i]));\n')
+ out.append(' }\n')
+ elif len(v.fixedSizeArray) == 2:
+ out.append(f' {{\n ArrayWrapper arr(p,"{v.name}", ' + v.fixedSizeArray[0] + ');\n')
+ out.append(f' for (uint32_t i = 0; i < {v.fixedSizeArray[0]}; i++) {{\n')
+ out.append(f' for (uint32_t j = 0; j < {v.fixedSizeArray[1]}; j++) {{\n')
+ out.append(f' p.PrintElement(obj.{v.name}[i][j]); }} }}\n')
+ out.append(' }\n')
+ elif len(v.fixedSizeArray) == 1:
+ out.append(f' {{\n ArrayWrapper arr(p,"{v.name}", ' + v.fixedSizeArray[0] + ');\n')
+ out.append(f' for (uint32_t i = 0; i < {v.fixedSizeArray[0]}; i++) {{ p.PrintElement(obj.{v.name}[i]); }}\n')
+ out.append(' }\n')
+ else: # dynamic array length based on other member
+ out.append(f' if (obj.{v.length} == 0 || obj.{v.name} == nullptr) {{\n')
+ out.append(f' p.PrintKeyString("{v.name}", "NULL");\n')
+ out.append(' } else {\n')
+ out.append(f' ArrayWrapper arr(p,"{v.name}", obj.{v.length});\n')
+ out.append(f' for (uint32_t i = 0; i < obj.{v.length}; i++) {{\n')
+ out.append(f' Dump{v.type}(p, std::to_string(i), obj.{v.name}[i]);\n')
+ out.append(' }\n')
+ out.append(' }\n')
+ elif v.type == 'VkBool32':
+ out.append(f' p.PrintKeyBool("{v.name}", static_cast<bool>(obj.{v.name}));\n')
+ elif v.type == 'uint8_t':
+ out.append(f' p.PrintKeyValue("{v.name}", static_cast<uint32_t>(obj.{v.name}));\n')
+ elif v.type == 'VkDeviceSize' or (v.type == 'uint32_t' and v.name in ['vendorID', 'deviceID']):
+ out.append(f' p.PrintKeyValue("{v.name}", to_hex_str(p, obj.{v.name}));\n')
+ elif v.type in PREDEFINED_TYPES:
+ out.append(f' p.PrintKeyValue("{v.name}", obj.{v.name});\n')
+ elif v.name not in NAMES_TO_IGNORE:
+ # if it is an enum/flag/bitmask
+ if v.type in ['VkFormatFeatureFlags', 'VkFormatFeatureFlags2']:
+ out.append(' p.SetOpenDetails();\n') # special case so that feature flags are open in html output
+ out.append(f' Dump{v.type}(p, "{v.name}", obj.{v.name});\n')
+
+ if struct.name in ['VkPhysicalDeviceLimits', 'VkPhysicalDeviceSparseProperties']:
+ out.append(' p.ObjectEnd();\n')
+ out.append('}\n')
+
+ out.append(self.AddGuardFooter(struct))
+ return out
+
+
+ def PrintStructShort(self,struct):
+ out = []
+ out.append(self.AddGuardHeader(struct))
+ out.append(f'std::ostream &operator<<(std::ostream &o, {struct.name} &obj) {{\n')
+ out.append(' return o << "(" << ')
+
+ first = True
+ for v in struct.members:
+ if first:
+ first = False
+ out.append(f'obj.{v.name} << ')
+ else:
+ out.append(f'\',\' << obj.{v.name} << ')
+ out.append('")";\n')
+ out.append('}\n')
+ out.append(self.AddGuardFooter(struct))
+ return out
+
+ def PrintChainStruct(self, listName, structs_to_print, chain_details):
+ version_desc = ''
+ if chain_details.get('type') in [EXTENSION_TYPE_DEVICE, EXTENSION_TYPE_BOTH]:
+ version_desc = 'gpu.api_version'
+ else:
+ version_desc = 'inst.instance_version'
+
+ out = []
+
+ # use default constructor and delete copy & move operators
+ out.append(f'''struct {listName}_chain {{
{listName}_chain() = default;
{listName}_chain(const {listName}_chain &) = delete;
{listName}_chain& operator=(const {listName}_chain &) = delete;
{listName}_chain({listName}_chain &&) = delete;
{listName}_chain& operator=({listName}_chain &&) = delete;
-'''
+''')
+
+ out.append(' void* start_of_chain = nullptr;\n')
+ for s in structs_to_print:
+ if s in STRUCT_BLACKLIST:
+ continue
+ struct = self.vk.structs[s]
+ out.append(self.AddGuardHeader(struct))
+ if struct.sType is not None:
+ out.append(f' {struct.name} {struct.name[2:]}{{}};\n')
+ # Specific versions of drivers have an incorrect definition of the size of these structs.
+ # We need to artificially pad the structure it just so the driver doesn't write out of bounds and
+ # into other structures that are adjacent. This bug comes from the in-development version of
+ # the extension having a larger size than the final version, so older drivers try to write to
+ # members which don't exist.
+ if struct.name in ['VkPhysicalDeviceShaderIntegerDotProductFeatures', 'VkPhysicalDeviceHostImageCopyFeaturesEXT']:
+ out.append(f' char {struct.name}_padding[64];\n')
+ for member in struct.members:
+ if member.length is not None and len(member.fixedSizeArray) == 0:
+ out.append(f' std::vector<{member.type}> {struct.name}_{member.name};\n')
+ out.append(self.AddGuardFooter(struct))
+ out.append(' void initialize_chain(')
+ if chain_details.get('type') in [EXTENSION_TYPE_INSTANCE, EXTENSION_TYPE_BOTH]:
+ out.append('AppInstance &inst, ')
+ if chain_details.get('type') in [EXTENSION_TYPE_DEVICE, EXTENSION_TYPE_BOTH]:
+ out.append('AppGpu &gpu ')
+ if chain_details.get('can_show_promoted_structs'):
+ out.append(', bool show_promoted_structs')
+ out.append(') noexcept {\n')
+ for s in structs_to_print:
+ if s in STRUCT_BLACKLIST:
+ continue
+ struct = self.vk.structs[s]
- out += ' void* start_of_chain = nullptr;\n'
- for s in structs_to_print:
- if s.name in STRUCT_BLACKLIST:
- continue
- out += AddGuardHeader(s)
- if s.sTypeName is not None:
- out += f' {s.name} {s.name[2:]}{{}};\n'
- # Specific versions of drivers have an incorrect definition of the size of these structs.
- # We need to artificially pad the structure it just so the driver doesn't write out of bounds and
- # into other structures that are adjacent. This bug comes from the in-development version of
- # the extension having a larger size than the final version, so older drivers try to write to
- # members which don't exist.
- if s.name in ['VkPhysicalDeviceShaderIntegerDotProductFeatures', 'VkPhysicalDeviceHostImageCopyFeaturesEXT']:
- out += f' char {s.name}_padding[64];\n'
- if s.hasLengthmember:
- for member in s.members:
- if member.lengthMember:
- out += f' std::vector<{member.typeID}> {s.name}_{member.name};\n'
- out += AddGuardFooter(s)
- out += ' void initialize_chain('
- if chain_details.get('type') in [EXTENSION_TYPE_INSTANCE, EXTENSION_TYPE_BOTH]:
- out += 'AppInstance &inst, '
- if chain_details.get('type') in [EXTENSION_TYPE_DEVICE, EXTENSION_TYPE_BOTH]:
- out += 'AppGpu &gpu '
- if chain_details.get('can_show_promoted_structs'):
- out += ', bool show_promoted_structs'
- out += ') noexcept {\n'
- for s in structs_to_print:
- if s.name in STRUCT_BLACKLIST:
- continue
- out += AddGuardHeader(s)
- out += f' {s.name[2:]}.sType = {s.sTypeName};\n'
- out += AddGuardFooter(s)
-
-
- out += ' std::vector<VkBaseOutStructure*> chain_members{};\n'
- for s in structs_to_print:
- if s.name in STRUCT_BLACKLIST:
- continue
- out += AddGuardHeader(s)
- extEnables = {}
- for k, elem in extTypes.items():
- if k == s.name or (s.name in aliases.keys() and k in aliases[s.name]):
- for e in elem:
- extEnables[e.extNameStr] = e.type
+ out.append(self.AddGuardHeader(struct))
+ out.append(f' {struct.name[2:]}.sType = {struct.sType};\n')
+ out.append(self.AddGuardFooter(struct))
- version = None
- oldVersionName = None
- for v in vulkan_versions:
- if s.name in v.names:
- version = v
- if s.name in aliases.keys():
- for alias in aliases[s.name]:
- oldVersionName = alias
- has_version = version is not None
- has_extNameStr = len(extEnables) > 0 or s.name in aliases.keys()
- if has_version or has_extNameStr:
- out += ' if ('
- has_printed_condition = False
- if has_extNameStr:
- for key, value in extEnables.items():
- if has_printed_condition:
- out += '\n || '
- else:
- has_printed_condition = True
- if has_version:
- out += '('
- if value == EXTENSION_TYPE_DEVICE:
- out += f'gpu.CheckPhysicalDeviceExtensionIncluded({key})'
- elif value == EXTENSION_TYPE_INSTANCE:
- out += f'inst.CheckExtensionEnabled({key})'
+ out.append(' std::vector<VkBaseOutStructure*> chain_members{};\n')
+ for s in structs_to_print:
+ if s in STRUCT_BLACKLIST:
+ continue
+ struct = self.vk.structs[s]
+ out.append(self.AddGuardHeader(struct))
+
+ has_version = struct.version is not None
+ has_extNameStr = len(struct.extensions) > 0 or len(struct.aliases) > 0
+ if has_version or has_extNameStr:
+ out.append(' if (')
+ has_printed_condition = False
+ if has_extNameStr:
+ for ext in struct.extensions:
+ if has_printed_condition:
+ out.append('\n || ')
+ else:
+ has_printed_condition = True
+ if has_version:
+ out.append('(')
+ if self.vk.extensions[ext].device:
+ out.append(f'gpu.CheckPhysicalDeviceExtensionIncluded({self.vk.extensions[ext].nameString})')
+ elif self.vk.extensions[ext].instance:
+ out.append(f'inst.CheckExtensionEnabled({self.vk.extensions[ext].nameString})')
+ else:
+ assert False, 'Should never get here'
+ if has_version:
+ str_show_promoted_structs = '|| show_promoted_structs' if chain_details.get('can_show_promoted_structs') else ''
+ if struct.name in STRUCT_1_1_LIST:
+ out.append(f'{version_desc} == {struct.version.nameApi} {str_show_promoted_structs}')
+ elif has_printed_condition:
+ out.append(f')\n && ({version_desc} < {struct.version.nameApi} {str_show_promoted_structs})')
else:
- assert False, 'Should never get here'
- if has_version:
- str_show_promoted_structs = '|| show_promoted_structs' if chain_details.get('can_show_promoted_structs') else ''
- if s.name in STRUCT_1_1_LIST:
- out += f'{version_desc} == {version.constant} {str_show_promoted_structs}'
- elif has_printed_condition:
- out += f')\n && ({version_desc} < {version.constant} {str_show_promoted_structs})'
- else:
- out += f'({version_desc} >= {version.constant})'
- out += ')\n '
- else:
- out += ' '
- out += f'chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&{s.name[2:]}));\n'
- out += AddGuardFooter(s)
- chain_param_list = []
- chain_arg_list = []
- if chain_details.get('type') in [EXTENSION_TYPE_INSTANCE, EXTENSION_TYPE_BOTH]:
- chain_param_list.append('AppInstance &inst')
- chain_arg_list.append('inst')
- if chain_details.get('type') in [EXTENSION_TYPE_DEVICE, EXTENSION_TYPE_BOTH]:
- chain_param_list.append('AppGpu &gpu')
- chain_arg_list.append('gpu')
- if chain_details.get('can_show_promoted_structs'):
- chain_param_list.append('bool show_promoted_structs')
- chain_arg_list.append('show_promoted_structs')
-
- out += f'''
+ out.append(f'({version_desc} >= {struct.version.nameApi})')
+ out.append(')\n ')
+ else:
+ out.append(' ')
+ out.append(f'chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&{struct.name[2:]}));\n')
+ out.append(self.AddGuardFooter(struct))
+ chain_param_list = []
+ chain_arg_list = []
+ if chain_details.get('type') in [EXTENSION_TYPE_INSTANCE, EXTENSION_TYPE_BOTH]:
+ chain_param_list.append('AppInstance &inst')
+ chain_arg_list.append('inst')
+ if chain_details.get('type') in [EXTENSION_TYPE_DEVICE, EXTENSION_TYPE_BOTH]:
+ chain_param_list.append('AppGpu &gpu')
+ chain_arg_list.append('gpu')
+ if chain_details.get('can_show_promoted_structs'):
+ chain_param_list.append('bool show_promoted_structs')
+ chain_arg_list.append('show_promoted_structs')
+
+ out.append(f'''
if (!chain_members.empty()) {{
for(size_t i = 0; i < chain_members.size() - 1; i++){{
chain_members[i]->pNext = chain_members[i + 1];
@@ -1328,402 +1001,104 @@ def PrintChainStruct(listName, structures, all_structures, chain_details, extTyp
}}
}}
}};
-void setup_{listName}_chain({chain_details['holder_type']}& start, std::unique_ptr<{listName}_chain>& chain, {','.join(chain_param_list)}){{
+void setup_{listName}_chain({chain_details['extends']}& start, std::unique_ptr<{listName}_chain>& chain, {','.join(chain_param_list)}){{
chain = std::unique_ptr<{listName}_chain>(new {listName}_chain());
chain->initialize_chain({','.join(chain_arg_list)});
start.pNext = chain->start_of_chain;
}};
-'''
- if chain_details.get('print_iterator'):
- out += '\n'
- out += f'void chain_iterator_{listName}(Printer &p, '
- if chain_details.get('type') in [EXTENSION_TYPE_INSTANCE, EXTENSION_TYPE_BOTH]:
- out += 'AppInstance &inst, '
- if chain_details.get('type') in [EXTENSION_TYPE_DEVICE, EXTENSION_TYPE_BOTH]:
- out += 'AppGpu &gpu, '
- if chain_details.get('can_show_promoted_structs'):
- out += 'bool show_promoted_structs, '
- out += 'const void * place) {\n'
- out += ' while (place) {\n'
- out += ' const VkBaseOutStructure *structure = (const VkBaseOutStructure *)place;\n'
- out += ' p.SetSubHeader();\n'
-
- for s in sorted_structures:
- if s.sTypeName is None or s.name in STRUCT_BLACKLIST:
- continue
-
- extEnables = {}
- for k, elem in extTypes.items():
- if k == s.name or (s.name in aliases.keys() and k in aliases[s.name]):
- for e in elem:
- extEnables[e.extNameStr] = e.type
-
- version = None
- oldVersionName = None
- for v in vulkan_versions:
- if s.name in v.names:
- version = v
- if s.name in aliases.keys():
- for alias in aliases[s.name]:
- oldVersionName = alias
-
- if s.name in structures:
- out += AddGuardHeader(s)
- out += f' if (structure->sType == {s.sTypeName}'
- if s.name in PORTABILITY_STRUCTS:
- out += ' && p.Type() != OutputType::json'
- has_version = version is not None
- has_extNameStr = len(extEnables) > 0 or s.name in aliases.keys()
- out += ') {\n'
- out += f' const {s.name}* props = (const {s.name}*)structure;\n'
- out += f' Dump{s.name}(p, '
- if s.name in aliases.keys() and version is not None:
- out += f'{version_desc} >= {version.constant} ?"{s.name}":"{oldVersionName}"'
+''')
+ if chain_details.get('print_iterator'):
+ out.append('\n')
+ out.append(f'void chain_iterator_{listName}(Printer &p, ')
+ if chain_details.get('type') in [EXTENSION_TYPE_INSTANCE, EXTENSION_TYPE_BOTH]:
+ out.append('AppInstance &inst, ')
+ if chain_details.get('type') in [EXTENSION_TYPE_DEVICE, EXTENSION_TYPE_BOTH]:
+ out.append('AppGpu &gpu, ')
+ if chain_details.get('can_show_promoted_structs'):
+ out.append('bool show_promoted_structs, ')
+ out.append('const void * place) {\n')
+ out.append(' while (place) {\n')
+ out.append(' const VkBaseOutStructure *structure = (const VkBaseOutStructure *)place;\n')
+ out.append(' p.SetSubHeader();\n')
+
+ for s in structs_to_print:
+ if s in STRUCT_BLACKLIST:
+ continue
+ struct = self.vk.structs[s]
+
+ out.append(self.AddGuardHeader(struct))
+ out.append(f' if (structure->sType == {struct.sType}')
+ if struct.name in PORTABILITY_STRUCTS:
+ out.append(' && p.Type() != OutputType::json')
+ has_version = struct.version is not None
+ has_extNameStr = len(struct.extensions) > 0 or len(struct.aliases) > 0
+ out.append(') {\n')
+ out.append(f' const {struct.name}* props = (const {struct.name}*)structure;\n')
+ out.append(f' Dump{struct.name}(p, ')
+ if len(struct.aliases) > 0 and struct.version is not None:
+ out.append(f'{version_desc} >= {struct.version.nameApi} ?"{struct.name}":"{struct.aliases[0]}"')
else:
- out += f'"{s.name}"'
- out += ', *props);\n'
- out += ' p.AddNewline();\n'
- out += ' }\n'
- out += AddGuardFooter(s)
- out += ' place = structure->pNext;\n'
- out += ' }\n'
- out += '}\n'
-
- out += '\n'
- out += f'bool prepare_{listName}_twocall_chain_vectors(std::unique_ptr<{listName}_chain>& chain) {{\n'
- out += ' (void)chain;\n'
- is_twocall = False
- for s in structs_to_print:
- if not s.hasLengthmember:
- continue
- if s.name in STRUCT_BLACKLIST:
- continue
- out += AddGuardHeader(s)
- for member in s.members:
- if member.lengthMember:
- out += f' chain->{s.name}_{member.name}.resize(chain->{s.name[2:]}.{member.arrayLength});\n'
- out += f' chain->{s.name[2:]}.{member.name} = chain->{s.name}_{member.name}.data();\n'
- out += AddGuardFooter(s)
- is_twocall = True
- out += f' return {"true" if is_twocall else "false"};\n'
- out += '}\n'
-
- return out
-
-
-def PrintStructComparisonForwardDecl(structure):
- out = ''
- out += f'bool operator==(const {structure.name} & a, const {structure.name} b);\n'
- return out
-
-
-def PrintStructComparison(structure):
- out = ''
- out += f'bool operator==(const {structure.name} & a, const {structure.name} b) {{\n'
- out += ' return '
- is_first = True
- for m in structure.members:
- if m.name not in NAMES_TO_IGNORE:
- if not is_first:
- out += '\n && '
- else:
- is_first = False
- out += f'a.{m.name} == b.{m.name}'
- out += ';\n'
- out += '}\n'
- return out
-
-
-class VulkanEnum:
- class Option:
-
- def __init__(self, name, value, bitpos, comment):
- self.name = name
- self.comment = comment
-
- if bitpos is not None:
- value = 1 << int(bitpos)
- elif isinstance(value, str):
- if value.lower().startswith('0x'):
- value = int(value, 16)
- else:
- value = int(value)
-
- self.value = value
-
- def values(self):
- return {
- 'optName': self.name,
- 'optValue': self.value,
- 'optComment': self.comment,
- }
-
- def __init__(self, rootNode):
- self.name = rootNode.get('name')
- self.type = rootNode.get('type')
- self.options = []
-
- for child in rootNode:
- childName = child.get('name')
- childValue = child.get('value')
- childBitpos = child.get('bitpos')
- childComment = child.get('comment')
- childExtends = child.get('extends')
- childOffset = child.get('offset')
- childExtNum = child.get('extnumber')
- support = child.get('supported')
- if support == 'disabled':
- continue
-
- if childName is None:
+ out.append(f'"{struct.name}"')
+ out.append(', *props);\n')
+ out.append(' p.AddNewline();\n')
+ out.append(' }\n')
+ out.append(self.AddGuardFooter(struct))
+ out.append(' place = structure->pNext;\n')
+ out.append(' }\n')
+ out.append('}\n')
+
+ out.append('\n')
+ out.append(f'bool prepare_{listName}_twocall_chain_vectors(std::unique_ptr<{listName}_chain>& chain) {{\n')
+ out.append(' (void)chain;\n')
+ is_twocall = False
+ for s in structs_to_print:
+ if s in STRUCT_BLACKLIST:
continue
- if childValue is None and childBitpos is None and childOffset is None:
+ struct = self.vk.structs[s]
+ has_length = False
+ for member in struct.members:
+ if member.length is not None and len(member.fixedSizeArray) == 0:
+ has_length = True
+ if not has_length:
continue
+ out.append(self.AddGuardHeader(struct))
+ for member in struct.members:
+ if member.length is not None and len(member.fixedSizeArray) == 0:
+ out.append(f' chain->{struct.name}_{member.name}.resize(chain->{struct.name[2:]}.{member.length});\n')
+ out.append(f' chain->{struct.name[2:]}.{member.name} = chain->{struct.name}_{member.name}.data();\n')
+ out.append(self.AddGuardFooter(struct))
+ is_twocall = True
+ out.append(f' return {"true" if is_twocall else "false"};\n')
+ out.append('}\n')
- if childExtends is not None and childExtNum is not None and childOffset is not None:
- childValue = CalcEnumValue(int(childExtNum), int(childOffset))
- if 'dir' in child.keys():
- childValue = -childValue
- duplicate = False
- for o in self.options:
- if o.values()['optName'] == childName:
- duplicate = True
- if duplicate:
- continue
-
- self.options.append(VulkanEnum.Option(
- childName, childValue, childBitpos, childComment))
-
-
-class VulkanBitmask:
-
- def __init__(self, rootNode):
- self.name = rootNode.get('name')
- self.type = rootNode.get('type')
+ return out
- # Read each value that the enum contains
- self.options = []
- for child in rootNode:
- childName = child.get('name')
- childValue = child.get('value')
- childBitpos = child.get('bitpos')
- childComment = child.get('comment')
- support = child.get('supported')
- if childName is None or (childValue is None and childBitpos is None):
- continue
- if support == 'disabled':
- continue
- duplicate = False
- for option in self.options:
- if option.name == childName:
- duplicate = True
- if duplicate:
- continue
+ def PrintStructComparisonForwardDecl(self,structure):
+ out = []
+ out.append(f'bool operator==(const {structure.name} & a, const {structure.name} b);\n')
+ return out
- self.options.append(VulkanEnum.Option(
- childName, childValue, childBitpos, childComment))
-
-
-class VulkanFlags:
-
- def __init__(self, rootNode):
- self.name = rootNode.get('name')
- self.type = rootNode.get('type')
- self.enum = rootNode.get('requires')
- # 64 bit flags use bitvalues, not requires
- if self.enum is None:
- self.enum = rootNode.get('bitvalues')
-
-
-class VulkanVariable:
- def __init__(self, rootNode, constants):
- self.name = rootNode.find('name').text
- # Typename, dereferenced and converted to a useable C++ token
- self.typeID = rootNode.find('type').text
- self.baseType = self.typeID
- self.childType = None
- self.arrayLength = None
- self.text = ''
- for node in rootNode.itertext():
- comment = rootNode.find('comment')
- if comment is not None and comment.text == node:
- continue
- self.text += node
-
- typeMatch = re.search('.+?(?=' + self.name + ')', self.text)
- self.type = typeMatch.string[typeMatch.start():typeMatch.end()]
- self.type = ' '.join(self.type.split())
- bracketMatch = re.search('(?<=\\[)[a-zA-Z0-9_]+(?=\\])', self.text)
- if bracketMatch is not None:
- matchText = bracketMatch.string[bracketMatch.start(
- ):bracketMatch.end()]
- self.childType = self.type
- self.type += '[' + matchText + ']'
- if matchText in constants:
- self.arrayLength = constants[matchText]
- else:
- self.arrayLength = matchText
-
- self.lengthMember = False
- lengthString = rootNode.get('len')
- lengths = []
- if lengthString is not None:
- lengths = re.split(',', lengthString)
- lengths = list(filter(('null-terminated').__ne__, lengths))
- if self.arrayLength is None and len(lengths) > 0:
- self.childType = '*'.join(self.type.split('*')[0:-1])
- self.arrayLength = lengths[0]
- self.lengthMember = True
- if self.arrayLength is not None and self.arrayLength.startswith('latexmath'):
- code = self.arrayLength[10:len(self.arrayLength)]
- code = re.sub('\\[', '', code)
- code = re.sub('\\]', '', code)
- code = re.sub('\\\\(lceil|rceil)', '', code)
- code = re.sub('{|}', '', code)
- code = re.sub('\\\\mathit', '', code)
- code = re.sub('\\\\over', '/', code)
- code = re.sub('\\\\textrm', '', code)
- self.arrayLength = code
-
- # Dereference if necessary and handle members of variables
- if self.arrayLength is not None:
- self.arrayLength = re.sub('::', '->', self.arrayLength)
- sections = self.arrayLength.split('->')
- if sections[-1][0] == 'p' and sections[0][1].isupper():
- self.arrayLength = '*' + self.arrayLength
-
-
-class VulkanStructure:
- def __init__(self, name, rootNode, constants, extTypes):
- self.name = name
- self.members = []
- self.guard = None
- self.sTypeName = None
- self.extendsStruct = rootNode.get('structextends')
- self.hasLengthmember = False
-
- for node in rootNode.findall('member'):
- if node.get('values') is not None:
- self.sTypeName = node.get('values')
- self.members.append(VulkanVariable(node, constants))
-
- for member in self.members:
- if member.lengthMember:
- self.hasLengthmember = True
- break
- for k, elem in extTypes.items():
- if k == self.name:
- for e in elem:
- if e.guard is not None:
- self.guard = e.guard
-
-
-class VulkanExtension:
- def __init__(self, rootNode):
- self.name = rootNode.get('name')
- self.number = int(rootNode.get('number'))
- self.type = rootNode.get('type')
- self.dependency = rootNode.get('requires')
- self.guard = GetFeatureProtect(rootNode)
- self.supported = rootNode.get('supported')
- self.extNameStr = None
- self.vktypes = []
- self.vkfuncs = []
- self.constants = OrderedDict()
- self.enumValues = OrderedDict()
- self.node = rootNode
-
- for req in rootNode.findall('require'):
- for ty in req.findall('type'):
- self.vktypes.append(ty.get('name'))
-
- for func in req.findall('command'):
- self.vkfuncs.append(func.get('name'))
-
- for enum in req.findall('enum'):
- base = enum.get('extends')
- name = enum.get('name')
- value = enum.get('value')
- bitpos = enum.get('bitpos')
- offset = enum.get('offset')
- # gets the VK_XXX_EXTENSION_NAME string
- if value == f'"{self.name}"':
- self.extNameStr = name
-
- if value is None and bitpos is not None:
- value = 1 << int(bitpos)
-
- if offset is not None:
- offset = int(offset)
- if base is not None and offset is not None:
- enumValue = 1000000000 + 1000*(self.number - 1) + offset
- if enum.get('dir') == '-':
- enumValue = -enumValue
- self.enumValues[base] = (name, enumValue)
+ def PrintStructComparison(self,structure):
+ out = []
+ out.append(f'bool operator==(const {structure.name} & a, const {structure.name} b) {{\n')
+ out.append(' return ')
+ is_first = True
+ for m in structure.members:
+ if m.name not in NAMES_TO_IGNORE:
+ if not is_first:
+ out.append('\n && ')
else:
- self.constants[name] = value
-
-
-class VulkanVersion:
- def __init__(self, rootNode):
- self.name = rootNode.get('name')
- self.constant = self.name.replace('_VERSION_', '_API_VERSION_')
- self.names = set()
-
- match = re.search(r"^[A-Z]+_VERSION_([1-9][0-9]*)_([0-9]+)$", self.name)
- self.major = int(match.group(1))
- self.minor = int(match.group(2))
-
- for req in rootNode.findall('require'):
- for ty in req.findall('type'):
- self.names.add(ty.get('name'))
- for func in req.findall('command'):
- self.names.add(func.get('name'))
- for enum in req.findall('enum'):
- self.names.add(enum.get('name'))
- self.names = sorted(self.names)
+ is_first = False
+ out.append(f'a.{m.name} == b.{m.name}')
+ out.append(';\n')
+ out.append('}\n')
+ return out
class VulkanFormatRange:
- def __init__(self, min_inst_version, ext_name, first, last):
+ def __init__(self, min_inst_version, extensions, first, last):
self.minimum_instance_version = min_inst_version
- self.extension_name = ext_name
+ self.extensions = extensions
self.first_format = first
self.last_format = last
-
-class VulkanVideoRequiredCapabilities():
- def __init__(self, struct, member, value):
- self.struct = struct
- self.member = member
- self.value = value
-
-class VulkanVideoFormat():
- def __init__(self, name, usage):
- self.name = name
- self.usage = usage
- self.properties = OrderedDict()
- self.requiredCaps = list()
- super().__init__()
-
-class VulkanVideoProfileStructMember():
- def __init__(self, name):
- self.name = name
- self.values = OrderedDict()
-
-class VulkanVideoProfileStruct():
- def __init__(self, struct):
- self.struct = struct
- self.members = OrderedDict()
-
-class VulkanVideoCodec():
- def __init__(self, name, extend = None, value = None):
- self.name = name
- self.value = value
- self.profileStructs = OrderedDict()
- self.capabilities = OrderedDict()
- self.formats = OrderedDict()
- if extend is not None:
- self.profileStructs = copy.deepcopy(extend.profileStructs)
- self.capabilities = copy.deepcopy(extend.capabilities)
- self.formats = copy.deepcopy(extend.formats)
diff --git a/vulkaninfo/generated/vulkaninfo.hpp b/vulkaninfo/generated/vulkaninfo.hpp
index ce66ef13..721d658f 100644
--- a/vulkaninfo/generated/vulkaninfo.hpp
+++ b/vulkaninfo/generated/vulkaninfo.hpp
@@ -356,97 +356,6 @@ std::string StdVideoH265AspectRatioIdcString(StdVideoH265AspectRatioIdc value) {
void DumpStdVideoH265AspectRatioIdc(Printer &p, std::string name, StdVideoH265AspectRatioIdc value) {
p.PrintKeyString(name, StdVideoH265AspectRatioIdcString(value));
}
-std::string StdVideoVP9ProfileString(StdVideoVP9Profile value) {
- switch (value) {
- case STD_VIDEO_VP9_PROFILE_0: return "STD_VIDEO_VP9_PROFILE_0";
- case STD_VIDEO_VP9_PROFILE_1: return "STD_VIDEO_VP9_PROFILE_1";
- case STD_VIDEO_VP9_PROFILE_2: return "STD_VIDEO_VP9_PROFILE_2";
- case STD_VIDEO_VP9_PROFILE_3: return "STD_VIDEO_VP9_PROFILE_3";
- case STD_VIDEO_VP9_PROFILE_INVALID: return "STD_VIDEO_VP9_PROFILE_INVALID";
- default: return std::string("UNKNOWN_StdVideoVP9Profile_value") + std::to_string(value);
- }
-}
-void DumpStdVideoVP9Profile(Printer &p, std::string name, StdVideoVP9Profile value) {
- p.PrintKeyString(name, StdVideoVP9ProfileString(value));
-}
-std::string StdVideoVP9LevelString(StdVideoVP9Level value) {
- switch (value) {
- case STD_VIDEO_VP9_LEVEL_1_0: return "STD_VIDEO_VP9_LEVEL_1_0";
- case STD_VIDEO_VP9_LEVEL_1_1: return "STD_VIDEO_VP9_LEVEL_1_1";
- case STD_VIDEO_VP9_LEVEL_2_0: return "STD_VIDEO_VP9_LEVEL_2_0";
- case STD_VIDEO_VP9_LEVEL_2_1: return "STD_VIDEO_VP9_LEVEL_2_1";
- case STD_VIDEO_VP9_LEVEL_3_0: return "STD_VIDEO_VP9_LEVEL_3_0";
- case STD_VIDEO_VP9_LEVEL_3_1: return "STD_VIDEO_VP9_LEVEL_3_1";
- case STD_VIDEO_VP9_LEVEL_4_0: return "STD_VIDEO_VP9_LEVEL_4_0";
- case STD_VIDEO_VP9_LEVEL_4_1: return "STD_VIDEO_VP9_LEVEL_4_1";
- case STD_VIDEO_VP9_LEVEL_5_0: return "STD_VIDEO_VP9_LEVEL_5_0";
- case STD_VIDEO_VP9_LEVEL_5_1: return "STD_VIDEO_VP9_LEVEL_5_1";
- case STD_VIDEO_VP9_LEVEL_5_2: return "STD_VIDEO_VP9_LEVEL_5_2";
- case STD_VIDEO_VP9_LEVEL_6_0: return "STD_VIDEO_VP9_LEVEL_6_0";
- case STD_VIDEO_VP9_LEVEL_6_1: return "STD_VIDEO_VP9_LEVEL_6_1";
- case STD_VIDEO_VP9_LEVEL_6_2: return "STD_VIDEO_VP9_LEVEL_6_2";
- case STD_VIDEO_VP9_LEVEL_INVALID: return "STD_VIDEO_VP9_LEVEL_INVALID";
- default: return std::string("UNKNOWN_StdVideoVP9Level_value") + std::to_string(value);
- }
-}
-void DumpStdVideoVP9Level(Printer &p, std::string name, StdVideoVP9Level value) {
- p.PrintKeyString(name, StdVideoVP9LevelString(value));
-}
-std::string StdVideoVP9FrameTypeString(StdVideoVP9FrameType value) {
- switch (value) {
- case STD_VIDEO_VP9_FRAME_TYPE_KEY: return "STD_VIDEO_VP9_FRAME_TYPE_KEY";
- case STD_VIDEO_VP9_FRAME_TYPE_NON_KEY: return "STD_VIDEO_VP9_FRAME_TYPE_NON_KEY";
- case STD_VIDEO_VP9_FRAME_TYPE_INVALID: return "STD_VIDEO_VP9_FRAME_TYPE_INVALID";
- default: return std::string("UNKNOWN_StdVideoVP9FrameType_value") + std::to_string(value);
- }
-}
-void DumpStdVideoVP9FrameType(Printer &p, std::string name, StdVideoVP9FrameType value) {
- p.PrintKeyString(name, StdVideoVP9FrameTypeString(value));
-}
-std::string StdVideoVP9ReferenceNameString(StdVideoVP9ReferenceName value) {
- switch (value) {
- case STD_VIDEO_VP9_REFERENCE_NAME_INTRA_FRAME: return "STD_VIDEO_VP9_REFERENCE_NAME_INTRA_FRAME";
- case STD_VIDEO_VP9_REFERENCE_NAME_LAST_FRAME: return "STD_VIDEO_VP9_REFERENCE_NAME_LAST_FRAME";
- case STD_VIDEO_VP9_REFERENCE_NAME_GOLDEN_FRAME: return "STD_VIDEO_VP9_REFERENCE_NAME_GOLDEN_FRAME";
- case STD_VIDEO_VP9_REFERENCE_NAME_ALTREF_FRAME: return "STD_VIDEO_VP9_REFERENCE_NAME_ALTREF_FRAME";
- case STD_VIDEO_VP9_REFERENCE_NAME_INVALID: return "STD_VIDEO_VP9_REFERENCE_NAME_INVALID";
- default: return std::string("UNKNOWN_StdVideoVP9ReferenceName_value") + std::to_string(value);
- }
-}
-void DumpStdVideoVP9ReferenceName(Printer &p, std::string name, StdVideoVP9ReferenceName value) {
- p.PrintKeyString(name, StdVideoVP9ReferenceNameString(value));
-}
-std::string StdVideoVP9InterpolationFilterString(StdVideoVP9InterpolationFilter value) {
- switch (value) {
- case STD_VIDEO_VP9_INTERPOLATION_FILTER_EIGHTTAP: return "STD_VIDEO_VP9_INTERPOLATION_FILTER_EIGHTTAP";
- case STD_VIDEO_VP9_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH: return "STD_VIDEO_VP9_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH";
- case STD_VIDEO_VP9_INTERPOLATION_FILTER_EIGHTTAP_SHARP: return "STD_VIDEO_VP9_INTERPOLATION_FILTER_EIGHTTAP_SHARP";
- case STD_VIDEO_VP9_INTERPOLATION_FILTER_BILINEAR: return "STD_VIDEO_VP9_INTERPOLATION_FILTER_BILINEAR";
- case STD_VIDEO_VP9_INTERPOLATION_FILTER_SWITCHABLE: return "STD_VIDEO_VP9_INTERPOLATION_FILTER_SWITCHABLE";
- case STD_VIDEO_VP9_INTERPOLATION_FILTER_INVALID: return "STD_VIDEO_VP9_INTERPOLATION_FILTER_INVALID";
- default: return std::string("UNKNOWN_StdVideoVP9InterpolationFilter_value") + std::to_string(value);
- }
-}
-void DumpStdVideoVP9InterpolationFilter(Printer &p, std::string name, StdVideoVP9InterpolationFilter value) {
- p.PrintKeyString(name, StdVideoVP9InterpolationFilterString(value));
-}
-std::string StdVideoVP9ColorSpaceString(StdVideoVP9ColorSpace value) {
- switch (value) {
- case STD_VIDEO_VP9_COLOR_SPACE_UNKNOWN: return "STD_VIDEO_VP9_COLOR_SPACE_UNKNOWN";
- case STD_VIDEO_VP9_COLOR_SPACE_BT_601: return "STD_VIDEO_VP9_COLOR_SPACE_BT_601";
- case STD_VIDEO_VP9_COLOR_SPACE_BT_709: return "STD_VIDEO_VP9_COLOR_SPACE_BT_709";
- case STD_VIDEO_VP9_COLOR_SPACE_SMPTE_170: return "STD_VIDEO_VP9_COLOR_SPACE_SMPTE_170";
- case STD_VIDEO_VP9_COLOR_SPACE_SMPTE_240: return "STD_VIDEO_VP9_COLOR_SPACE_SMPTE_240";
- case STD_VIDEO_VP9_COLOR_SPACE_BT_2020: return "STD_VIDEO_VP9_COLOR_SPACE_BT_2020";
- case STD_VIDEO_VP9_COLOR_SPACE_RESERVED: return "STD_VIDEO_VP9_COLOR_SPACE_RESERVED";
- case STD_VIDEO_VP9_COLOR_SPACE_RGB: return "STD_VIDEO_VP9_COLOR_SPACE_RGB";
- case STD_VIDEO_VP9_COLOR_SPACE_INVALID: return "STD_VIDEO_VP9_COLOR_SPACE_INVALID";
- default: return std::string("UNKNOWN_StdVideoVP9ColorSpace_value") + std::to_string(value);
- }
-}
-void DumpStdVideoVP9ColorSpace(Printer &p, std::string name, StdVideoVP9ColorSpace value) {
- p.PrintKeyString(name, StdVideoVP9ColorSpaceString(value));
-}
std::string StdVideoAV1ProfileString(StdVideoAV1Profile value) {
switch (value) {
case STD_VIDEO_AV1_PROFILE_MAIN: return "STD_VIDEO_AV1_PROFILE_MAIN";
@@ -647,6 +556,97 @@ std::string StdVideoAV1ChromaSamplePositionString(StdVideoAV1ChromaSamplePositio
void DumpStdVideoAV1ChromaSamplePosition(Printer &p, std::string name, StdVideoAV1ChromaSamplePosition value) {
p.PrintKeyString(name, StdVideoAV1ChromaSamplePositionString(value));
}
+std::string StdVideoVP9ProfileString(StdVideoVP9Profile value) {
+ switch (value) {
+ case STD_VIDEO_VP9_PROFILE_0: return "STD_VIDEO_VP9_PROFILE_0";
+ case STD_VIDEO_VP9_PROFILE_1: return "STD_VIDEO_VP9_PROFILE_1";
+ case STD_VIDEO_VP9_PROFILE_2: return "STD_VIDEO_VP9_PROFILE_2";
+ case STD_VIDEO_VP9_PROFILE_3: return "STD_VIDEO_VP9_PROFILE_3";
+ case STD_VIDEO_VP9_PROFILE_INVALID: return "STD_VIDEO_VP9_PROFILE_INVALID";
+ default: return std::string("UNKNOWN_StdVideoVP9Profile_value") + std::to_string(value);
+ }
+}
+void DumpStdVideoVP9Profile(Printer &p, std::string name, StdVideoVP9Profile value) {
+ p.PrintKeyString(name, StdVideoVP9ProfileString(value));
+}
+std::string StdVideoVP9LevelString(StdVideoVP9Level value) {
+ switch (value) {
+ case STD_VIDEO_VP9_LEVEL_1_0: return "STD_VIDEO_VP9_LEVEL_1_0";
+ case STD_VIDEO_VP9_LEVEL_1_1: return "STD_VIDEO_VP9_LEVEL_1_1";
+ case STD_VIDEO_VP9_LEVEL_2_0: return "STD_VIDEO_VP9_LEVEL_2_0";
+ case STD_VIDEO_VP9_LEVEL_2_1: return "STD_VIDEO_VP9_LEVEL_2_1";
+ case STD_VIDEO_VP9_LEVEL_3_0: return "STD_VIDEO_VP9_LEVEL_3_0";
+ case STD_VIDEO_VP9_LEVEL_3_1: return "STD_VIDEO_VP9_LEVEL_3_1";
+ case STD_VIDEO_VP9_LEVEL_4_0: return "STD_VIDEO_VP9_LEVEL_4_0";
+ case STD_VIDEO_VP9_LEVEL_4_1: return "STD_VIDEO_VP9_LEVEL_4_1";
+ case STD_VIDEO_VP9_LEVEL_5_0: return "STD_VIDEO_VP9_LEVEL_5_0";
+ case STD_VIDEO_VP9_LEVEL_5_1: return "STD_VIDEO_VP9_LEVEL_5_1";
+ case STD_VIDEO_VP9_LEVEL_5_2: return "STD_VIDEO_VP9_LEVEL_5_2";
+ case STD_VIDEO_VP9_LEVEL_6_0: return "STD_VIDEO_VP9_LEVEL_6_0";
+ case STD_VIDEO_VP9_LEVEL_6_1: return "STD_VIDEO_VP9_LEVEL_6_1";
+ case STD_VIDEO_VP9_LEVEL_6_2: return "STD_VIDEO_VP9_LEVEL_6_2";
+ case STD_VIDEO_VP9_LEVEL_INVALID: return "STD_VIDEO_VP9_LEVEL_INVALID";
+ default: return std::string("UNKNOWN_StdVideoVP9Level_value") + std::to_string(value);
+ }
+}
+void DumpStdVideoVP9Level(Printer &p, std::string name, StdVideoVP9Level value) {
+ p.PrintKeyString(name, StdVideoVP9LevelString(value));
+}
+std::string StdVideoVP9FrameTypeString(StdVideoVP9FrameType value) {
+ switch (value) {
+ case STD_VIDEO_VP9_FRAME_TYPE_KEY: return "STD_VIDEO_VP9_FRAME_TYPE_KEY";
+ case STD_VIDEO_VP9_FRAME_TYPE_NON_KEY: return "STD_VIDEO_VP9_FRAME_TYPE_NON_KEY";
+ case STD_VIDEO_VP9_FRAME_TYPE_INVALID: return "STD_VIDEO_VP9_FRAME_TYPE_INVALID";
+ default: return std::string("UNKNOWN_StdVideoVP9FrameType_value") + std::to_string(value);
+ }
+}
+void DumpStdVideoVP9FrameType(Printer &p, std::string name, StdVideoVP9FrameType value) {
+ p.PrintKeyString(name, StdVideoVP9FrameTypeString(value));
+}
+std::string StdVideoVP9ReferenceNameString(StdVideoVP9ReferenceName value) {
+ switch (value) {
+ case STD_VIDEO_VP9_REFERENCE_NAME_INTRA_FRAME: return "STD_VIDEO_VP9_REFERENCE_NAME_INTRA_FRAME";
+ case STD_VIDEO_VP9_REFERENCE_NAME_LAST_FRAME: return "STD_VIDEO_VP9_REFERENCE_NAME_LAST_FRAME";
+ case STD_VIDEO_VP9_REFERENCE_NAME_GOLDEN_FRAME: return "STD_VIDEO_VP9_REFERENCE_NAME_GOLDEN_FRAME";
+ case STD_VIDEO_VP9_REFERENCE_NAME_ALTREF_FRAME: return "STD_VIDEO_VP9_REFERENCE_NAME_ALTREF_FRAME";
+ case STD_VIDEO_VP9_REFERENCE_NAME_INVALID: return "STD_VIDEO_VP9_REFERENCE_NAME_INVALID";
+ default: return std::string("UNKNOWN_StdVideoVP9ReferenceName_value") + std::to_string(value);
+ }
+}
+void DumpStdVideoVP9ReferenceName(Printer &p, std::string name, StdVideoVP9ReferenceName value) {
+ p.PrintKeyString(name, StdVideoVP9ReferenceNameString(value));
+}
+std::string StdVideoVP9InterpolationFilterString(StdVideoVP9InterpolationFilter value) {
+ switch (value) {
+ case STD_VIDEO_VP9_INTERPOLATION_FILTER_EIGHTTAP: return "STD_VIDEO_VP9_INTERPOLATION_FILTER_EIGHTTAP";
+ case STD_VIDEO_VP9_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH: return "STD_VIDEO_VP9_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH";
+ case STD_VIDEO_VP9_INTERPOLATION_FILTER_EIGHTTAP_SHARP: return "STD_VIDEO_VP9_INTERPOLATION_FILTER_EIGHTTAP_SHARP";
+ case STD_VIDEO_VP9_INTERPOLATION_FILTER_BILINEAR: return "STD_VIDEO_VP9_INTERPOLATION_FILTER_BILINEAR";
+ case STD_VIDEO_VP9_INTERPOLATION_FILTER_SWITCHABLE: return "STD_VIDEO_VP9_INTERPOLATION_FILTER_SWITCHABLE";
+ case STD_VIDEO_VP9_INTERPOLATION_FILTER_INVALID: return "STD_VIDEO_VP9_INTERPOLATION_FILTER_INVALID";
+ default: return std::string("UNKNOWN_StdVideoVP9InterpolationFilter_value") + std::to_string(value);
+ }
+}
+void DumpStdVideoVP9InterpolationFilter(Printer &p, std::string name, StdVideoVP9InterpolationFilter value) {
+ p.PrintKeyString(name, StdVideoVP9InterpolationFilterString(value));
+}
+std::string StdVideoVP9ColorSpaceString(StdVideoVP9ColorSpace value) {
+ switch (value) {
+ case STD_VIDEO_VP9_COLOR_SPACE_UNKNOWN: return "STD_VIDEO_VP9_COLOR_SPACE_UNKNOWN";
+ case STD_VIDEO_VP9_COLOR_SPACE_BT_601: return "STD_VIDEO_VP9_COLOR_SPACE_BT_601";
+ case STD_VIDEO_VP9_COLOR_SPACE_BT_709: return "STD_VIDEO_VP9_COLOR_SPACE_BT_709";
+ case STD_VIDEO_VP9_COLOR_SPACE_SMPTE_170: return "STD_VIDEO_VP9_COLOR_SPACE_SMPTE_170";
+ case STD_VIDEO_VP9_COLOR_SPACE_SMPTE_240: return "STD_VIDEO_VP9_COLOR_SPACE_SMPTE_240";
+ case STD_VIDEO_VP9_COLOR_SPACE_BT_2020: return "STD_VIDEO_VP9_COLOR_SPACE_BT_2020";
+ case STD_VIDEO_VP9_COLOR_SPACE_RESERVED: return "STD_VIDEO_VP9_COLOR_SPACE_RESERVED";
+ case STD_VIDEO_VP9_COLOR_SPACE_RGB: return "STD_VIDEO_VP9_COLOR_SPACE_RGB";
+ case STD_VIDEO_VP9_COLOR_SPACE_INVALID: return "STD_VIDEO_VP9_COLOR_SPACE_INVALID";
+ default: return std::string("UNKNOWN_StdVideoVP9ColorSpace_value") + std::to_string(value);
+ }
+}
+void DumpStdVideoVP9ColorSpace(Printer &p, std::string name, StdVideoVP9ColorSpace value) {
+ p.PrintKeyString(name, StdVideoVP9ColorSpaceString(value));
+}
std::string VkColorSpaceKHRString(VkColorSpaceKHR value) {
switch (value) {
case (VK_COLOR_SPACE_SRGB_NONLINEAR_KHR): return "COLOR_SPACE_SRGB_NONLINEAR_KHR";
@@ -3073,7 +3073,7 @@ void DumpVkDrmFormatModifierProperties2EXT(Printer &p, std::string name, const V
}
void DumpVkExtensionProperties(Printer &p, std::string name, const VkExtensionProperties &obj) {
ObjectWrapper object{p, name};
- p.SetMinKeyWidth(18);
+ p.SetMinKeyWidth(13);
p.PrintKeyString("extensionName", obj.extensionName);
p.PrintKeyValue("specVersion", obj.specVersion);
}
@@ -3456,7 +3456,7 @@ void DumpVkPhysicalDeviceDiscardRectanglePropertiesEXT(Printer &p, std::string n
}
void DumpVkPhysicalDeviceDriverProperties(Printer &p, std::string name, const VkPhysicalDeviceDriverProperties &obj) {
ObjectWrapper object{p, name};
- p.SetMinKeyWidth(15);
+ p.SetMinKeyWidth(10);
DumpVkDriverId(p, "driverID", obj.driverID);
p.PrintKeyString("driverName", obj.driverName);
p.PrintKeyString("driverInfo", obj.driverInfo);
@@ -3739,7 +3739,7 @@ void DumpVkPhysicalDeviceHostImageCopyFeatures(Printer &p, std::string name, con
}
void DumpVkPhysicalDeviceHostImageCopyProperties(Printer &p, std::string name, const VkPhysicalDeviceHostImageCopyProperties &obj) {
ObjectWrapper object{p, name};
- p.SetMinKeyWidth(35);
+ p.SetMinKeyWidth(31);
p.PrintKeyValue("copySrcLayoutCount", obj.copySrcLayoutCount);
if (obj.copySrcLayoutCount == 0 || obj.pCopySrcLayouts == nullptr) {
p.PrintKeyString("pCopySrcLayouts", "NULL");
@@ -3835,7 +3835,7 @@ void DumpVkPhysicalDeviceInlineUniformBlockProperties(Printer &p, std::string na
}
void DumpVkPhysicalDeviceLayeredApiPropertiesKHR(Printer &p, std::string name, const VkPhysicalDeviceLayeredApiPropertiesKHR &obj) {
ObjectWrapper object{p, name};
- p.SetMinKeyWidth(15);
+ p.SetMinKeyWidth(10);
p.PrintKeyValue("vendorID", to_hex_str(p, obj.vendorID));
p.PrintKeyValue("deviceID", to_hex_str(p, obj.deviceID));
DumpVkPhysicalDeviceLayeredApiKHR(p, "layeredAPI", obj.layeredAPI);
@@ -3843,7 +3843,7 @@ void DumpVkPhysicalDeviceLayeredApiPropertiesKHR(Printer &p, std::string name, c
}
void DumpVkPhysicalDeviceLayeredApiPropertiesListKHR(Printer &p, std::string name, const VkPhysicalDeviceLayeredApiPropertiesListKHR &obj) {
ObjectWrapper object{p, name};
- p.SetMinKeyWidth(29);
+ p.SetMinKeyWidth(15);
p.PrintKeyValue("layeredApiCount", obj.layeredApiCount);
if (obj.layeredApiCount == 0 || obj.pLayeredApis == nullptr) {
p.PrintKeyString("pLayeredApis", "NULL");
@@ -4106,14 +4106,13 @@ void DumpVkPhysicalDeviceMapMemoryPlacedPropertiesEXT(Printer &p, std::string na
}
void DumpVkPhysicalDeviceMemoryBudgetPropertiesEXT(Printer &p, std::string name, const VkPhysicalDeviceMemoryBudgetPropertiesEXT &obj) {
ObjectWrapper object{p, name};
- p.SetMinKeyWidth(14);
{
- ArrayWrapper arr(p,"heapBudget", 16);
- for (uint32_t i = 0; i < 16; i++) { p.PrintElement(obj.heapBudget[i]); }
+ ArrayWrapper arr(p,"heapBudget", VK_MAX_MEMORY_HEAPS);
+ for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; i++) { p.PrintElement(obj.heapBudget[i]); }
}
{
- ArrayWrapper arr(p,"heapUsage", 16);
- for (uint32_t i = 0; i < 16; i++) { p.PrintElement(obj.heapUsage[i]); }
+ ArrayWrapper arr(p,"heapUsage", VK_MAX_MEMORY_HEAPS);
+ for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; i++) { p.PrintElement(obj.heapUsage[i]); }
}
}
void DumpVkPhysicalDeviceMemoryPriorityFeaturesEXT(Printer &p, std::string name, const VkPhysicalDeviceMemoryPriorityFeaturesEXT &obj) {
@@ -4478,7 +4477,7 @@ void DumpVkPhysicalDeviceRobustness2PropertiesKHR(Printer &p, std::string name,
}
void DumpVkPhysicalDeviceSampleLocationsPropertiesEXT(Printer &p, std::string name, const VkPhysicalDeviceSampleLocationsPropertiesEXT &obj) {
ObjectWrapper object{p, name};
- p.SetMinKeyWidth(32);
+ p.SetMinKeyWidth(26);
DumpVkSampleCountFlags(p, "sampleLocationSampleCounts", obj.sampleLocationSampleCounts);
DumpVkExtent2D(p, "maxSampleLocationGridSize", obj.maxSampleLocationGridSize);
{
@@ -4649,7 +4648,7 @@ void DumpVkPhysicalDeviceShaderModuleIdentifierFeaturesEXT(Printer &p, std::stri
}
void DumpVkPhysicalDeviceShaderModuleIdentifierPropertiesEXT(Printer &p, std::string name, const VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT &obj) {
ObjectWrapper object{p, name};
- p.SetMinKeyWidth(39);
+ p.SetMinKeyWidth(35);
p.PrintKeyValue("shaderModuleIdentifierAlgorithmUUID", obj.shaderModuleIdentifierAlgorithmUUID);
}
void DumpVkPhysicalDeviceShaderObjectFeaturesEXT(Printer &p, std::string name, const VkPhysicalDeviceShaderObjectFeaturesEXT &obj) {
@@ -4659,7 +4658,7 @@ void DumpVkPhysicalDeviceShaderObjectFeaturesEXT(Printer &p, std::string name, c
}
void DumpVkPhysicalDeviceShaderObjectPropertiesEXT(Printer &p, std::string name, const VkPhysicalDeviceShaderObjectPropertiesEXT &obj) {
ObjectWrapper object{p, name};
- p.SetMinKeyWidth(20);
+ p.SetMinKeyWidth(19);
p.PrintKeyValue("shaderBinaryUUID", obj.shaderBinaryUUID);
p.PrintKeyValue("shaderBinaryVersion", obj.shaderBinaryVersion);
}
@@ -4798,7 +4797,7 @@ void DumpVkPhysicalDeviceTimelineSemaphoreProperties(Printer &p, std::string nam
}
void DumpVkPhysicalDeviceToolProperties(Printer &p, std::string name, const VkPhysicalDeviceToolProperties &obj) {
ObjectWrapper object{p, name};
- p.SetMinKeyWidth(16);
+ p.SetMinKeyWidth(11);
p.PrintKeyString("name", obj.name);
p.PrintKeyString("version", obj.version);
DumpVkToolPurposeFlags(p, "purposes", obj.purposes);
@@ -5216,7 +5215,7 @@ void DumpVkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(Printer &p, std::
}
void DumpVkQueueFamilyGlobalPriorityProperties(Printer &p, std::string name, const VkQueueFamilyGlobalPriorityProperties &obj) {
ObjectWrapper object{p, name};
- p.SetMinKeyWidth(14);
+ p.SetMinKeyWidth(13);
p.PrintKeyValue("priorityCount", obj.priorityCount);
ArrayWrapper arr(p,"priorities", obj.priorityCount);
for (uint32_t i = 0; i < obj.priorityCount; i++) {
@@ -5287,7 +5286,7 @@ void DumpVkSurfaceFormatKHR(Printer &p, std::string name, const VkSurfaceFormatK
}
void DumpVkSurfacePresentModeCompatibilityKHR(Printer &p, std::string name, const VkSurfacePresentModeCompatibilityKHR &obj) {
ObjectWrapper object{p, name};
- p.SetMinKeyWidth(31);
+ p.SetMinKeyWidth(16);
p.PrintKeyValue("presentModeCount", obj.presentModeCount);
if (obj.presentModeCount == 0 || obj.pPresentModes == nullptr) {
p.PrintKeyString("pPresentModes", "NULL");
@@ -5701,8 +5700,8 @@ struct phys_device_props2_chain {
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceConservativeRasterizationPropertiesEXT));
if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceCooperativeMatrixPropertiesKHR));
- if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME)
- || gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_COPY_MEMORY_INDIRECT_EXTENSION_NAME))
+ if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_COPY_MEMORY_INDIRECT_EXTENSION_NAME)
+ || gpu.CheckPhysicalDeviceExtensionIncluded(VK_NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceCopyMemoryIndirectPropertiesKHR));
if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceCustomBorderColorPropertiesEXT));
@@ -5760,8 +5759,8 @@ struct phys_device_props2_chain {
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceLayeredApiPropertiesListKHR));
if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_LEGACY_VERTEX_ATTRIBUTES_EXTENSION_NAME))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceLegacyVertexAttributesPropertiesEXT));
- if ((gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME)
- || gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_LINE_RASTERIZATION_EXTENSION_NAME))
+ if ((gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_LINE_RASTERIZATION_EXTENSION_NAME)
+ || gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME))
&& (gpu.api_version < VK_API_VERSION_1_4 || show_promoted_structs))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceLineRasterizationProperties));
if ((gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_MAINTENANCE_3_EXTENSION_NAME))
@@ -5818,8 +5817,8 @@ struct phys_device_props2_chain {
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDevicePushDescriptorProperties));
if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceRayTracingPipelinePropertiesKHR));
- if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_ROBUSTNESS_2_EXTENSION_NAME)
- || gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_ROBUSTNESS_2_EXTENSION_NAME))
+ if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_ROBUSTNESS_2_EXTENSION_NAME)
+ || gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_ROBUSTNESS_2_EXTENSION_NAME))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceRobustness2PropertiesKHR));
if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceSampleLocationsPropertiesEXT));
@@ -6641,8 +6640,8 @@ struct phys_device_features2_chain {
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceBufferDeviceAddressFeaturesEXT));
if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceColorWriteEnableFeaturesEXT));
- if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME)
- || gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME))
+ if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME)
+ || gpu.CheckPhysicalDeviceExtensionIncluded(VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceComputeShaderDerivativesFeaturesKHR));
if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceConditionalRenderingFeaturesEXT));
@@ -6656,8 +6655,8 @@ struct phys_device_features2_chain {
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceDepthBiasControlFeaturesEXT));
if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_DEPTH_CLAMP_CONTROL_EXTENSION_NAME))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceDepthClampControlFeaturesEXT));
- if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME)
- || gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME))
+ if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME)
+ || gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceDepthClampZeroOneFeaturesKHR));
if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceDepthClipControlFeaturesEXT));
@@ -6695,8 +6694,8 @@ struct phys_device_features2_chain {
if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME)
|| gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT));
- if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME)
- || gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME))
+ if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME)
+ || gpu.CheckPhysicalDeviceExtensionIncluded(VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceFragmentShaderBarycentricFeaturesKHR));
if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceFragmentShaderInterlockFeaturesEXT));
@@ -6732,8 +6731,8 @@ struct phys_device_features2_chain {
if ((gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME))
&& (gpu.api_version < VK_API_VERSION_1_2 || show_promoted_structs))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceImagelessFramebufferFeatures));
- if ((gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME)
- || gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_INDEX_TYPE_UINT8_EXTENSION_NAME))
+ if ((gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_INDEX_TYPE_UINT8_EXTENSION_NAME)
+ || gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME))
&& (gpu.api_version < VK_API_VERSION_1_4 || show_promoted_structs))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceIndexTypeUint8Features));
if ((gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME))
@@ -6743,8 +6742,8 @@ struct phys_device_features2_chain {
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceLegacyDitheringFeaturesEXT));
if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_LEGACY_VERTEX_ATTRIBUTES_EXTENSION_NAME))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceLegacyVertexAttributesFeaturesEXT));
- if ((gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME)
- || gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_LINE_RASTERIZATION_EXTENSION_NAME))
+ if ((gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_LINE_RASTERIZATION_EXTENSION_NAME)
+ || gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME))
&& (gpu.api_version < VK_API_VERSION_1_4 || show_promoted_structs))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceLineRasterizationFeatures));
if ((gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_MAINTENANCE_4_EXTENSION_NAME))
@@ -6813,8 +6812,8 @@ struct phys_device_features2_chain {
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDevicePresentId2FeaturesKHR));
if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_PRESENT_ID_EXTENSION_NAME))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDevicePresentIdFeaturesKHR));
- if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_PRESENT_MODE_FIFO_LATEST_READY_EXTENSION_NAME)
- || gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_PRESENT_MODE_FIFO_LATEST_READY_EXTENSION_NAME))
+ if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_PRESENT_MODE_FIFO_LATEST_READY_EXTENSION_NAME)
+ || gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_PRESENT_MODE_FIFO_LATEST_READY_EXTENSION_NAME))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR));
if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_PRESENT_WAIT_2_EXTENSION_NAME))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDevicePresentWait2FeaturesKHR));
@@ -6844,8 +6843,8 @@ struct phys_device_features2_chain {
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceRayTracingPipelineFeaturesKHR));
if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceRayTracingPositionFetchFeaturesKHR));
- if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_ROBUSTNESS_2_EXTENSION_NAME)
- || gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_ROBUSTNESS_2_EXTENSION_NAME))
+ if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_ROBUSTNESS_2_EXTENSION_NAME)
+ || gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_ROBUSTNESS_2_EXTENSION_NAME))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceRobustness2FeaturesKHR));
if ((gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME))
&& (gpu.api_version < VK_API_VERSION_1_1 || show_promoted_structs))
@@ -6920,8 +6919,8 @@ struct phys_device_features2_chain {
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceSubgroupSizeControlFeatures));
if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceSubpassMergeFeedbackFeaturesEXT));
- if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME)
- || gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME))
+ if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME)
+ || gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceSwapchainMaintenance1FeaturesKHR));
if ((gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME))
&& (gpu.api_version < VK_API_VERSION_1_3 || show_promoted_structs))
@@ -6944,8 +6943,8 @@ struct phys_device_features2_chain {
if ((gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME))
&& (gpu.api_version < VK_API_VERSION_1_1 || show_promoted_structs))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceVariablePointersFeatures));
- if ((gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME)
- || gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME))
+ if ((gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME)
+ || gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME))
&& (gpu.api_version < VK_API_VERSION_1_4 || show_promoted_structs))
chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceVertexAttributeDivisorFeatures));
if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_VERTEX_ATTRIBUTE_ROBUSTNESS_EXTENSION_NAME))
@@ -7212,7 +7211,7 @@ void chain_iterator_phys_device_features2(Printer &p, AppGpu &gpu, bool show_pro
}
if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES) {
const VkPhysicalDeviceGlobalPriorityQueryFeatures* props = (const VkPhysicalDeviceGlobalPriorityQueryFeatures*)structure;
- DumpVkPhysicalDeviceGlobalPriorityQueryFeatures(p, gpu.api_version >= VK_API_VERSION_1_4 ?"VkPhysicalDeviceGlobalPriorityQueryFeatures":"VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT", *props);
+ DumpVkPhysicalDeviceGlobalPriorityQueryFeatures(p, gpu.api_version >= VK_API_VERSION_1_4 ?"VkPhysicalDeviceGlobalPriorityQueryFeatures":"VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR", *props);
p.AddNewline();
}
if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT) {
@@ -7564,7 +7563,7 @@ void chain_iterator_phys_device_features2(Printer &p, AppGpu &gpu, bool show_pro
}
if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES) {
const VkPhysicalDeviceShaderFloat16Int8Features* props = (const VkPhysicalDeviceShaderFloat16Int8Features*)structure;
- DumpVkPhysicalDeviceShaderFloat16Int8Features(p, gpu.api_version >= VK_API_VERSION_1_2 ?"VkPhysicalDeviceShaderFloat16Int8Features":"VkPhysicalDeviceFloat16Int8FeaturesKHR", *props);
+ DumpVkPhysicalDeviceShaderFloat16Int8Features(p, gpu.api_version >= VK_API_VERSION_1_2 ?"VkPhysicalDeviceShaderFloat16Int8Features":"VkPhysicalDeviceShaderFloat16Int8FeaturesKHR", *props);
p.AddNewline();
}
if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT8_FEATURES_EXT) {
@@ -7699,7 +7698,7 @@ void chain_iterator_phys_device_features2(Printer &p, AppGpu &gpu, bool show_pro
}
if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES) {
const VkPhysicalDeviceVariablePointersFeatures* props = (const VkPhysicalDeviceVariablePointersFeatures*)structure;
- DumpVkPhysicalDeviceVariablePointersFeatures(p, gpu.api_version >= VK_API_VERSION_1_1 ?"VkPhysicalDeviceVariablePointersFeatures":"VkPhysicalDeviceVariablePointersFeaturesKHR", *props);
+ DumpVkPhysicalDeviceVariablePointersFeatures(p, gpu.api_version >= VK_API_VERSION_1_1 ?"VkPhysicalDeviceVariablePointersFeatures":"VkPhysicalDeviceVariablePointerFeatures", *props);
p.AddNewline();
}
if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES) {
@@ -7997,7 +7996,7 @@ void chain_iterator_queue_properties2(Printer &p, AppGpu &gpu, const void * plac
p.SetSubHeader();
if (structure->sType == VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES) {
const VkQueueFamilyGlobalPriorityProperties* props = (const VkQueueFamilyGlobalPriorityProperties*)structure;
- DumpVkQueueFamilyGlobalPriorityProperties(p, gpu.api_version >= VK_API_VERSION_1_4 ?"VkQueueFamilyGlobalPriorityProperties":"VkQueueFamilyGlobalPriorityPropertiesEXT", *props);
+ DumpVkQueueFamilyGlobalPriorityProperties(p, gpu.api_version >= VK_API_VERSION_1_4 ?"VkQueueFamilyGlobalPriorityProperties":"VkQueueFamilyGlobalPriorityPropertiesKHR", *props);
p.AddNewline();
}
if (structure->sType == VK_STRUCTURE_TYPE_QUEUE_FAMILY_OWNERSHIP_TRANSFER_PROPERTIES_KHR) {